JOBSEARCHER

Embedded Software Engineer

ARCHIVED

We can't find an active application page for this role right now. It may reopen or be listed elsewhere. Use Next Steps to search for an active apply link and similar live jobs.

Overview: In this Embedded Software Engineer role, you will develop firmware for robotics and autonomous systems, spanning from prototypes to working products. You’ll operate in a cross-disciplinary environment, collaborating with hardware teams to solve real-world engineering challenges. You’ll influence system-level decisions and contribute across the software stack, from drivers to integration tests. This position offers hands-on design, debugging, and verification work with tangible impact in diverse applications. Compensation / Benefitsfull employee benefits plan 401(k) matchingmentoring programhands-on trainingcareer growth opportunitiesteam-focused, entrepreneurial environment
Responsibilities: Develop embedded software and firmware in C/C++ for new and existing productsWork with microcontrollers, RTOS-based systems, and embedded Linux platformsIntegrate sensors, actuators, and communication interfaces into embedded systemsBuild and debug interfaces (I2C, SPI, UART, CAN, Ethernet, GPIO) Use Python and other tools for testing, automation, and integrationBring up and debug software on custom hardware and early prototypesInvestigate software-hardware issues using debuggers, logs, and bench equipmentWrite automated tests and support repeatable build, test, and integration workflowsParticipate in code reviews, design reviews, and project planningCollaborate across engineering disciplines and document designs and test results
Key requirements: BS in Computer Science, Electrical Engineering, Computer Engineering, Robotics, or a related field0–5 years of professional software or embedded development experienceExperience with Git and standard version control workflowsFamiliarity with build systems, debugging tools, and modern software practicesProficiency in C and C++ fundamentalsExperience with Python or another scripting languageUnderstanding of embedded systems and hardware interactionKnowledge of real-time software concepts (tasks, interrupts, scheduling, synchronization) Working knowledge of embedded communication interfaces and protocolsComfort with Linux and command-line developmentStrong problem-solving and debugging skillsAbility to read technical documentation and interface specificationsEligible to obtain and maintain a security clearanceStrong written and verbal communication skillsStrong problem-solving and debugging mindsetClear written and verbal communicationAbility to learn new technologies quicklyC/C++ fundamentalsEmbedded systems and hardware interactionRTOS and embedded Linux