There's a particular kind of advert that follows you once you start learning to code. The bootcamp that costs as much as a used car. The course bundle, "normally $1,200, today only $12." After a few months of it, you start to believe a story: learning to code is expensive, and if you're not spending money, you're not serious.
So this weekend I sat down and added up everything I actually spent on learning to code this year. Every subscription, every book, every domain, every tool. The total surprised me — not because it was big, but because of how small it was.
The honest shape of the spending
Most of my learning this year cost exactly $0.
The documentation was free. The tutorials were free. The practice problems were free. The communities where I asked dumb questions at 1am were free. The free tiers of the tools I use every day — the editor, the version control, the hosting for practice projects — free, with limits I never once hit as a learner.
That's not a cherry-picked list. That's just what learning to code looks like now. The best material for a beginner isn't locked behind a paywall; it's the official docs, written by the people who built the thing, plus a handful of free courses that are genuinely good. The catch is that free material doesn't hold your hand, and hand-holding is what people are actually paying for.
The money I did spend
It was small, and it was specific. A domain name, because I wanted a personal site with my own name on it instead of a subdomain — the kind of thing that costs about as much as two takeaway meals for a year, and which I absolutely did not need in order to learn anything. One cheap second-hand programming book, bought because I liked the idea of reading away from a screen. And one month of one tool, a paid tier I tried for a few weeks and then cancelled when I realised the free tier did everything I needed.
Under $50 for the year, and most of that was a domain I didn't need.
The money was never the barrier. The barrier was something else entirely, and it's the thing nobody puts a price on because you can't buy your way past it.
The expensive part was time
I spent hundreds of hours this year. Hours after classes, hours on weekends, hours debugging a problem that turned out to be a missing colon. Hours re-reading the same chapter because the concept slid off my brain the first three times. Hours on projects I abandoned and code I wrote, deleted, and wrote again slightly less wrong.
That's the real cost, and it's the one the adverts never mention, because they can't sell you a shortcut past it. No course, however expensive, does the hours for you. A $1,200 bootcamp doesn't debug at 1am on your behalf. The money just buys structure and a deadline and someone to ask — all useful, none of them a substitute for sitting down and doing the work.
And here's the uncomfortable part: spending money can make the time problem worse. The moment you've paid for something, there's a temptation to believe the payment was the work. I bought the book. I subscribed to the platform. I'm a person who learns to code now. Except the book sits unopened and the platform sends you a "we miss you" email, and the only thing that moved was money from your account to theirs.
A framework, if you want to audit your own year
If you do the same audit, I'd sort your spending into three piles and be honest about each one.
Pile one: things that taught you something you couldn't have got for free. Most paid material has a free equivalent that's 90% as good, and the 10% is usually production value, not knowledge.
Pile two: things that bought you structure — a deadline, a cohort, accountability. The legitimate reason to pay.
Pile three: things you bought to feel like a learner. The domain, the fancy notebook, the third course on the same topic. No judgement — I've got a domain in pile three myself — but count it separately, because it's not education spending. It's shopping.
My total for the year: under $50, mostly pile three. The hours I stopped counting — but those hours are the only spending that ever moved me forward.
If you're starting out and the adverts have you convinced you need to spend serious money to be serious — you don't. Spend the hours. Most of the money will turn out to be optional.


