Sign in with Google

Becoming a Software Engineer

A comprehensive, 3-pillar curriculum that takes learners from zero to mid-level software engineer. Covers the theoretical foundations of computer science, the practical craft of building software, and the professional skills that separate junior from senior engineers.

3 pillars31 courses815 concepts~900h estimated

What you'll learn

Foundations of Computer Science

~500h

The theoretical bedrock — algorithms, data structures, discrete math, architecture, operating systems, networking, databases, and computation theory. This knowledge hasn't fundamentally changed in 50+ years and forms the basis for everything else.

  • Networking Fundamentals(30 concepts)
  • Database Theory(30 concepts)
  • Algorithms(35 concepts)
  • Computer Architecture(25 concepts)
  • Discrete Mathematics for Computer Science(30 concepts)
  • Computational Thinking & Problem Solving(17 concepts)
  • Operating Systems(30 concepts)
  • Computation Theory(25 concepts)
  • Data Structures(35 concepts)
  • Programming Fundamentals(30 concepts)

Applied Software Engineering

~650h

The practical craft of building software — programming languages, web development, APIs, databases, testing, version control, CI/CD, DevOps, cloud infrastructure, security, mobile, and architecture patterns. Tools evolve; the practices endure.

  • APIs and Integration(25 concepts)
  • Version Control and Collaboration(20 concepts)
  • JavaScript and TypeScript(30 concepts)
  • Web Backend Development(25 concepts)
  • Mobile Development(25 concepts)
  • Security Fundamentals(25 concepts)
  • Databases in Practice(25 concepts)
  • DevOps and CI/CD(30 concepts)
  • Web Frontend Development(35 concepts)
  • Python Programming(30 concepts)
  • Cloud Infrastructure(25 concepts)
  • System Architecture Patterns(30 concepts)
  • Testing and Quality Assurance(25 concepts)

Professional Engineering & Career Mastery

~265h

The human side of engineering — system design, debugging methodology, technical communication, agile processes, code review, open source, career progression, and ethics. What separates junior from senior.

  • System Design(25 concepts)
  • Career Progression(25 concepts)
  • Engineering Ethics(20 concepts)
  • Agile and Team Processes(25 concepts)
  • Debugging and Troubleshooting(19 concepts)
  • Code Review and Engineering Craft(25 concepts)
  • Open Source Contribution(19 concepts)
  • Technical Communication(20 concepts)

Ready to start learning?

Sign up for free and start progressing through this roadmap with AI-powered lessons.

Get Started Free