Firmware Engineer
Role details
Job location
Tech stack
Job description
The Firmware Engineer designs, develops, and tests embedded software for advanced aerospace and defense systems. This role focuses on creating efficient, reliable firmware for microcontroller-based and embedded Linux systems while ensuring compliance with rigorous industry standards. The engineer collaborates closely with hardware, systems, and test engineering teams to deliver high-quality, well-documented software that integrates seamlessly into complex embedded platforms., * Design, develop, and test embedded software, including requirements analysis, architecture design, implementation, and integration.
- Write efficient, reliable, and maintainable code in C and C++ for embedded applications, and use C# and Python where appropriate for tools, test, or support applications.
- Debug software and firmware issues using a variety of tools and techniques, including JTAG, emulators, and other embedded debugging tools.
- Develop and execute software verification and validation plans, including unit testing, integration testing, and system testing for embedded systems.
- Work closely with cross-functional teams, including hardware engineering, systems engineering, and test engineering, to ensure software compatibility and robust system integration.
- Create and maintain accurate, up-to-date documentation, including software design documents, test plans, and user manuals.
- Manage software configuration using version control systems and follow a formal Software Development Lifecycle (SDLC) process.
- Ensure software complies with relevant industry standards and regulations, including DO-178C and DO-254, as applicable to the project.
- Apply software architecture and design best practices to develop scalable, modular, and reusable embedded software components.
- Perform code optimization and profiling to improve performance, memory usage, and reliability of embedded applications.
- Develop and execute software tests and participate in formal software verification activities to demonstrate requirements coverage and quality.
- Use coding standards such as MISRA C and apply static and dynamic analysis tools, including code coverage and analysis tools like Coverity and LDRA.
- Collaborate effectively with a team of engineers and technicians and contribute to a hands-on laboratory environment for integration and test.
- Support continuous improvement of development processes, tools, and practices to enhance software quality and productivity., CommunicationLife SciencesDebuggingVersion ControlPython (Programming Language)Test AutomationScalabilityInnovationScriptingContinuous Improvement ProcessReliabilityComputer ScienceMechanical EngineeringSystems EngineeringSoftware Development Life CycleComputer EngineeringProgram OptimizationToolingTest PlanningManufacturing EngineeringElectrical EngineeringUnit TestingIntegration TestingTechnical WritingSystems Development Life CycleVerification And ValidationSecurity ClearanceEmbedded SystemsSoftware Configuration ManagementEmbedded SoftwareDO-178B/C (Software Considerations in Airborne Systems and Equipment Certification)Software ArchitectureDO-254 StandardC++ (Programming Language)Joint Test Action (IEEE Standards)Test EngineeringCritical Illness InsuranceC (Programming Language)Linux On Embedded SystemsC# (Programming Language)Laboratory EquipmentFirmwareSoftware Quality (SQA/SQC)Architectural DesignRequirements AnalysisVisionaryReal-Time Operating SystemsMicrocontrollersHardware ArchitectureSystem TestingFirmware DevelopmentCoverityDynamic Program AnalysisSoftware Design DocumentsCode CoverageEmulatorsLaunch Vehicle SystemsAssembly LanguageMISRA C (C Programming Language)Industry StandardsDigital Signal Processor
Requirements
- Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical field.
- Between 2+ and 7+ years of experience in embedded software or firmware development, depending on level.
- Hands-on development experience using C for embedded application development.
- Proficiency in C++ for embedded or systems-level programming.
- Strong debugging and analysis skills for embedded systems, including use of JTAG and emulators.
- Experience developing software using a formal Software Development Lifecycle (SDLC) process.
- Experience developing software tests and performing software verification and validation activities.
- Strong documentation and technical writing skills for design documents, test plans, and user documentation.
- Familiarity with microcontrollers, digital signal processors (DSPs), and assembly language concepts.
- Software architecture and design experience in embedded or real-time systems.
- Experience in code optimization and profiling for performance and resource-constrained environments.
- Familiarity with coding standards such as MISRA C for safety- and reliability-focused software.
- Familiarity with code coverage and analysis tools such as Coverity and LDRA.
- Ability to work effectively as part of a multidisciplinary engineering team and collaborate in a laboratory setting.
- Ability to obtain and maintain a security clearance, as required for certain projects., * Experience with embedded Linux or other real-time operating systems in firmware or embedded system development.
- Experience working in aerospace, defense, or other highly regulated, safety-critical industries.
- Knowledge of and practical exposure to industry standards such as DO-178C and DO-254.
- Experience with firmware and hardware integration, including working closely with hardware engineering teams.
- Exposure to Python and C# for scripting, test automation, or tooling to support embedded development.
- Comfort working with laboratory equipment and test setups for embedded systems.
- Strong interpersonal and communication skills, with the ability to explain technical concepts clearly to cross-functional partners.
- Motivation to work in a fast-growing, high-impact environment at the forefront of space and defense technology.
Benefits & conditions
This role is fully on-site at an office in Parsippany, following a standard five-day, eight-hour-per-day schedule with no remote or hybrid flexibility. The environment is a hands-on engineering and laboratory setting, working closely with hardware, systems, and test engineers on advanced aerospace and defense projects, including components for space launch vehicles and satellites. The company offers flexible work schedule options, such as a compressed work week of four 10-hour days (Monday through Thursday) with Fridays off, or four 9-hour days (Monday through Thursday) plus a half-day on Friday ending at noon. The organization is a rapidly growing technology leader in its sector, recognized as a top workplace, with significant hiring growth and clear opportunities for career development and advancement. Engineers have the opportunity to see the direct impact of their work on mission-critical products deployed in space and defense applications, within a professional environment that values innovation, quality, and collaboration. Typical attire is standard professional or engineering-appropriate clothing suitable for an office and laboratory setting. Job Type & Location
This is a Contract to Hire position based out of Parsippany-Troy Hills, NJ. Pay and Benefits
The pay range for this position is $43.26 - $67.30/hr.
Eligibility requirements apply to some benefits and may depend on your job classification and length of employment. Benefits are subject to change and may be subject to specific elections, plan, or program terms. If eligible, the benefits available for this temporary role may include the following:
- Medical, dental & vision
- Critical Illness, Accident, and Hospital
- 401(k) Retirement Plan - Pre-tax and Roth post-tax contributions available
- Life Insurance (Voluntary Life & AD&D for the employee and dependents)
- Short and long-term disability
- Health Spending Account (HSA)
- Transportation benefits
- Employee Assistance Program
- Time Off/Leave (PTO, Vacation or Sick Leave) Workplace Type