Software Designers/ Software Engineers
Location: Ottawa, ON – Remote work during COVID.
Preference is for local Ottawa employee’s but can work remote outside Ottawa/ outside Ontario for the time being if there is a willingness to relocate to Ottawa, ON at future date when all work resumes on-site.
Employment type: Permanent full-time or Contract
We are recruiting for a Software Designers who will join a software development team responsible for developing and testing 5G radio platform software.
We are keen to hire a Software Designer who loves to focus on designing, modeling, and implementing radio platforms. Ideally, you enjoy working at the operating system level with kernel drivers and integrate software on the next generation ASIC’s.
If this sounds like you, we have an exciting opportunity for you in a fast-paced, highly collaborative technical environment!
Must have: C and Linux
Great to have: Java (for test automation), Git & Gerrit (For version control)
Nice to Have: C++, Phyton, Shell scripting
Build Environment experience: Yocto (Nice to have)
The candidate should be versatile and able to perform both the development and testing assigned.
Ideally, someone with Board bring-up experience is preferred (Board bring-up is a phased process whereby an electronics system, inclusive of assembly, hardware, firmware, and software elements, is successively tested, validated, and debugged, iteratively, to achieve readiness for manufacture) and able to create test plans and strategy could be an ideal candidate.
Should have experience in working with a development environment connecting with multiple devices like Xilinx and embedded system experiences are mostly preferred.
Deep understanding of microcontrollers, interrupts, UART, SPI, I2C, Timers, Power management, Wireless SOC’s
Must have effective communication and good interpersonal skills
The team handles low-level system development and knowledge of 5G technology or telecom experience is NOT mandatory.
In this role you will:
be a part of a software module team who is responsible for systems design, software development, and test
participate in defining software and performance for a real-time product and specifying the functional allocation between software and hardware
develop code for production, unit test, and automated test software
Complete required documentation related to design and test work
We are seeking experienced Software Designers who are versatile and can work on both production code and test development.
To be successful in the role, you will have:
a deep understanding of microcontrollers, interrupts, UART, SPI, I2C, Timers, Power management, Wireless SOC’s
a proven understanding of the Yocto build environment and test infrastructure for CI/CD
the ability to create test automation
excellent knowledge of Linux Kernel development, Python, Shell scripting, Assembler, Java
B.Sc, M.Sc, or Ph.D. degree in a relevant area
More than 3 years of experience in firmware development, embedded systems and wireless networks as a software engineer
Background in operating systems, kernel and driver development
Development experience with C and C++
Experience with Git and Gerrit
Solid understanding of Linux as a development environment
People skills required to provide effective communication to build positive relationships internally as well as externally