Embedded Java Software Developer
Job Number: 11451
External Description:
An Embedded Java Software Developer is responsible for designing, developing, and maintaining Java-based firmware solutions for embedded systems. This position will work within the Sustaining and Escalations Engineering team, with a focus on resolving customer issues involving our Gen5 firmware. This individual will work on all aspects of Java-centric embedded firmware, focusing on the interaction between the software and hardware components of the system. The role requires a deep understanding of both Java programming and embedded systems, as well as experience with low-level system interactions, including hardware abstraction and real-time constraints. The ideal candidate possesses strong problem-solving skills, a passion for innovation, and an ability to create scalable and maintainable embedded software solutions.
In this role, you will be involved in key phases of development, from project planning and implementation to testing and deployment, ensuring that the embedded firmware meets the performance and functional requirements of our products. You will also contribute to advancing our product offerings and supporting legacy firmware systems by providing expert-level product knowledge.
Work Location:
The role is located Kennesaw, GA. Position is considered hybrid; 3 days in the office/2 days remote
Responsibilities:
- Develop and maintain Java-based embedded firmware solutions using Agile methodologies
- Write and maintain Java firmware that interacts with low-level hardware components (e.g., sensors, actuators, communication protocols)
- Participate in project planning by investigating solutions to embedded system challenges and providing accurate estimates
- Collaborate with hardware, systems engineering, and customer-facing support teams to ensure smooth integration of firmware with embedded hardware components and support the resolution of escalated customer issues
- Ensure that the embedded firmware meets timing and performance requirements
- Use test-driven development (TDD) methodologies to write unit and functional tests, ensuring firmware quality and reliability
- Debug, reproduce, and resolve customer-reported Gen5 firmware and hardware/firmware interaction issues using diagnostic tools and methodologies
- Assist in sustaining and upgrading Gen5 and legacy embedded firmware products, offering consultation and product expertise
- Explore and implement new technologies and methodologies for embedded systems, including power management, memory optimization, and low-level driver interaction
- Maintain documentation related to embedded firmware development, processes, and troubleshooting guides
Minimum Requirements:
- Bachelor’s degree in Computer Science, Software Engineering, Electrical Engineering or other technical field.
- 3+ years of hands-on experience in embedded systems and Java
- Must reside within the state of Georgia and be willing to attend on-site meetings and trainings as needed
Preferred Experience:
- Knowledge of embedded systems design and development, including deployment and maintenance of Java-based applications on embedded platforms and constrained devices
- Proficiency in Java programming and experience developing, debugging, and optimizing embedded Java applications, including memory management and performance tuning
- Experience working with embedded Linux and/or Real-Time Operating System (RTOS) environments
- Experience developing, testing, and supporting embedded firmware for distributed devices, including troubleshooting field-reported and customer-reported issues.
- Knowledge of embedded hardware interfaces and drivers, including UART, SPI, I2C, FPGA, or similar technologies
- Experience applying Test-Driven Development (TDD), unit testing, and functional testing methodologies for embedded systems; experience using scripting or programming languages such as Python for test automation
- Familiarity with firmware performance validation, timing requirements, debugging tools (e.g., JTAG, oscilloscopes), Linux diagnostic tools, and Java build systems such as Gradle or Maven
- Experience working in Agile/Scrum development environments; ability to communicate technical information effectively, analyze issues, manage multiple priorities, and support problem resolution
Job Number: 30216426
Community / Marketing Title: Embedded Java Software Developer
Location_formattedLocationLong: Georgia, US