Software Engineering · Full-Stack Development

Software Engineering

From programming fundamentals to production-grade applications. This roadmap covers front-end and back-end development, computer science foundations, and professional engineering practices.

TrackFoundations → Web → Professional → Career
LevelBeginner → Job-ready
OutcomeJunior Software Engineer

What you'll get

  • Strong CS fundamentals that transfer across languages and stacks.
  • Full-stack web skills with modern frameworks and databases.
  • Professional workflows: testing, Git, CI/CD, and clean code.
  • Portfolio and interview preparation to land your first role.

Skills you'll build

Learn to think like an engineer, build real applications, and work with the tools and practices used on professional software teams.

Python programming fundamentalsData structures & algorithmsObject-oriented design & SOLID principlesHTML, CSS, JavaScript & ReactREST APIs & back-end developmentSQL & NoSQL databasesTesting (unit, integration, E2E)Docker, CI/CD & deploymentSystem design fundamentalsPortfolio & interview readiness

Who this is for

Ideal for beginners, career switchers, and anyone who wants a structured path into software engineering.

Prerequisites

  • None required (basic computer literacy is helpful)

Tools you'll use

The modern stack you'll practice with from day one through deployment.

Python & JavaScript

Core languages for learning and building.

React & Node.js

Modern full-stack web development.

PostgreSQL & MongoDB

Relational and document data stores.

Git & GitHub

Version control and collaboration.

Docker & GitHub Actions

Containers and CI/CD pipelines.

VS Code

Your daily development environment.

Learning roadmap

Follow the phases in order — we keep the roadmap phase-based (no week labels) so you can move at your own pace.

Phase 1 — Programming Foundations

Beginner
  • Introduction to programming: variables, types, operators, conditionals, loops, functions
  • Problem solving: decomposition, pseudocode, debugging strategies
  • Python as a first language (recommended)
  • Tools: VS Code, terminal basics, Git (init/add/commit/push) and GitHub

Phase 2 — Core Computer Science

Foundations
  • Data structures: arrays, linked lists, stacks, queues, hash maps, trees, graphs (BFS/DFS)
  • Algorithms: sorting, binary search, recursion, dynamic programming basics
  • Big-O notation and complexity analysis
  • OOP: classes, inheritance, polymorphism, encapsulation
  • Design patterns: Singleton, Factory, Observer; SOLID principles

Phase 3 — Web Development

Full-stack
  • Front-end: HTML5, CSS3 (flexbox/grid/responsive), JavaScript, DOM, fetch API
  • React: components, state, hooks, React Router, Context/Redux basics, Tailwind CSS
  • Back-end: HTTP/REST, Node.js + Express or Python (FastAPI/Django)
  • Auth basics: JWT and OAuth; CRUD and RESTful API design
  • Databases: PostgreSQL + SQL design; MongoDB; ORMs (Prisma/SQLAlchemy)

Phase 4 — Professional Skills

Production
  • Testing: unit, integration, E2E; Jest, pytest; TDD basics
  • DevOps: Docker images/containers/Compose; CI/CD with GitHub Actions
  • Deployment: Vercel, Railway, Render; env vars and secrets
  • Engineering practices: PRs, branching (Git Flow/trunk-based), Agile/Scrum, documentation, clean code

Phase 5 — Specialisation

Advanced
  • Choose a track: Full-stack web, mobile (React Native), backend/APIs, DevOps/platform, or AI-assisted development
  • System design: scaling, load balancing, caching (Redis), queues/async processing, high availability
  • Apply patterns to real architectures and trade-offs

Phase 6 — Job Readiness

Career
  • Portfolio: 3–5 deployed projects, open-source contributions, technical writing
  • Interview prep: LeetCode practice, system design, behavioural (STAR method), mock interviews
  • Job search: CV/cover letters, LinkedIn, networking, offer negotiation

Specialisation tracks (Phase 5)

Go deeper in the direction that matches your goals — each track builds on the same core foundation.

Full-Stack Web

React + Node/Python + PostgreSQL + AWS

Mobile (React Native)

Expo, React Native, Firebase

Backend / APIs

Microservices, Docker, Kafka, gRPC

DevOps / Platform

Kubernetes, Terraform, Prometheus

AI-Assisted Dev

GitHub Copilot, Claude, LLM APIs

Portfolio projects

Build deployed, reviewable projects that demonstrate you can ship software end to end.

Full-stack CRUD app

  • REST API + database
  • Auth and deployed front-end

React SPA with routing

  • State management
  • Responsive UI with Tailwind

API + testing suite

  • Unit and integration tests
  • CI pipeline on GitHub Actions

Capstone portfolio project

  • End-to-end feature
  • README, docs, and demo deployment

Certifications & resources

Ready to start your software engineering journey?

Tell us your background and goals — we'll recommend where to start and your first portfolio project.

Ready to learn