Embedded Software Designer – Linux Middleware

BTA Design Services Inc
June 3, 2021
Ottawa, Canada
Job Type


BTA Design Services Inc is hiring! Come and join one of the fastest growing design services companies in Ottawa. BTA Design Services is looking for talented individuals to join our team. Be part of a company that offers 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 bring their talents with them to work so at BTA Design Services, we foster an environment where everyone on the team is appreciated, trusted and engaged. We also recognize that work-life balance is important and we strive to provide our employees not just with challenging roles but with roles that also allow them to enjoy family, friends and life outside of work.

The Role

The Embedded Software Designer will interact with the software and hardware groups to work on the latest carrier-grade embedded networking software. They will have the following responsibilities:

  • Specification and development of embedded software for use in Linux environments and standalone products
  • Development of an SDK for a new product
  • Architecture and design of a new system, implementation and testing of new code integrated with existing and third party code


This position requires a dynamic embedded software designer who is a fast learner and is eager to apply their skills working with the latest embedded Linux and middleware technologies:

  • A minimum of an undergraduate degree in Computer Science, Computer or Electrical Engineering or the equivalent combination of skills and experience
  • A minimum of 5 years of relevant embedded software experience
  • Experience with C, Python and Bash required, Assembly and C++ preferred
  • Experience with embedded software development in a Linux environment including multi-threading and IPC. FreeRTOS or similar experience preferred.
  • Experience customizing Linux and Linux kernels for embedded systems. Developing applications in Linux user space as well as drivers in Linux kernel space
  • Experience developing, building and releasing SDKs
  • Experience with Yocto Project, across various versions and packages preferred
  • Experience with Yang modelling
  • Low level architectural understanding and development experience with ARM embedded processors (A53) and microcontrollers required
  • Experience designing and bringing up BOOTROMs required, U-Boot preferred
  • Experience in low level hardware driver development preferred
  • Experience with general algorithms, data structures and memory management preferred
  • Wired networking experience on optical transport, switch or router platforms preferred

To Apply

To apply to this position, please submit your application through our job posting site here. We thank all applicants for their interest, but due to the volume of resumes we receive, only candidates under consideration will be contacted.