About the role
← 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 Fundamentals
Software Engineering Fundamentals C ProgrammingFree C# Programming C++ Programming Dart Fundamentals Declarative Programming Elixir Fundamentals Go Fundamentals Haskell Fundamentals Java Fundamentals Kotlin Fundamentals Lua Fundamentals Object-Oriented Programming PHP Fundamentals TypeScript Fundamentals Functional 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 FundamentalsFree
Data Structures Fundamentals Clean Architecture Design Patterns Software design
Importance: Essential (5 of 5)
Applies modularity, abstraction, patterns, and architectural boundaries.
Course coverage
Software Design Principles
Software Architecture Fundamentals Error 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 Techniques
Concurrent Programming Software 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 Fundamentals
Unit and Integration Testing Version control and review
Importance: Essential (5 of 5)
Collaborates through source control and effective code review.
Course coverage
Code Review
Advanced Git Workflows Open Source Software Development Trunk-Based Development Version Control Fundamentals (planned) Software delivery
Importance: Very important (4 of 5)
Integrates, packages, and releases software through repeatable pipelines.
Course coverage
Continuous IntegrationFree
Jenkins Fundamentals AI-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 Code
Cursor GitHub Copilot Goose OpenAI Codex CLI Windsurf
Learning path
Relevant courses
Print all introsPrint all cheatsheets
Core foundations
The concepts this role is built on.
Algorithms FundamentalsFree
Code Review Data Structures Fundamentals Debugging Techniques Programming Fundamentals Software Design Principles Software Engineering Fundamentals Software Testing Fundamentals Unit and Integration Testing Version Control Fundamentals (planned)
Supporting knowledge
Adjacent knowledge that improves day-to-day judgment.
Advanced Git Workflows
C ProgrammingFree C# Programming C++ Programming Claude Code Clean Architecture Concurrent Programming Continuous IntegrationFree Cursor Dart Fundamentals Declarative Programming Design Patterns Elixir Fundamentals GitHub Copilot Go Fundamentals Goose Haskell Fundamentals Java Fundamentals Jenkins Fundamentals Kotlin Fundamentals Lua Fundamentals Object-Oriented Programming Open Source Software Development OpenAI Codex CLI PHP Fundamentals Software Architecture Fundamentals Trunk-Based Development TypeScript Fundamentals Windsurf Error 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→
Not the right fit? Search for Software Engineer jobs in Ottawa, Ontario, Canada
About OpenSkills
Source-backed mini-courses mapped to career paths — build fluency across the IT landscape.
Similar Jobs
About the role
← 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 Fundamentals
Software Engineering Fundamentals C ProgrammingFree C# Programming C++ Programming Dart Fundamentals Declarative Programming Elixir Fundamentals Go Fundamentals Haskell Fundamentals Java Fundamentals Kotlin Fundamentals Lua Fundamentals Object-Oriented Programming PHP Fundamentals TypeScript Fundamentals Functional 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 FundamentalsFree
Data Structures Fundamentals Clean Architecture Design Patterns Software design
Importance: Essential (5 of 5)
Applies modularity, abstraction, patterns, and architectural boundaries.
Course coverage
Software Design Principles
Software Architecture Fundamentals Error 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 Techniques
Concurrent Programming Software 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 Fundamentals
Unit and Integration Testing Version control and review
Importance: Essential (5 of 5)
Collaborates through source control and effective code review.
Course coverage
Code Review
Advanced Git Workflows Open Source Software Development Trunk-Based Development Version Control Fundamentals (planned) Software delivery
Importance: Very important (4 of 5)
Integrates, packages, and releases software through repeatable pipelines.
Course coverage
Continuous IntegrationFree
Jenkins Fundamentals AI-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 Code
Cursor GitHub Copilot Goose OpenAI Codex CLI Windsurf
Learning path
Relevant courses
Print all introsPrint all cheatsheets
Core foundations
The concepts this role is built on.
Algorithms FundamentalsFree
Code Review Data Structures Fundamentals Debugging Techniques Programming Fundamentals Software Design Principles Software Engineering Fundamentals Software Testing Fundamentals Unit and Integration Testing Version Control Fundamentals (planned)
Supporting knowledge
Adjacent knowledge that improves day-to-day judgment.
Advanced Git Workflows
C ProgrammingFree C# Programming C++ Programming Claude Code Clean Architecture Concurrent Programming Continuous IntegrationFree Cursor Dart Fundamentals Declarative Programming Design Patterns Elixir Fundamentals GitHub Copilot Go Fundamentals Goose Haskell Fundamentals Java Fundamentals Jenkins Fundamentals Kotlin Fundamentals Lua Fundamentals Object-Oriented Programming Open Source Software Development OpenAI Codex CLI PHP Fundamentals Software Architecture Fundamentals Trunk-Based Development TypeScript Fundamentals Windsurf Error 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→
Not the right fit? Search for Software Engineer jobs in Ottawa, Ontario, Canada
About OpenSkills
Source-backed mini-courses mapped to career paths — build fluency across the IT landscape.