I know, it’s 2020, but as I was doing some spring cleanup on my computer, I stumbled on a mind map from 2017.
According to those notes, back in 2016⁄2017 I had a goal: becoming an employee. Getting a stable, well paying job instead of being a contractor and working on countless side projects that never seemed to take off to a profitable business.
Today this idea sounds crazy to me, because
1) I’ve never been an employee 2) At the time, I had been a freelancer/contractor for almost 10 years (now it’s 13+ years) 3) The idea of not working on my own projects is hard for me to believe
But it might be interesting to you to see how I planned to go from no knowledge of Go to be employed at a company as a Go developer, in a timespan of a couple months.
I bought the definitive book about Go: The Go Programming Language by Donovan and Kernighan. Yes, the same Kernighan from the famous The C Programming Language K&R book.
The book is incredible and recommended, by the way.
I went through each chapter diligently for a month. Every day I learned something new and I summarized my notes in blog posts.
I published blog posts every day, some days even more than one.
I worked on algorithms and little projects on those algorithms platforms.
I started my own project. It was a good idea. I still think it is. It was a Web application that interacted with GitHub, with the goal of helping visualize how a project progressed over time.
I built it using Go, and it was a great learning process.
When you work on a project you’re excited about, learning things is way easier than learning things because you’re asked to, like in school.
I read other people’s code on GitHub. I spent days on the Go forums, trying to understand what people were writing.
I looked at the popular projects built in Go (Docker, Kubernetes, and more).
I followed every major “influencer” in the Go world, every notable Twitter account on the subject.
I subscribed to all the Go mailing lists I could find.
I subscribed to every podcast on Go, and all the YouTube channels I could find.
In short, I was living and breathing Go all day long.
From early morning to late evening.
It was a good plan.
It kinda worked out, because I got at late stages in several interview processes.
It didn’t work out, meaning I wasn’t hired by an employer, for 1 reason: I didn’t really want to be an employee.
The drive for freedom and independence and building my own business was too strong, and my transformation from freelance/contractor/independent to an employee failed.
In retrospect, I am happy about it.
And probably I would have failed to be an employee, long term.
I still know Go, and I am really happy I spent all that time and effort to learn it.
It made me a better developer, for sure.