About Us: Headquartered in Ottawa, BTA Design serves the electronic design community in Canada and beyond, specializing in ASIC and FPGA design and verification, and embedded software development services.
We augment and enhance our clients’ teams and accelerate the development of complete designs.
We’re adaptable and efficient, with a brilliant staff at our core.
We aim to be the best at what we do.
Our success continues to fuel growth.
We are currently searching for a number of key technical resources, including a Software Developer with expertise in С++.
About the Position: As a Software Developer you will focus on building correct, well-defined systems to help build a reference implementation for a platform where correctness, consistency, and well-defined behavior are critical.
This role focuses on implementing core system behavior, including protocol logic, structured data models, and validation mechanisms, along with supporting tools used to verify implementations against a reference model.
You will work from requirements, architecture documents, interface definitions, and system models to produce robust, maintainable software.
You will interpret specifications, resolve ambiguities, and ensure behavior is correct, consistent, and verifiable across the system.
The role also includes using modern tooling (including AI-assisted workflows) to improve productivity, code quality, and engineering effectiveness.
Key Responsibilities: Design, implement, debug, and maintain core software components in modern C++ Build and evolve protocol, codec, packet, and data-model logic Translate requirements, architecture, and models into production-quality code Support validation tooling, integration workflows, and defect resolution Collaborate with systems, test, and architecture stakeholders Contribute to clean APIs, maintainable abstractions, and long-term code quality Key Qualifications: A minimum of 5 years of relevant hands-on experience with C++ in non-trivial systems (modern standards preferred) Solid understanding of memory management, performance, and deterministic behavior Solid software design, debugging, and code quality skills Strong focus on correctness, edge cases, and well-defined behavior in complex systems Experience in technically rigorous software domains with structured interfaces or protocols Ability to work effectively from written requirements and architectural specifications Preferred Qualifications: Direct C++23 experience Experience developing software in Linux environments Experience with low-level or driver development in Linux or similar environments Familiarity with Python bindings, automation, or supporting tools Experience with UML or structured software models Exposure to protocol-heavy, systems, embedded, automotive, or safety/security-oriented software Compensation: $140,000 to $180,000 plus company bonus and benefits plan.
Salary is heavily dependent on individual experience and capability.
This is a new position.
Only candidates selected for an interview will be contacted. Artificial Intelligence tools are not used in the evaluation and selection of candidates. Why Work Here?
We offer interesting work in challenging, stimulating technical environments with companies that lead the world in technology and innovation.
We recognize that our strength is in the individuals who join our team, so at BTA Design Services, we foster an environment where everyone is appreciated, trusted and engaged.
We recognize that work-life balance is important and we strive to provide our employees with challenging roles that also allow them to enjoy family, friends and life outside of work.
Software Developer - Modern C++ • Ottawa, ON, CA