This is my personal answer to this HN thread.
The timing of this question couldn't be better, since I've recently worked on my experience page and already reviewed some of my most important decisions during my whole career.
I think I can remind a 3 most important / best decisions ever:
#1 Starting from freelancing
Most people I've met suggests to start working as a programmer at some corporation (learn how things work in big company and work rather in no haste since everything has its procedures etc.) or startup (you're gonna learn a lot in short amount of time).
Personally, I've started my career with going freelance. And guess what? I think that was one of the best decisions in my life! I've started working as an independent developer, delivering stuff directly to my clients. Sure, it was stressful but also satisfying as hell! And don't get me wrong - I was not working in B2B / contract manner - I was working as a one-man-band agency institution (so I had to find clients on my own). It was very challenging, especially because I was learning basically everything during the process - not only programming but even how to deal with clients, marketing etc.
But thanks to that phase of my life I've learnt how to work as a web developer, designer, project manager, company owner and consultant. That gave me wider spectrum how everything works and humility. I have also noticed that I communicate way easier with other non-dev colleagues at work - maybe because I understand how their work looks like.
#2 keeping freelancing in free time
It's easy to notice which programmer code some extra stuff at home and who don't. Treating programming as a hobby besides work helps to constantly improve as a developer and makes you a badass one with lots of hidden experience (like reaction of your colleagues: Whaaat? How did you do that? Thought that nobody has done anything like this before! (yeah, I did not - at least not at work really)).
I tend do do some extra freelance work when I was starting to get bored at the workplace - don't get me wrong I've never do my personal projects while working at full-time job - only on free time. Most projects at 9-to-5 places are exciting during first year of development - and for example making then a 100th CRUD view is not exciting at all - that's why I've done some side stuff on side, to avoid burnout effect.
At some point in my career I was trying to become a Ruby On Rails developer. Fortunately, during my phase as a junior dev I've realised that working exclusively on the back-end side doesn't suit me at all.
I decided to focus on the front-end side of web development, but this time focus on programming only and leave designing part for more experienced people in that field :)