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.
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.
More lab tutorials:
- The stack I use to run this blog
- 8 good reasons to become a software developer
- SEO for developers writing blogs
- Review of the book The 4-Hour Work Week
- Build a lifestyle business
- Build your own platform
- As an indie maker, what kind of product should you build?
- Create your own job security
- Developers, learn marketing
- The freedom of a product business
- Generating value
- Have a purpose for your business
- The idea is nothing
- The niche
- Remote working for software developers
- Product / market fit
- The best podcasts for frontend developers
- Why should I create an email list?
- Disconnect time from money
- The scarcity principle applied to software products
- The social proof principle
- How I added Dark Mode to my website
- My notes on the Deep Work book
- The pros of using a boring stack
- How to estimate programming time
- On going independent as a developer
- How to learn how to learn
- Why interview questions for programming jobs are so difficult?
- Do I need a degree to be a programmer?
- Everyone can learn programming
- How to be productive
- How to get the real number of pageviews of a static site
- Have you filled a developer bucket today?
- How I record my videos
- All the software projects I made in the past
- Tutorial purgatory from the perspective of a tutorial maker
- Every developer should have a blog. Hereβs why, and how to stick with it
- Having a business mindset for developers
- How to write Unmaintainable Code
- What is Imposter Syndrome
- How to work from home without going crazy
- How I stopped worrying and learned to love the JavaScript ecosystem
- How I prototype a Web Page
- You should be the worst developer in your team
- How to start a blog using Hugo
- Write what you don't know
- How to block distractions using uBlock Origin
- Coding is an art
- I wrote 1 blog post every day for 2 years. Here's 5 things I learned about SEO
- Dealing with the fire
- On being a generalist
- The Developerβs Dilemma
- My plan for being hired as a Go developer. In 2017
- Productivity gains of using a Mac and an iOS device
- How to go from tutorials to your own project
- This is my little Digital Garden
- How to start freelancing as a developer
- Sharing the Journey Towards Building a Software Product Business
- Subfolder vs subdomain
- How I use text expanding to save time
- Software is a superpower
- I love books