As the title says, I have started learning Go.
The reason behind the decision is pretty simple. After working with JavaScript for almost 2 years now, building around 20-30 projects and delivering several freelance projects to clients, mostly using the JS/TS stack with frameworks like Next.js, React, Express, NestJS etc, I have started feeling like I need to go deeper into backend engineering.
The JS ecosystem is huge and I still enjoy working with it. I will continue writing a lot of JavaScript and especially a lot of Next.js. But at the same time, the market is heavily saturated and more and more people are jumping into it every day.
Now if you actually look closely, a lot of people either have very surface level knowledge of the technologies they use or they vibe code most of the things they build. Not saying that's a bad thing because honestly that's just where the industry is moving, but it is what it is.
For me, I wanted to get a bit of an edge and more importantly understand backend systems better.
That's where Go comes in.
One of the reasons is that it's strictly typed and all that, but honestly one of the biggest reasons is that I want to deep dive into backend engineering, databases, networking and distributed systems. I feel Go will help me do that better than staying purely in the JavaScript ecosystem.
Going forward I will probably build most of my backend projects in Go. I want to get into things like queueing systems, load balancing, concurrency, writing pure HTTP servers and understanding how these systems actually work under the hood.
I think modern JS frameworks do a lot of heavy lifting and provide a ton of abstractions, which is great for productivity, but I also want to understand what's happening beneath those abstractions.
So yeah, this isn't me leaving JavaScript behind. It's more like expanding my toolkit and going deeper into backend focused engineering.
Let's see where this journey goes.
