Embarking on My Backend Developer Journey: Learning, Growing, and Innovating

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:

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

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

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

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

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