coding for fun: why i still build useless things
func BuildUselessThing() Joy {
return Experiment().
WithoutPressure().
IgnoringBestPractices().
JustForFun()
}
“creativity is intelligence having fun.” - albert einstein
let’s be honest: most side projects are useless.
that’s not a bug. it’s the whole point.
years ago, i wrote about why i love coding useless things (read it here). spoiler: i still do. and i believe in it even more now.
here’s why it works:
- no deadlines killing creativity.
- no stakeholders second-guessing you.
- no perfectionism paralysis.
- just you, code, and pure experimentation.
this is how you actually grow.
when you code for yourself, all the noise disappears:
- no security audits.
- no architecture reviews.
- no framework debates.
- no “best practices” prison.
just you building whatever weird shit comes to mind.
graph TD
A[Freedom] --> B[Experimentation]
B --> C[Learning]
C --> D[Real Skills]
style D fill:#f96,stroke:#333,stroke-width:2px
here’s the magic: useless projects build real skills.
you solve problems you’d never touch at work. you explore tools you didn’t know existed. you find solutions no one expected.
and because you’re not trying to be “perfect”, you actually get better. faster.
this isn’t just about code. it’s about anything creative:
- want to master something? remove the pressure.
- want to innovate? give yourself permission to fail.
- want to grow? build useless things.
so yeah, i still code useless things.
every “pointless” line of code makes me better at the serious stuff. it’s like a cheat code for skill development.
stop waiting for the perfect project. build something weird. make it messy. learn along the way.
you’ll be surprised where it takes you.