Embedded Software Engineer
SPEC is seeking an Embedded Software Engineer to support the development of mission‑critical defense systems. You will design and implement high‑reliability embedded software for complex mixed-signal and RF hardware in demanding operational environments, working closely with a multidisciplinary engineering team.
Security and Eligibility
-
Must be a United States citizen.
-
Must hold, or be able to obtain and maintain, at least a U.S. DoD Secret security clearance.
-
Will work with controlled or classified information in accordance with applicable government regulations and company policies.
Key Responsibilities
-
Design, implement, and test embedded software for microcontrollers and microprocessors based on schematics, datasheets, and board‑level feature requirements in defense applications.
-
Develop, debug, and maintain C/C++ code for bare‑metal and Linux-based embedded targets, including integration with low-level firmware and hardware interfaces.
-
Implement automated unit tests (e.g., with Google Test) and participate in code reviews to ensure reliability, maintainability, and regression coverage aligned with program requirements.
-
Develop GUI applications and engineering tools (e.g., in Python or C#) to support configuration, control, and visualization of system behavior.
-
Implement and maintain lab instrument automation using IVI Foundation drivers to support hardware bring‑up, characterization, qualification, and production test.
-
Utilize Protocol Buffers and related tooling for robust, versionable data serialization and messaging between software components.
-
Use Git-based workflows (branches, merge requests, code reviews) and CI/CD (e.g., GitLab and GitLab runners) to manage source control and automated builds/tests.
-
Collaborate with electrical, RF, FPGA, systems, and test engineers to define interfaces, resolve integration issues, and meet performance and reliability objectives.
-
Produce clear technical documentation, including design descriptions, interface documentation, and test procedures.
Required Qualifications
-
Bachelor’s degree in Electrical Engineering, Computer Engineering, Computer Science, or a related discipline, or equivalent practical experience.
-
3–5 years of hands‑on experience in embedded software development.
-
Strong proficiency in C/C++ for embedded systems; working experience with Python and/or C# for tooling, scripting, GUI development, and test automation.
-
Experience working directly from schematics and component datasheets to implement low-level drivers and board-level features.
-
Comfortable developing and debugging in Linux environments for embedded targets.
-
Experience with:
-
C/C++, Python, C#
-
Technical writing and documentation of designs and tests
-
Google Test or similar unit testing frameworks
-
Git for version control and collaborative development
-
Protocol Buffers for data serialization and messaging
-
Linux-based development workflows
-
Good communication skills and the ability to work effectively within a multidisciplinary engineering team.
-
Demonstrated self‑starter who can own features end‑to‑end, from requirements understanding through implementation, test, and integration.
Preferred Qualifications
-
Mixed-signal or EW (Electronic Warfare) embedded software experience.
-
Experience integrating software and firmware, including close collaboration with FPGA and hardware engineers.
-
Experience with GitLab and GitLab CI/CD runners for automated builds and testing.
-
Familiarity with PetaLinux or other embedded Linux distributions, including BSP and driver integration.
-
Experience with build systems such as Bazel, CMake, and Make.
-
Bare-metal development experience on microcontrollers, including startup, drivers, and board bring‑up.
-
Experience with MPLAB X IDE and Harmony framework (or similar MCU vendor tools).
-
Experience with GUI development for engineering or operator-facing tools.
-
Lab instrument automation experience using IVI Foundation drivers.
Soft Skills
-
Strong problem-solving skills and a methodical approach to debugging complex hardware/software interactions.
-
Ability to work independently with minimal supervision while coordinating effectively with program and technical leads.
-
Clear, concise verbal and written communication suitable for technical peers and program/customer stakeholders.
What You’ll Gain
-
Opportunity to contribute directly to U.S. defense programs and mission‑critical systems.
-
Exposure to advanced RF/mixed-signal hardware, EW-focused embedded development, and modern CI/CD and automation practices.
-
A collaborative environment with experienced engineers across multiple disciplines, with clear impact on real‑world missions.