SOFTWARE DEVELOPER TEAM LEAD
We are looking to expand our team with a software developer team lead with experience in network application development. You will join the GHGSat team and contribute to the development of the ground segment software and the payload firmware. You will also provide support for ongoing R&D efforts on an as-needed basis.
Conscientious and pragmatic, you can simultaneously contribute to different parts of a large code base.
Description and responsibilities:
- Oversee the software development process, tracking the whole cycle including continuous integration, building, testing and deployment issues for the different components
- Translate requirements, architectures and interfaces defined by the rest of the company and by other partners into tasks and deliverables for the software team
- Experience with developer tools and environments (Git, build systems, bug trackers, text-based documentation formats, instant messaging, etc.)
- You will work on data processing code, payload firmware and operations planning software in a small team comprising software developers, electrical engineers, physicists, data analysts and project managers.
- Tasks include developing, building, testing, debugging, deploying, documenting, monitoring and designing system and applications software written in OCaml, C, C++, Fortran, Java, Python and shell scripts in a Linux environment.
- The core code base consists of image and signal processing algorithms, physical models involving optics and atmospheric spectroscopy and methods of regression and statistical analysis.
- The firmware is based on an embedded Linux distribution and includes user-space and kernel-space code interfacing with satellite hardware and custom FPGA logic.
- Operations-related programs and scripts schedule satellite observations, handle satellite data and telemetry and execute the algorithms.
- You will also have to create various ad hoc scripts and tools to support science team investigations and laboratory work.
- Bachelor’s degree or higher in computer science, mathematics, physics, engineering or any equivalent background
- Minimum of 10 years’ experience in relevant roles
- High-level programming languages (VMs and garbage collection, static typing with inference, functional and object-oriented programming, exceptions, interfacing with foreign code)
- C, including bare-metal and Linux kernel and system programming
- Some experience managing a software team, including revision control workflows (git etc.) and interfacing with customers
- Knowledge of calculus, physics and statistics and exposure to numerical programming
- Fluent in French and English
- Must be able to obtain a Controlled Goods Program security clearance
- Knowledge of atmospheric science
- Knowledge of remote sensing and space