Technology
Software Engineer.
Software engineers turn product and business requirements into reliable applications, services, and technical systems. The work blends programming, debugging, design tradeoffs, collaboration, testing, and continuous learning.
Median time
13
8–18 months
Nodes
32
8 phases
Proof artifacts
3
portfolio-worthy
Hours est.
~200
across the path
What people in this role actually do
Designs, builds, tests, and maintains software systems used by people and businesses.
A typical week mixes deep focus with collaboration — the hardest cognitive work up front, and coordination, reviews, and planning around it.
Skills you'll build
8 core competencies, ranked by importance
Programming fundamentals
Programming fundamentals applied to Software Engineer work, including practical judgment, communication, and quality expectations.
Debugging
Debugging applied to Software Engineer work, including practical judgment, communication, and quality expectations.
Web architecture
Web architecture applied to Software Engineer work, including practical judgment, communication, and quality expectations.
Databases
Databases applied to Software Engineer work, including practical judgment, communication, and quality expectations.
Git collaboration
Git collaboration applied to Software Engineer work, including practical judgment, communication, and quality expectations.
Automated testing
Automated testing applied to Software Engineer work, including practical judgment, communication, and quality expectations.
Deployment
Deployment applied to Software Engineer work, including practical judgment, communication, and quality expectations.
System design basics
System design basics applied to Software Engineer work, including practical judgment, communication, and quality expectations.
Tools of the trade
Career progression
Typical titles, not the only path
Step 1
Junior Engineer
Step 2
Software Engineer
Step 3
Senior Engineer
Step 4
Staff or Engineering Manager
Proof-of-skill projects
Portfolio artifacts that prove the skill
Full-stack task tracker
Build a CRUD app with auth-like flows, filtering, validation, tests, and deployment notes.
API-backed feature sprint
Add a small feature to an existing codebase, including a data model, API route, and tests.
Bug-fix and observability report
Reproduce a defect, write a failing test, fix it, and document the root cause.