Software Integration Engineer
- Salary
- $130K–$175K
- Hiring from
- United States
- Work type
- Hybrid
- Posted
606,394 remote jobs, straight from company career pages
100% free · New jobs every minute
Show job descriptionHide job description
About You:
You are a hands-on software engineer who enjoys connecting software, simulation models, and physical hardware. You take ownership of well-defined engineering efforts, troubleshoot methodically, and collaborate with teammates to deliver reliable solutions. You are comfortable writing code, working in Linux, and testing directly with laboratory equipment.
As part of Merlin’s Virtual Test Environments (VTE) team, you will help develop and maintain hardware-in-the-loop test environments and the software that captures, displays, and replays engineering data. Working alongside our Staff Software Integration Engineer, you will help engineers exercise aircraft systems and resolve integration issues before flight.
Responsibilities:
-
Develop and maintain C++ and Python software connecting aircraft avionics, simulation models, test hardware, and engineering tools.
-
Implement software components and hardware interfaces within the architecture established by the Staff Software Integration Engineer, contributing to design decisions and code reviews.
-
Integrate UEI PowerDNA equipment through vendor SDKs, low-level I/O APIs, and hardware abstraction layers.
-
Configure and validate ARINC 429, CAN, serial, analog, and discrete interfaces using aircraft interface control documents, including signal mapping, message encoding, update rates, and error handling.
-
Support real-time execution of aircraft simulation models, including periodic processing, I/O exchange, watchdogs, and performance diagnostics.
-
Develop and maintain telemetry interfaces and data-processing components that collect, validate, record, and distribute data over UDP, TCP, and messaging systems.
-
Contribute to asynchronous Rust services for telemetry ingestion, timestamp alignment, flight-test displays, and session recording, with technical guidance from senior engineers.
-
Build operator displays and diagnostic tools using technologies such as GL Studio, React, HTML5, SQL, and web APIs.
-
Build, deploy, and troubleshoot software on Linux hosts and embedded targets using established cross-compilation, packaging, systemd, and Docker workflows.
-
Write unit tests, Python-based smoke tests, and hardware integration tests; help reproduce defects and add regression coverage.
-
Collaborate with avionics, aircraft software, flight dynamics, and lab engineers to diagnose issues across software, networks, and connected hardware.
-
Maintain code and configuration changes in Git, track work in Jira, and document interfaces, deployment steps, and troubleshooting procedures.
Qualifications:
-
Proficiency developing and debugging modern C++ and Python software.
-
Strong working familiarity with Linux host systems, including command-line tools, software builds, dependencies, services, permissions, networking, and diagnostics.
-
Experience integrating software with physical hardware, external systems, or vendor libraries and APIs.
-
Understanding of resource management, multithreading, synchronization, and error handling in C++.
-
Familiarity with UDP/TCP networking and binary data formats, including byte order, message framing, and input validation.
-
Familiarity with timing-sensitive software concepts such as periodic execution, buffering, latency, and watchdogs.
-
Ability to interpret technical documentation and interface definitions and translate them into working software and tests.
-
Experience using Git for collaborative development, automated testing, and Jira or comparable issue tracking.
-
Familiarity with Docker-based application deployment.
-
Willingness to learn Rust, embedded Linux deployment, and avionics interfaces with support from experienced engineers.
-
Ability to work independently on assigned components, communicate progress and blockers, and seek guidance when needed.
-
Ability to work regularly onsite in our Boston lab to integrate and troubleshoot physical equipment.
Nice to Have:
-
Experience with UEI PowerDNA/PDNA SDKs or comparable data acquisition and avionics interface platforms.
-
Familiarity with ARINC 429, CAN, and RS-232/RS-422 serial interfaces.
-
Experience with embedded Linux, ARM targets, cross-compilation, CMake, Yocto SDKs, Debian packaging, or systemd services.
-
Experience with Rust, particularly asynchronous programming using Tokio, serde, or axum.
-
Experience integrating or troubleshooting low-level I/O APIs, device drivers, or hardware abstraction layers.
-
Experience with hardware-in-the-loop testing, aircraft simulation, or integrating generated simulation models into C++ applications.
-
Familiarity with telemetry systems, timestamp synchronization, IRIG time, or flight-test displays such as IADS.
-
Experience with GL Studio, React and JavaScript/TypeScript, HTML5, SQL, or REST APIs.
-
Experience with GoogleTest, pytest, parser fuzzing, or continuous integration using GitHub Actions.
-
Familiarity with ZeroMQ, session recording, S3 storage, or simulation replay workflows.
-
Aviation experience through professional work, flight simulation, or a pilot’s license.
