Post

My Roadmap to Become a Backend Developer - Keep Updating...

This post documents my journey into backend web developer as I focus on mastering Python programming, databases, and key backend modules. Along the way, I'll share the tutorials and resources I'm using, as well as the skills and insights I gain. Whether you're just starting or looking to strengthen your backend development skills, I hope my experiences and progress will inspire and provide helpful guidance on the path to becoming a backend developer.

Introduction

What is Backend Development?

Backend development refers to the sever-side of web development, where the primary focus is on managing the logic, databases, and APIs that power web applications. It encompasses tasks such as user authentication, authorization, and handling requests, typically using languages like Python, Java, Ruby, PHP, JavaScripts(Node.js), or .NET. The goal of backend development is to ensure smooth data flow and communication between the server, database, and frontend.

What Does a Backend Developer Do?

A backend developer is responsible for building and maintaining the sever-side architecture of web applications. This involves creating and managing APIs, handling database interactions, and ensuring that the backend can handle high traffic loads efficiently. Their duties also include integrating external services like payment systems or cloud platforms, while continuously improving performance and scalability. Backend developers paly a critical role in securing and processing data, serving as the backbone that support front teams in delivering seamless, responsive user experiences.

Frontend

Although my goal is to become a backend developer, mastering basic frontend knowledge is essential for serval reason. While backend developers primarily focus on sever-side logic, databases, and APIs, understanding the fronted is crucial for ensuring seamless integration between the client and server.

What is Frontend Development?

Frontend development is the client-side aspect of web development, responsible for everything users see and interact with on a website or web application. It involves the use of technologies like: HTML(Hypertext Markup Language), CSS(Cascading Style Sheets), and JavaScript.

HTML

CSS & SCSS

JavaScript

npm (Node Package Manager)

Internet Technology

Computer Science

Program Language

Python

Django

Version Control System

Git

GitHub

Data Structure & Algorithms

Databases

Relational

  • Data is stored in tables with rows & columns
  • Best for apps that require complex queries & transactions
  • Banking systems, Ecommerce apps
  • Apps that require complex reporting
  • Most popular: PostgreSQL, MySQL, SQL Server, and Oracle

Non-Relational

  • Data is stored without a predefined table structure
  • Best for apps that require flexible data models & real-time analytics
  • Most popular: MongoDB

SQL

PostgreSQL

MySQL

Design Patterns

  • Proven solutions to common design problems.

  • There are 23 classic design patterns: 1. Strategy 2. Decorator 3. Factory Method 4. Observer 5. Chain of Responsibility 6. Singleton 7. Flyweight 8. Adapter 9. Facade 10. Template 11. Builder 12. Iterator 13. Composite 14. Command 15. Mediator 16. State 17. Proxy 18. Abstract Factory 19. Bridge 20. Interpreter 21. Memento 22. Prototype 23 Visitor.

  • Helps us understand object-oriented design principles & web frameworks.

Backend Concepts

APIs

Caching

Web Security

Testing

Containerization & Visualization

Cloud Platforms

This post is licensed under CC BY 4.0 by the author.