Summary
Focus on designing, implementing, testing, reviewing, and maintaining software systems while developing core engineering capabilities.
Highlights
Comprehensive software engineering learning path covering essential programming and software development skills.
Description
← All career guides
Software development
Software Engineer
Designs, implements, tests, reviews, and evolves maintainable software systems.
Find relevant jobs→Print learning guideOpen Hitchhiker's guide→
Skill coverage
100%
8 of 8 skills
Course coverage
75%
38 of 51 courses
Skill coverage shows how much of the role's capability map already has a published course.
Course coverage shows how much of the mapped course pipeline for this role has shipped.
Role skills 8
Published coverage 8
Relevant courses 38
Capability map
Skills
Importance describes how central each capability is to the role.
Course coverage shows where you can build the skill in the current OpenSkills catalog.
01
Software construction
4 capabilities
Programming
Importance: Essential (5 of 5)
Implements correct programs using appropriate language constructs and paradigms.
Course coverage
Programming FundamentalsSoftware Engineering FundamentalsC ProgrammingFreeC# ProgrammingC++ ProgrammingDart FundamentalsDeclarative ProgrammingElixir FundamentalsGo FundamentalsHaskell FundamentalsJava FundamentalsKotlin FundamentalsLua FundamentalsObject-Oriented ProgrammingPHP FundamentalsTypeScript FundamentalsFunctional Programming, JavaScript Fundamentals, Python Application Development, Ruby Fundamentals, Rust Fundamentals, Scala Fundamentals, Swift Fundamentals (planned)Algorithms and data structures
Importance: Essential (5 of 5)
Selects data structures and algorithms with understood complexity.
Course coverage
Algorithms FundamentalsFreeData Structures FundamentalsClean ArchitectureDesign PatternsSoftware design
Importance: Essential (5 of 5)
Applies modularity, abstraction, patterns, and architectural boundaries.
Course coverage
Software Design PrinciplesSoftware Architecture FundamentalsError Handling, Legacy Software Modernization, Refactoring, SDK Design (planned)Debugging
Importance: Essential (5 of 5)
Isolates and corrects defects using evidence and reproducible techniques.
Course coverage
Debugging TechniquesConcurrent ProgrammingSoftware Profiling (planned)
02
Engineering practice
4 capabilities
Testing
Importance: Essential (5 of 5)
Uses layered automated tests to provide fast and credible feedback.
Course coverage
Software Testing FundamentalsUnit and Integration TestingVersion control and review
Importance: Essential (5 of 5)
Collaborates through source control and effective code review.
Course coverage
Code ReviewAdvanced Git WorkflowsOpen Source Software DevelopmentTrunk-Based DevelopmentVersion Control Fundamentals (planned)Software delivery
Importance: Very important (4 of 5)
Integrates, packages, and releases software through repeatable pipelines.
Course coverage
Continuous IntegrationFreeJenkins FundamentalsAI-assisted development
Importance: Very important (4 of 5)
Uses AI coding assistants and agentic tools to accelerate development while verifying and owning their output.
Course coverage
Claude CodeCursorGitHub CopilotGooseOpenAI Codex CLIWindsurf
Learning path
Relevant courses
Print all introsPrint all cheatsheets
Core foundations
The concepts this role is built on.
Algorithms FundamentalsFreeCode ReviewData Structures FundamentalsDebugging TechniquesProgramming FundamentalsSoftware Design PrinciplesSoftware Engineering FundamentalsSoftware Testing FundamentalsUnit and Integration TestingVersion Control Fundamentals (planned)
Supporting knowledge
Adjacent knowledge that improves day-to-day judgment.
Advanced Git WorkflowsC ProgrammingFreeC# ProgrammingC++ ProgrammingClaude CodeClean ArchitectureConcurrent ProgrammingContinuous IntegrationFreeCursorDart FundamentalsDeclarative ProgrammingDesign PatternsElixir FundamentalsGitHub CopilotGo FundamentalsGooseHaskell FundamentalsJava FundamentalsJenkins FundamentalsKotlin FundamentalsLua FundamentalsObject-Oriented ProgrammingOpen Source Software DevelopmentOpenAI Codex CLIPHP FundamentalsSoftware Architecture FundamentalsTrunk-Based DevelopmentTypeScript FundamentalsWindsurfError Handling, Functional Programming, JavaScript Fundamentals, Legacy Software Modernization, Python Application Development, Refactoring, Ruby Fundamentals, Rust Fundamentals, Scala Fundamentals, SDK Design, Software Profiling, Swift Fundamentals (planned)
Put the map to work
Find Software Engineer roles.
Search multiple job sources at once with queries tailored to this career, then use the skill map above to evaluate what each role actually asks for.
Open job search→
Keep exploring
More in Software development
Quality Engineer→