06 Aug
|
OpenSkills
|
Ottawa
← 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 quick 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→
📌 Software Engineer (Ottawa)
🏢 OpenSkills
📍 Ottawa