Tech & Software90 DaysBeginner

Beginner Backend Engineering Roadmap

This 90-day roadmap guides beginners through the fundamentals of backend engineering, starting with Python programming, web essentials, databases, and culminating in building and deploying RESTful APIs.

Curated by@peteriishakverified
  1. Phase 1

    Phase 1: Python Fundamentals

    Days 1-9

    Master the core syntax and basic programming constructs of Python.

    Learn

    • Introduction to Programming & Python
    • Variables, Data Types (Integers, Floats, Strings, Booleans)
    • Operators (Arithmetic, Comparison, Logical)
    • Control Flow (if/elif/else statements, for/while loops)
    • Functions: Definition, Parameters, Return Values
    • Basic Input/Output

    Practice & build

    • Write Python scripts for basic calculations (e.g., a tip calculator)
    • Implement a 'Guess the Number' game
    • Create functions for common tasks (e.g., checking if a number is prime)

    Milestone

    Successfully write a Python script that uses conditional logic and loops to solve a simple problem.

  2. Phase 2

    Phase 2: Advanced Python & Data Structures

    Days 10-18

    Gain proficiency in essential Python data structures and object-oriented programming (OOP) concepts.

    Learn

    • Lists: Manipulation, Comprehensions
    • Tuples, Dictionaries, Sets: Usage and Operations
    • Error Handling (try-except blocks)
    • Object-Oriented Programming (OOP) Introduction: Classes, Objects, Attributes, Methods
    • Modules and Packages: Organizing Code
    • File I/O (Reading and Writing Files)

    Practice & build

    • Build a simple contact manager using dictionaries
    • Implement a basic class (e.g., a 'Book' class with attributes like title, author)
    • Create a script that reads data from a CSV file and processes it

    Milestone

    Develop a small object-oriented program that uses multiple data structures and handles potential errors.

  3. Phase 3

    Phase 3: Web Fundamentals & HTTP

    Days 19-27

    Understand how the web works, the client-server model, and the HTTP protocol.

    Learn

    • The Client-Server Model
    • Introduction to the Internet, World Wide Web, and Browsers
    • HTTP Protocol: Requests, Responses, Methods (GET, POST, PUT, DELETE)
    • HTTP Status Codes (2xx, 4xx, 5xx)
    • Headers and URLs
    • Introduction to APIs: What they are and why they're used

    Practice & build

    • Use browser developer tools to inspect HTTP requests and responses
    • Interact with public APIs (e.g., GitHub API, OpenWeatherMap) using tools like Postman or 'curl'
    • Describe the journey of a request from a browser to a server and back

    Milestone

    Clearly explain the fundamentals of HTTP and differentiate between various HTTP methods and status codes.

  4. Phase 4

    Phase 4: Database Fundamentals (SQL)

    Days 28-36

    Learn the basics of relational databases and perform essential operations using SQL.

    Learn

    • What is a Database? Relational vs. Non-Relational (brief overview)
    • Introduction to SQL (Structured Query Language)
    • Database Schema Design: Tables, Columns, Data Types
    • Primary Keys and Foreign Keys
    • CRUD Operations with SQL: SELECT, INSERT, UPDATE, DELETE
    • Setting up and using SQLite

    Practice & build

    • Design a simple database schema for a blog or e-commerce site
    • Create an SQLite database and tables
    • Practice inserting, updating, deleting, and querying data using SQL commands

    Milestone

    Successfully create a relational database, design its schema, and perform all CRUD operations using SQL queries.

  5. Phase 5

    Phase 5: Review & Catch-up

    Days 37-45
    Buffer phase — time to catch up

    Consolidate learning from previous phases, address challenging concepts, and reinforce foundational knowledge.

    Learn

    • Review of Python programming (syntax, data structures, OOP)
    • Review of HTTP concepts and API interactions
    • Review of SQL and database operations
    • Troubleshooting common beginner issues

    Practice & build

    • Revisit any difficult exercises or concepts from the past four phases
    • Work on a small integrated project combining Python scripts, making HTTP requests, and storing data in SQLite
    • Explore advanced features of previously covered topics

    Milestone

    Demonstrate a solid understanding of all foundational concepts by successfully completing a comprehensive review exercise.

  6. Phase 6

    Phase 6: Introduction to Web Frameworks (Flask)

    Days 46-54

    Build basic web applications using a Python web framework, specifically Flask.

    Learn

    • What is a Web Framework? (MVC/MTV pattern overview)
    • Introduction to Flask: Installation, App Structure
    • Routes and View Functions
    • Jinja2 Templating Engine: Rendering HTML, Passing Data
    • Handling HTTP Requests and Form Submissions
    • Static Files (CSS, JS)

    Practice & build

    • Create a 'Hello World' Flask application
    • Build a simple webpage that displays dynamic data using templates
    • Develop a basic web application that handles form submissions (e.g., a simple feedback form)

    Milestone

    Create and run a functional Flask web application that renders dynamic content and processes user input from a form.

  7. Phase 7

    Phase 7: Building RESTful APIs with Flask

    Days 55-63

    Develop robust RESTful APIs using Flask and integrate them with a database.

    Learn

    • RESTful API Design Principles
    • JSON (JavaScript Object Notation): Serialization and Deserialization
    • Integrating Flask with a Database (e.g., SQLAlchemy for ORM)
    • Implementing API Endpoints for CRUD Operations
    • Handling Request Bodies and Query Parameters
    • Response Formatting and Error Handling in APIs

    Practice & build

    • Build a RESTful API for a simple resource (e.g., a 'Books' API with endpoints for GET, POST, PUT, DELETE)
    • Use Postman or similar tools to test API endpoints thoroughly
    • Connect the Flask application to an SQLite database using SQLAlchemy

    Milestone

    Develop a complete RESTful API with Flask and a database, capable of performing all CRUD operations on a resource.

  8. Phase 8

    Phase 8: Authentication & Authorization

    Days 64-72

    Implement user authentication and secure API endpoints to control access.

    Learn

    • User Registration and Login Flows
    • Password Hashing (e.g., using `werkzeug.security`)
    • Session-Based Authentication vs. Token-Based Authentication (JWT introduction)
    • Implementing JWT (JSON Web Tokens) for API Security
    • Protecting Routes with Authentication Middleware/Decorators
    • Basic Authorization Concepts (Roles, Permissions)

    Practice & build

    • Add user registration and login functionality to your existing API
    • Implement password hashing for secure storage of user credentials
    • Secure specific API endpoints using JWT authentication, requiring a valid token for access

    Milestone

    Successfully implement user authentication and protect at least one API endpoint using JWT.

  9. Phase 9

    Phase 9: Deployment Basics & Caching

    Days 73-81

    Prepare backend applications for deployment and understand basic performance optimization techniques.

    Learn

    • Environment Variables for Configuration
    • Containerization Introduction (Docker Basics)
    • Deploying Flask Applications (e.g., to Heroku, or basic AWS EC2 setup)
    • Introduction to Web Servers (Gunicorn) and Reverse Proxies (Nginx)
    • Caching Concepts (e.g., using Redis for simple data caching)
    • Logging and Monitoring Basics

    Practice & build

    • Containerize your Flask API using Docker
    • Deploy your API to a free tier cloud platform (e.g., Heroku)
    • Implement basic application logging
    • Explore basic caching for frequently accessed data

    Milestone

    Successfully deploy your Flask API to a cloud service and demonstrate basic Docker knowledge and logging.

  10. Phase 10

    Phase 10: Final Project & Next Steps

    Days 82-90

    Consolidate all learned knowledge into a comprehensive final project and identify future learning paths.

    Learn

    • Review of Backend Best Practices
    • Microservices Architecture (brief intro)
    • Message Queues (e.g., Celery, RabbitMQ - brief intro)
    • Choosing Your Next Framework/Language (e.g., Django, Node.js, Go)
    • Further Cloud Services (AWS, GCP, Azure)
    • Advanced Database Concepts (NoSQL, Database Optimization)

    Practice & build

    • Build a more complex backend application (e.g., a simple blog API with comments, or an e-commerce product catalog)
    • Document your API thoroughly using tools like Swagger/OpenAPI (basic config)
    • Consider integrating a simple frontend to interact with your backend
    • Research and plan your next learning steps in backend development

    Milestone

    Complete and present a significant backend project that demonstrates proficiency in API development, database integration, and security.

Want one built around you?

Turn any learning goal into a clear, actionable plan in seconds.

Create your roadmap