Senior Software Engineer
Designs, develops, and tests production Linux-based software for Gogo's business-aviation airborne connectivity products, including the next-gen 5G air-to-ground solution. Core stack: Python, C/C++, Go, ARINC 429/717 protocols, Jenkins, and Git, on-site in Ottawa.
- Compensation
- Not disclosed
- Location
- Ottawa, Canada
- Work setup
- Not specified
- Seniority
- Senior
- Employment
- Not specified
- Experience
- 7+ years
- Category
- Software engineering
- Posted
Skills
Must have
- Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent practical experience
- 7–12 years of software development experience
- Strong software architecture and design background, especially in Linux environments
- Expert Linux application development in Python and/or Linux scripting languages and C/C++ (Go also relevant)
- Expert ability to analyze data and develop solutions based on findings
- Experience developing web services and other APIs
- Strong technical leadership skills within a senior development team
- Strong estimation and project-delivery skills
- Experience with Jenkins automation build and test environments
- Software configuration-management experience using Git
- Experience supporting products in the field
Nice to have
- Experience with avionics and ARINC protocols
- Software engineering experience using open-source packages in data communications or telecommunications systems
- Linux networking experience (routing, iptables, traffic shaping, QoS, DHCP, DNS)
- Experience with 802.11ac wireless networking
- Knowledge of Linux container concepts, especially Docker
- Experience with Linux kernel drivers
- Experience in aviation, data communications, or telecommunications environments
Full description
Airborne Platform Software Engineer Build the software that powers the future of connected aviation. At Gogo, we’re transforming how people connect in the sky by building technology that powers connectivity aboard business aircraft around the world.
As our Airborne Platform Software Engineer, you’ll design, develop, and test production-quality software for Gogo Business Aviation airborne products on a Linux platform. You’ll work closely with an experienced development team and partners across the company to deliver new features, enhance existing software, and support our next-generation 5G air-to-ground solution.
If you’re a collaborative software engineer who enjoys solving complex technical problems, using data to guide decisions, and driving work through completion, we’d love to meet you.
What You’ll Do
- Design and develop software features for new products and extend existing products, including selecting and integrating third‑party and open‑source technologies
- Analyze data, logs, and events to enhance products and troubleshoot issues
- Expand aviation system capabilities using ARINC 429 and ARINC 717 protocols
- Develop and maintain Linux‑based software using Python, Linux scripting languages, Go, C, and C++
- Create high‑ and low‑level design documentation
- Conduct design reviews and participate in code inspections
- Develop automated unit tests and support software quality
- Estimate design and feature‑development work, track project stories and tasks, report status, and deliver work on schedule
- Continually improve software design, development, and testing processes
- Help establish and maintain software build environments and source‑code repositories for assigned projects
What You’ll Bring
- Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent practical experience
- 7–12 years of software development experience
- Strong software architecture and design background, especially in Linux environments
- Expert application‑development skills in Linux using Python and/or Linux scripting languages and C/C++; Go experience may also be relevant
- Expert ability to analyze data and develop solutions based on findings
- Experience developing web services and other APIs
- Strong technical leadership skills, with the ability to champion new ideas and concepts within a senior development team
- Ability to provide leadership and direction in a senior software engineering team
- Strong estimation and project‑delivery skills
- Experience with Jenkins automation build and test environments
- Software configuration‑management experience using Git
- Experience supporting products in the field