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 20162017 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.

I wanted to be hired by a company as a Go developer. Despite being a proficient PHP/JavaScript developer and not having experience with Go except from personal projects. But, I was kind of tired of working with the same stack and I wanted to try something new.

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.