
Embedded Java Software Engineer
Posted 2 hours ago

Posted 2 hours ago
This is a fully remote position, open to applicants in California, +3 more states.
• Design and support Java-based embedded firmware solutions utilizing Agile methodologies.
• Develop and sustain Java firmware that interfaces with low-level hardware elements (such as sensors, actuators, and communication protocols).
• Engage in project planning by exploring solutions to challenges in embedded systems and delivering precise estimates.
• Work collaboratively with hardware and systems engineering teams to guarantee seamless integration of firmware with embedded hardware components.
• Ensure that the embedded firmware adheres to timing and performance specifications.
• Employ test-driven development (TDD) practices to create unit and functional tests, ensuring the quality and reliability of the firmware.
• Troubleshoot and resolve issues arising from hardware/firmware interactions using diagnostic tools and techniques.
• Support the maintenance and enhancement of legacy embedded firmware products, providing consultation and product expertise.
• Investigate and adopt new technologies and methodologies for embedded systems, including power management, memory optimization, and low-level driver interaction.
• Keep documentation related to embedded firmware development, processes, and troubleshooting guides up to date.
• A Bachelor’s degree in Computer Science, Software Engineering, or Electrical Engineering.
• Over 3 years of practical experience in embedded systems and Java.
• Certifications or coursework related to embedded systems development is advantageous.
• Experience in deploying Java-based applications on embedded systems.
• Familiarity with Java platforms tailored for constrained devices.
• Proven experience in maintaining embedded firmware across distributed devices.
• Knowledge of safety-critical or mission-critical embedded software development.
• Proficient Java programming skills.
• Experience with embedded Java applications is preferred.
• Familiarity with embedded Linux or RTOS environments.
• Proficient in Test-Driven Development (TDD) and unit/functional testing for embedded systems.
• Understanding of Java-based memory management, garbage collection tuning, and optimization in resource-constrained settings.
• Familiarity with ensuring firmware meets timing and performance criteria.
• Experience with Gradle, Maven, or other Java build systems.
• Comprehension of embedded system design.
• Familiarity with debugging tools (such as JTAG and oscilloscopes) and Linux-based diagnostic tools (like dmesg and strace).
• Experience working within an Agile/Scrum development framework.
• Excellent written and verbal communication skills.
• Strong analytical and logical reasoning abilities.
• Problem-solving aptitude and meticulous attention to detail.
• Capacity to manage multiple tasks and maintain organization in a dynamic environment.
• Medical, Dental, Vision coverage.
• Wellness incentives.
• Paid vacation days, up to 15 days.
• Paid sick days, up to 5 days.
• Paid personal leave, up to 5 days.
• Paid holidays, up to 13 days.
• Birth and adoption leave.
• Parental leave.
• Family and medical leave.
• Bereavement leave.
• Jury duty leave.
• Military leave.
• Purchased vacation options.
• Short-term and long-term disability coverage.
• Life Insurance and Accidental Death and Dismemberment coverage.
• Health Savings Account.
• Health Care Spending Account.
• Dependent Care Spending Account.
• Tuition Assistance.
Distro
Mozilla
Red Cat Holdings
MKS Instruments
Get handpicked remote jobs straight to your inbox weekly.