Senior Software Engineer
MANNARINO Systems & Software Inc. is a leader in providing safety-critical systems, software, hardware and certification engineering services to the aerospace, defense, space, simulation & power generation industries.
Our customer base is very large, covering traditional aerospace companies as well as new and exciting markets, including electric propulsion, Urban Air Mobility, Unmanned Aerial Vehicle and autonomous flight.
The MANNARINO culture is focused on high quality, hard work, professionalism and teamwork within a highly respectful, motivating atmosphere geared towards long-term business growth.
As a member of our team, you will benefit from:
a comprehensive group insurance and RRSP plan
a flextime policy with paid overtime
discretionary bonuses
a fitness reimbursement program
other office perks such as catered weekly lunches and free hot beverages (espresso, coffee, hot chocolate and tea)
regular company outings
Career Opportunity and Primary Roles / Responsibilities
We are seeking an experienced Senior Software Engineer to contribute to the development, integration, and delivery of software for in-flight entertainment systems. You will work alongside multidisciplinary engineering teams to develop reusable software components, enhance existing platform capabilities, and deliver reliable solutions for complex, real-world operational environments.
In this role, you will contribute throughout the software development lifecycle, from requirements and design through implementation, integration, testing, troubleshooting, and release. Your work will involve developing modern C++ software within Linux and Android environments, building resilient services, and supporting the integration of software across applications, platforms, and embedded hardware.
You will also have the opportunity to work hands-on with physical test environments, investigate challenging software and system-level issues, and contribute to automated testing and continuous improvement of the software development process. If you enjoy solving complex technical problems, developing high-quality software, and collaborating across software development, integration, and validation teams, then this position is for you!
Key Responsibilities
Design, develop, test, and maintain C++ software for Linux and Android-based systems.
Develop reliable and resilient software services with appropriate error handling, timeouts, retries, logging, and telemetry.
Develop and maintain reusable software components, libraries, APIs, and integration interfaces.
Integrate software components and troubleshoot complex application, platform, and system-level issues.
Support software verification through automated testing, regression testing, integration testing, and defect resolution.
Analyze and optimize software for performance, concurrency, memory utilization, reliability, and maintainability.
Participate in code reviews, debugging, defect triage, and continuous improvement of software quality.
Collaborate with cross-functional teams in an Agile/Scrum development environment, contributing to requirements, design, implementation, testing, and release activities.
Required Competencies
Strong professional experience with modern C++, including:
Performance optimization
Concurrency and multithreaded programming
Memory management and ownership
Strong experience with Linux systems programming.
Experience developing or integrating software within Android-based systems.
Knowledge of threads, networking, and system-level debugging.
Understanding of software resilience concepts, including timeouts, retries, error handling, logging, and basic telemetry.
Experience with software integration and troubleshooting across multiple components or subsystems.
Experience with source control, code reviews, and collaborative software development.
Ability to develop and maintain automated tests and support verification activities.
Ability to produce clear, maintainable technical documentation.
Familiarity with GitLab and CI/CD development workflows.
Experience working in an Agile/Scrum environment with iterative development and two-week sprint cycles.
Preferred Qualifications
Experience developing software for embedded or edge-computing environments.
Exposure to cross-platform application integration concepts.
Miscellaneous Requirements
Work will be performed on-site at Irvine, California, USA location.
This position is open only to U.S. Citizens and Green Card holders (Lawful Permanent Residents).
The expected annual salary range for this position is USD $140,000 to $175,000. Final compensation will be determined based on the candidate’s experience, qualifications, and overall fit for the role.
Knowledge of English is required to communicate and work with customers outside the province of Quebec. / La connaissance de l'anglais est requise pour communiquer et travailler avec nos clients situés à l'extérieur de la province de Québec.
At MANNARINO, we believe that passion and a desire to learn is crucial. Diversity of thought and experiences leads to innovative solutions and creativity. This is why we would like to encourage all those interested to apply.
We are an equal opportunity employer. All applicants will be held in strict confidence. Only those selected for interview will be contacted.
- Department
- Engineering
Head office
As a member of our team, you will benefit from:
-
A comprehensive group insurance and RRSP plan
-
A flextime policy with paid overtime and off-site placement premiums
-
Discretionary bonuses
-
A fitness reimbursement program
-
Other office perks, such as catered weekly lunches and free hot beverages (espresso, coffee, hot chocolate and tea)
-
Regular company outings