Curated for this specific career level.
Level path
Software Engineer
Mid SE
Own features and services with solid implementation judgment across neighboring layers.
Concepts explicitly listed in this level.
Concepts span multiple tracks and layers.
Job description signalsTypical responsibilities↓
- Build and maintain production software using sound programming, design, testing, and debugging practices.
- Collaborate with product, design, QA, operations, and other engineers to ship reliable features.
- Participate in reviews, planning, incident follow-up, and continuous improvement of the codebase.
- Own features end to end from design through implementation, testing, release, and support.
- Make local technical tradeoffs and explain them clearly to teammates.
- Improve reliability, maintainability, and observability of the systems you touch.
- Collaborate with product, design, QA, operations, and adjacent engineering teams.
Track / layer masteryConcept coverage by layer↓
Software
35 concepts
Product
3 concepts
Operations
2 concepts
Software
121 concepts
Management
16 concepts
Operations
12 concepts
Product
8 concepts
Theory
3 concepts
Data
2 concepts
Learning scopeConcepts by learning area↓
Specific to this level
Concepts introduced by this level
Level concepts
Programming Foundations
Learn the basic building blocks used to express behavior in code.
Level concepts
Software Design
Structure code so it remains readable, testable, and maintainable as it grows.
Level concepts
Data & Persistence
Understand how applications store, retrieve, and protect durable state.
Level concepts
Architecture & Systems
Design systems that handle growth, latency, failure, and multiple communicating components.
Level concepts
Production Awareness
Know how software is built, deployed, observed, and recovered in production.
Cumulative level expectation
All concepts expected at this level
Inherited path
Coding Foundations
Developers begin by learning to translate requirements into working, readable code.
Inherited path
Developer Tooling
Daily development depends on version control, language tooling, static checks, and repeatable local workflows.
Inherited path
Testing & Debugging
A developer owns not only writing code, but proving that it behaves as intended.
Inherited path
Employment Basics
Technical candidates benefit from understanding who employs them, how they are paid, and which terms govern the working relationship.
Inherited path
Programming Foundations
Learn the basic building blocks used to express behavior in code.
Inherited path
Software Design
Structure code so it remains readable, testable, and maintainable as it grows.
Inherited path
Data & Persistence
Understand how applications store, retrieve, and protect durable state.
Inherited path
Architecture & Systems
Design systems that handle growth, latency, failure, and multiple communicating components.
Inherited path
Production Awareness
Know how software is built, deployed, observed, and recovered in production.
Inherited path
Application Design
Mid-level developers own complete features and make local design choices inside an established architecture.
Inherited path
Runtime & Data
Feature ownership requires practical knowledge of runtimes, memory management, and relational persistence.
Inherited path
Delivery & Collaboration
Professional development includes the complete implementation loop, not only editing source files.