Embedded Java Software Engineer
Carrier
- Location
- Georgia
- Workplace
- Remote
- Employment
- Full Time
- Salary
- —
Posted 2mo ago
An Embedded Java Software Developer is responsible for designing, developing, and maintaining Java-based firmware solutions for embedded systems. 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.
Position Location
Fully Remote within the State of Georgia.
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 and systems engineering teams to ensure smooth integration of firmware with embedded hardware components.
- 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 and resolve hardware/firmware interaction issues using diagnostic tools and methodologies.
- Assist in sustaining and upgrading 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 or Electrical Engineering
- 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
- Certifications or coursework related to embedded systems development is a plus.
- Experience with deployment of Java-based applications on embedded systems.
- Familiarity with Java platforms designed for constrained devices.
- Experience maintaining embedded firmware across distributed devices.
- Knowledge of safety-critical or mission-critical embedded software development
- Strong Java programming skills. Experience in embedded Java applications preferred.
- Experience with embedded Linux or RTOS environments.
- Experience in Test-Driven Development (TDD) and unit/functional testing for embedded systems.
- Familiarity with Java-based memory management, garbage collection tuning, and optimization in resource-constrained environments.
- Familiarity with ensuring that firmware meets timing and performance requirements.
- Experience with Gradle, Maven, or other Java build systems.
- Understanding of embedded system design
- Familiarity with debugging tools (e.g., JTAG, oscilloscopes) and Linux-based diagnostic tools (e.g., dmesg, strace).
- Experience working in an Agile/Scrum development process.
- Strong written and verbal communication skills.
- Analytical and logical reasoning skills.
- Problem-solving skills and attention to detail.
- Ability to multi-task and stay organized in a dynamic environment.
Skills
- Java
- Embedded Java
- Agile
- TDD
- Embedded Linux
- RTOS
- Gradle
- Maven
- JTAG
- dmesg
- strace
Similar roles
Lead Software Engineer - City
Okc · Oklahoma City, OK, United States · USD 40–60/hr · today
Senior Software Engineer
Redwood Materials · remote · Nevada · USD 180,000–237,500/yr · today
Embedded Software Engineer – Power Electronics, Energy Storage
Redwood Materials · San Francisco, California, United States · USD 180,000–237,500/yr · today
Senior Software Engineer (Reston or Cambridge)
Akamai · United States · USD 121,400–218,600/yr · today
Software Engineer - ML/Computer Vision (Battery Sorting)
Redwood Materials · McCarran, NV · San Francisco, California, United States · USD 152,500–200,000/yr · today
Infrastructure Software Engineer, Energy Storage
Redwood Materials · San Francisco, California, United States · USD 180,000–237,500/yr · today