EMBEDDED SOFTWARE SPECIALIST
Company description
Xiphos Systems Corporation, founded in 1996, is a vibrant and energetic company in the heart of
Montreal’s Plateau area. For over 20 years, we have pushed the envelope of what is possible in
NewSpace and secured the trust of various space agencies and space companies around the world. The industry has adopted our design approach and, as a result, we have been experiencing several years of rapid, steady growth and the trend is continuing!
Our vision is to migrate terrestrial computing and network communication techniques into space
environments. The company’s expertise in networked processors has evolved into in a line of high-performance, fault-tolerant flight control and sensor processing hardware and software solutions in wide and varied advanced space applications.
Xiphos’ primary markets are small satellites, space station applications, as well as lunar landers, rovers, and robotics. We have delivered our standard and custom products all over the world and have been essential to many successful space missions. With low power consumption, high processing power, enhanced flexibility, excellent robustness, and proven functions available off-the-shelf, our Q-cards are increasingly the preferred solution in the fast-growing field of NewSpace.
Role Description
Reporting to the Software Team Lead, Xiphos is looking for an innovative software developer with solid background in Embedded Linux systems. You will have hands-on experience designing, developing, testing and releasing software made for flight hardware destined for space! You will also provide support to not only our customers but also our Test, Logic and Hardware teams by providing advice and solutions that will help in maintaining Xiphos' software ecosystem coherence and most importantly share knowledge among all people inside Xiphos.
The successful candidate will also enjoy seeking continuous improvements of our internal processes, deciding with the SW team members what we should improve and how to accomplish it.
Some of the exciting internal challenges you will help to address are: How can we optimize our software deliveries to make Test team and customers' lives easier? How can we scale up our CI/CD to execute on multiple hardware targets?
Main tasks
- Create and maintain Linux distributions for custom hardware platforms, including:
- Bootloader configuration and customization
- Linux system configuration and customization
- Linux kernel and driver configuration
- Generation of packages and recipes for embedded Linux distributions
- Design and develop kernel modules (drivers) for custom hardware
- Design and develop software applications for spacecraft payloads and ground operations
- Define functional test programs, write test scripts, and conduct functional testing
- Push work to code reviews and conduct code reviews
- Be involved in the continuous improvement of the SW team
- Providing guidance and support to other teams in Xiphos on questions related to software
Knowledge areas
Essential technical skills and knowledge required:
- Experience with common hardware targets and buses
- Linux systems architecture (device-tree, u-boot, kernel, init. system, userspace apps)
- Software build systems and cross compiling toolchains (Makefile, cmake, meson, etc...)
- Linux distribution build systems (Yocto, Buildroot, etc...)
- C/C++, Python and Bash
- Git
- Focused towards producing industrial-grade code (linting, unit-testing)
- Software code analysis, debugging and profiling tools
Nice to have knowledge / experience of:
- Yocto Project
- Robot framework
- Linux kernel development
- FPGA logic development
- Comprehension of functional and system testing
- Hardware debugging
- Open source development
Qualifications:
- 5+ years experience
- Bachelor’s or Master’s in computer science or related engineering
- Must be able to obtain Canadian government security clearance (Canadian Controlled Goods Program)
- An open, problem solving and team driven mindset
- Autonomous on allocated tasks yet communicative for team / customer critical decisions
- Ability to exchange with our customers in a proactive manner
- Fluent in English and French (written and spoken) ideal