Avatar for Xylem
Global water technology provider focused on solving water challenges

Senior Firmware Engineer

  • Morrisville
  • |5 years of exp
  • |Full Time
Posted: 3 weeks ago
Job Location
Morrisville
Remote Work Policy

In office

Visa Sponsorship

Not Available

RelocationAllowed
Skills
Java
Diagnostics
Documentation
Debugging
testing
Embedded C
embedded RTOS
Hardware-Software Integration
Encryption Technologies
Peripheral Interfaces
CI/CD Processes
Inter-Processor Communication
Automated Unit Testing Frameworks
External Memory
Secure Boot Mechanisms
ARM Processor Architectures
Sleep Modes
Multi-Stage Bootloaders
Startup/shutdown Sequences
SPI Variants
I2C Error Handling
Firmware Build Automation
Manufacturing Testability

About the job

We are seeking an experienced Senior Firmware Engineer to join our high-performing engineering team developing electric metering products. You will contribute to the architecture, development, optimization, and maintenance of high-volume embedded products while working in a fast-paced environment that values technical excellence and innovation. In this role, you will develop embedded C and Java software for an abstraction layer in a custom runtime environment for ARM-based platforms while driving improvements in product quality, testing, and development processes.Core ResponsibilitiesDesign, develop, and maintain embedded Java abstraction layer software for a virtual execution environment on microcontrollersDesign, develop, and maintain Java simulation software, emulated APIs and associate GUIs in a Windows PC execution environmentCreate and implement real-time test and diagnostic applications, written in JavaDevelop and optimize embedded C code, device drivers, hardware abstraction layers (HALs) in a RTOS firmware applicationsDevelop detailed functional and test specifications and code using interface description language toolsCollaborate with hardware and software teams to integrate and troubleshoot complex hardware-software systems.Develop automated build processes, unit testing frameworks, and CI/CD pipelines to improve development efficiency and code quality.Incorporate diagnostics, security features, manufacturing test capabilities, and design-for-test principles throughout the product lifecycle.Required QualificationsB.S. or M.S. in Computer Engineering, Electrical Engineering, or a related technical field.5+ years Java programming experience within embedded or customized runtime environments.5+ years of professional experience in embedded firmware development supporting mass-produced or high-volume products.Expert-level proficiency in embedded C programming, device drivers, and hardware abstraction layers (HALs).Deep understanding of ARM processor architectures, hardware-software integration, startup/shutdown sequences, sleep modes, external memory, and peripheral interfaces.Experience designing, optimizing, and troubleshooting firmware in embedded RTOS environments.Experience with SPI variants, I2C error handling, and inter-processor communication methods.Knowledge of Wi-Fi, Bluetooth, and cellular communication technologies.Experience implementing firmware build automation, CI/CD processes, and automated unit testing frameworks.Experience with secure boot mechanisms, multi-stage bootloaders, and encryption technologies.Strong documentation, debugging, and testing skills with a focus on diagnostics and manufacturing testability.Preferred QualificationsExperience developing firmware for metering, industrial, IoT, or other connected embedded products.Experience supporting products through full product lifecycle, from concept through mass production.Demonstrated ability to thrive in fast-paced, highly collaborative engineering environments focused on continuous learning and rapid execution.Additional InformationPhysical Demands: The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.Work Environment: The work environment characteristics described here are representative of those an employee encounters while performing the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.Travel Requirements: Minimal travel required, as needed.