Published
Exploring the backend
After 3 years of studying frontend development, I decided to make a slight change in my specialization by starting learning backend stuff. Although I have some experience with databases, creating APIs and working with Node.js, I want to dive deeper into the backend world.
Current progress
During the last month I was exploring Golang: which is a completely new language to me. I was surprised with the standard library capabilities and the performance of the language. By learning about the basic concepts of Go, as well as creating a few backend applications, I feel like my expertise has grown significantly. Oh, by the way, I highly recommend the “Let’s Go” and “Let’s Go Further” books by Alex Edwards. It’s a great resource to start learning backend development with Go.
I gained knowledge about many topics, to name a few:
- Deep dive into HTTP headers
- Serving static files
- Working with databases, both MySQL and PostgreSQL
- Dynamic HTML templating
- Using stateless vs stateful tokens for authentication
- … and many more
Unfortunately, by looking at job offers in my area, I noticed that there are not many companies looking for Go developers. That’s why I decided to learn focus more on the Node.js. I absolutetly do not regret my time spent with Go, as I learned a lot of new concepts and familiarized myself with a new language, which is always a good thing. Maybe in the future I will have a chance to work with Go professionally.
Next steps
My plan is to learn more about Node.js and its ecosystem by creating some projects with it. As I said, I’m not a complete backend beginner, but because of that it’s even harder to find a good learning plan. For now, I think I’m going to focus on the following topics:
- Exploring Express.js with further plans to learn Nest.js
- Implement own Auth (JWT, Sessions)
- Websockets, Real Time Communication
- Set up a database migration system
- Dive more into backend architecture
- Some Systems Design
- Docker
- CI/CD: GitHub Actions, Making a deployment to a VPS on pushing to the repo
- Linux and VPS skills: Nginx, Caddy. Probably will try to deploy a node app on a VPS
Sounds like a lot, and that’s probably true. Well, small steps, you know?
Of course I’m going to continue writing frontend, in fact I’m working on a new project right now. But I feel like it’s a good idea to have a broader knowledge about the backend, as it can be very helpful in the future. Nowadays it’s very common to see fullstack developers, and I think it’s a good direction for me to go.