[Remote] Embedded Software Engineer
Note: The job is a remote job and is open to candidates in USA. Axiom Space is a human space exploration company developing commercial space infrastructure, human spaceflight services, and advanced spacesuits. The Mid-level Embedded Software Engineer will design, develop, integrate, and maintain firmware for space suit avionics and ground support equipment, collaborating closely with hardware engineers on embedded platforms, drivers, interfaces, testing, and system verification.
Responsibilities
- Develop, integrate, and maintain firmware within the Avionics group
- Design and develop communication interfaces such as UART, SPI, I2C, USB, RS232, RS485, Ethernet, or similar
- Design with ADC, DAC, Interrupts, DMA, Timers, Digital Potentiometers and GPIO
- Collaborate with hardware engineers to bring up new boards, debug hardware/software interactions, and develop drivers
- Participate in software architecture design and code reviews
- Develop hardware-in-the-loop (HIL) systems and integrate with simulation systems
- Contribute to system-level documentation including ICDs, design artifacts, test reports, and operational procedures
- Contribute to system verification and validation
- Troubleshoot and resolve issues related to performance, memory, timing, and reliability
- Communicate project progress, status, and potential issues clearly to stakeholders and leadership, ensuring transparency and alignment with organizational goals
- Implement and maintain agile project management methodologies throughout the project lifecycle, adapting to changing requirements and priorities
- Perform additional job duties as assigned, supporting cross-functional initiatives and contributing to the overall success of the cybersecurity program
Skills
- Bachelor's or master's in computer engineering, electrical engineering, aerospace engineering, computer science, or a related discipline
- 3+ years of professional experience in embedded systems, firmware and driver development
- Experience developing communication interfaces such as UART, SPI, I2C, USB, RS232, RS485, Ethernet, or similar
- Experience with ADC, DAC, Interrupts, DMA, Timers, Digital Potentiometers and GPIO
- Experience with hardware bring-up, debugging tools (JTAG, oscilloscopes, logic analyzers), and embedded tool chains
- Strong understanding of real-time constraints, deterministic execution, and safe/reliable embedded design principles
- Track record of making things happen in ambiguous, fast-moving environments
- Uses good judgement to problem-solve proactively, positively impacting hard challenges
- Demonstrated organization skills to meet tight deadlines with high quality results
- Strong proficiency in C/C++ and Python, familiarity with modern embedded development practices
- Demonstrated experience in applying security best practices
- Experience with version control systems (Git, GitLab) within continuous integration pipelines
- Proficiency in software testing
- Experience in presenting complex topics to management and other stakeholders
- Must be willing to work evenings and weekends as needed to meet critical project milestones
- Work may involve sitting or standing for extended periods (90% of the time)
- May require lifting and carrying up to 25 lbs. (5% of the time)
- Exposure to software development in Linux environments a plus
Company Overview