Embarking on My Backend Developer Journey: Learning, Growing, and Innovating
How I'm starting with a new programming language after 5 years of professional experience
Hello everyone! I'm Umang, a backend developer with a passion for continuous learning and exploring new technologies. In this blog, I’ll be sharing my journey as I delve into various areas of software development, from backend frameworks to cloud infrastructure. This post will outline my learning roadmap and the exciting topics I plan to cover in the coming months.
Why This Blog?
As developers, we often find ourselves navigating through a sea of new tools, languages, and frameworks. Keeping up with the latest trends can be challenging, but it’s also incredibly rewarding. I started this blog to document my learning process, share insights, and hopefully help others who are on a similar path.
The Roadmap:
Here’s a sneak peek into the topics I plan to explore and write about:
Go (Golang):
Go is known for its simplicity and performance, making it an ideal language for backend development. I plan to dive deep into Go, by learning from the following resources :
All of these are paid resources and I want to go in this order. I prefer looking at text rather than videos. There is also another book, but I'll take this up later: Go in Action. After this is done, I'll learn about the web framework in Go, first in plain go, and then some framework like gin or go-chi
Database & Integration with Golang Framework
Efficiently managing data and integrating databases with backend frameworks is a critical skill for any backend developer. In this section, I will cover:
Introduction to relational and NoSQL databases
Using SQL databases like PostgreSQL with Go
Introduction to ORMs (Object-Relational Mappers) in Go, such as GORM
Performing CRUD operations and writing optimized queries
Best practices for database schema design
Handling database transactions and migrations
Integrating Go applications with various data stores (Redis, MongoDB, etc.)
Ensuring data integrity and security
System Design
System design skills are essential for creating scalable and robust applications. I will be exploring:
Principles of system design
Designing scalable systems
Case studies of well-known architectures
Hands-on design exercises
For this I'll focus on online resources, both free and paid ones and a couple of books, mainly Designing Data Intensive Applications
Data Structures and Algorithms (DSA)
Understanding data structures and algorithms is crucial for solving complex problems efficiently. And this will also prepare for job interviews.
Kubernetes
Kubernetes has become the de facto standard for container orchestration. My learning will include:
Core concepts of Kubernetes
Deploying and managing applications
Scaling and auto-scaling applications
Monitoring and logging
Conclusion
This roadmap is just the beginning of an exciting journey. I believe that sharing knowledge and learning from others is a fundamental part of our growth as developers. I invite you to join me on this adventure, share your thoughts, and contribute your insights. Stay tuned for my first deep dive into the world of Go!
Happy coding!
Umang Sharma