Enable job alerts via email!

Senior Software Developer - Embedded (Job Req #2025-294)

Ross Video

Ottawa

On-site

CAD 80,000 - 110,000

Full time

3 days ago
Be an early applicant

Boost your interview chances

Create a job specific, tailored resume for higher success rate.

Job summary

A leading company in broadcast technology invites a skilled Embedded Software Engineer to join their Ottawa team. The role focuses on designing and developing software for embedded systems with a strong emphasis on collaboration with hardware teams. Ideal candidates will be passionate about innovation, with solid experience in C/C++, Linux, and embedded system design.

Qualifications

  • Experience with ARM-based SoC platforms and bootloaders.
  • Strong understanding of real-time operating systems and IP protocols.
  • Ability to interpret schematics and data sheets.

Responsibilities

  • Design and implement software for embedded devices and systems.
  • Develop, code, test, and debug system software.
  • Collaborate with hardware teams for seamless integration.

Skills

C
C++
Troubleshooting
Embedded Systems
Linux Device Drivers
Problem Solving

Education

Bachelor’s degree in Computer Science, Engineering, or related field

Tools

Yocto
Buildroot
Linux

Job description

Why Work at Ross Video? We have a great group of people working together to create and deliver cutting edge products that look amazing and are easy to use. We go all out so that our customers can have the best possible experience and achieve quality results. With a product focus, continual learning, results driven processes, and creative thinking, we constantly strive to improve our solutions and to deliver results. If you've ever watched live television, news, sports, or entertainment, you've seen our products in use. All of the major Hollywood award shows, most professional sports teams, and many of the largest broadcasters in the world use Ross Video technology. Get behind the scenes and learn about what it takes to make live events possible. If that resonates, and you’re someone with integrity, commitment, and a strong drive to deliver great products, we’d love to hear from you.

Job Overview

We are seeking a skilled Embedded Software Engineer to join our software team and play a critical role in designing and developing software for embedded systems. This position involves taking ownership of the software lifecycle, from initial requirements to production deployment and post-production support. You will be responsible for creating efficient, stable, and scalable system solutions while collaborating closely with hardware design teams to ensure seamless integration.

The ideal candidate will have hands-on experience in developing and troubleshooting embedded systems, Bootloaders and Linux device drivers, with a deep understanding of ARM-based SoC platforms, C and C++, alongside expertise in development frameworks like Yocto.

This role offers the opportunity to work on cutting-edge embedded technologies, including bootloaders, interfaces like PCIe and USB, and network components. Candidates with a proactive approach to problem-solving, strong collaboration skills, and a passion for embedded software innovation will thrive in this position.

Who you report to: Senior Manager, Embedded Software Development

What the job is all about:

  • Design and implement software for embedded devices and systems, from requirements to production and commercial deployment.
  • Develop, code, test, and debug system software.
  • Review code and design, focusing on improving efficiency, stability, and scalability of system resources.
  • Integrate and validate new product designs.
  • Develop, integrate, and troubleshoot bootloaders and Linux device drivers.
  • Work with ARM-based embedded processors, particularly System-on-a-Chip (SoC) devices like Altera SoC and Xilinx Zynq.
  • Utilize experience with Marvell switches and network protocols such as TCP/IP, UDP, VLAN.
  • Demonstrate knowledge of related interfaces and technologies, including IP stack, storage, USB, I2C, SPI, PCIe, and DMA systems.
  • Leverage embedded Linux development frameworks such as Yocto and Buildroot, along with related cross-compilation tools.
  • Support software QA efforts and optimize I/O performance.
  • Provide post-production technical support for products.
  • Collaborate with hardware design and development teams to ensure seamless system integration.
  • Assess and integrate third-party and open-source software solutions.

Who you are:

  • Bachelor’s degree in Computer Science, Engineering, or a related field.
  • Proven experience in software engineering, particularly in embedded systems design with preemptive, multitasking real-time operating systems.
  • Proficiency in programming languages such as C or C++.
  • Hands-on experience in the development and troubleshooting of embedded systems and Linux device drivers.
  • Familiarity with software configuration management tools, defect tracking systems, and peer review processes.
  • Strong understanding of OS coding techniques, IP protocols, interfaces, and hardware subsystems.
  • Ability to interpret schematics and data sheets for hardware components.
  • Excellent documentation and written communication skills.

Equity, Diversity & Inclusion
At Ross, we embrace diversity, and we want you to bring your authentic self to work.We are committed to building a team that includes a variety of backgrounds, perspectives, and skills. Inclusivity drives innovation and creativity, and that’s something we’re passionate about at Ross! We believe everyone should be able to enjoy a rewarding career at Ross, regardless of race, colour, religion, sexual orientation, gender, gender identity or expression, marital status, age, veteran status, physical or mental disability. If a disability means that you need any additional support during the recruitment process, please contact Talent Acquisition and we will make all reasonable efforts to accommodate your request.

Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.