Understand the systems behind software.
Explore software engineering concepts, design patterns, architecture and system design through structured explanations and practical implementations.
Engineering Knowledge
Explore the foundations
Software Architecture
Understand how large software systems are structured.
Design Patterns
Explore reusable solutions to recurring design problems.
System Design
Learn scalability, reliability and distributed systems.
The Engineering Mindset
Don't just learn how to build software. Understand why it works.
Knowledge Library
Featured concepts
Explore essential ideas, principles and patterns in software engineering.
Software Architecture
Understand how a system's major parts are organised, how they collaborate, and how architectural decisions influence quality attributes throughout the software lifecycle.
Requirements Engineering
Translate user needs into explicit functional behavior, measurable quality goals, constraints and assumptions that can guide design and verification.
Quality Attributes in System Design
Understand availability, reliability, performance, scalability, security and the trade-offs that determine whether a system is fit for its workload.
Scalability
Explore vertical and horizontal scaling, stateless application design, database bottlenecks, indexing, connection pooling, replicas, partitioning and sharding.
Structured learning
Choose your learning path.
Follow a structured sequence of topics and progressively build your engineering knowledge.
Software Engineering Roadmap
6–12 monthsA structured path from programming fundamentals through object-oriented design, software architecture, backend development, testing and delivery.
Explore roadmap →
System Design Roadmap
3–6 monthsProgress from requirements and quality attributes to scalable application architecture, load balancing, caching and database design.
Explore roadmap →
Practical engineering
Learn by building
Explore projects that connect engineerng principles with real implementations.
Production Grade Task Management API
A backend engineering learning project that brings together REST API design, authentication, project and task workflows, persistence, caching, load balancing, containerisation and observability.
Explore project →
Full-Stack DevelopmentGroceryApp — Online Grocery Ordering Platform
A full-stack grocery application with a React client and an Express/TypeScript backend, covering product data, identity, addresses, orders, delivery workflows, media uploads and payment integration.
Explore project →
Full-Stack DevelopmentLearning Management System (LMS)
A full-stack learning platform repository with a React/Vite client and an Express backend, integrating Clerk authentication, MongoDB through Mongoose, Cloudinary and Stripe.
Explore project →
Systems ProgrammingJEditor — Terminal-Based Text Editor
A Java terminal text editor with document editing, cursor navigation, viewport management, search, dialogs, command-line options and terminal rendering.
Explore project →
Explore the Knowledge Hub
Engineering starts with understanding.
Explore the core areas of software engineering from architectural principles to real-world implementations.
Software Architecture
Explore architectural styles, system boundaries and design decisions
Explore →🧩Design Patterns
Understand creational, structural design patterns
Explore →⚙️System Design
Learn caching, databases, scalability, load balancing and reliability.
Explore →💻Development Projects
Connect engineering concepts with practical software implementations.
Explore →How to learn
From fundamentals to practical engineering.
Build your understanding progressively. Start with concepts, follow structured roadmaps, and apply what you learn through projects.
Undetstand
Learn the fundamentals and the reasoning behind engineering decisions.
Explore
Connect related concepts, patterns and architectural approaches.
Implement
Apply our knowledge through practical projects and examples.
Start exploring
Build a deeper understanding of software engineering.
Explore the concepts, discover the architecture and put your engineering knowledge into practice.
Start learning →