Embedded Software Engineer

EO Solutions Corp
Huntsville, AL, United States
25 days ago
Apply on www.indeed.com
Prepare application

Role details

Contract type
Internship / Graduate position
Employment type
Full-time (> 32 hours)
Experience required
1 year minimum
Working hours
Regular working hours
Job source

Tech stack

Automation of Tests C++ (Programming Language) Code Review Computer Engineering Continuous Integration Software Debugging Linux on Embedded Systems Embedded Software Ethernet EtherCAT Firmware Field-Programmable Gate Array (FPGA)
+11 more
Hardware-In-The-Loop Simulation Python (Programming Language) Software Maintenance Software Tools Software Engineering Systems Integration Transmission Control Protocol (TCP) Universal Asynchronous Receiver/Transmitter Git Gitlab-ci Information Technology

Job description

EO Solutions is seeking an Embedded Software Engineer to support the development, integration, and testing of embedded control software for advanced High Energy Laser (HEL) systems.

This position will primarily support our directed energy programs, developing software that interfaces directly with sensors, actuators, electronics, communications hardware, and control systems.

We are looking for engineers who enjoy working at the boundary between software and electrical hardware. The ideal candidate has a strong foundation in embedded programming and enough electrical engineering knowledge to troubleshoot real systems using schematics, oscilloscopes, logic analyzers, and other laboratory equipment.

This position is open to candidates ranging from talented new graduates to experienced embedded software engineers. Responsibilities and technical leadership opportunities will scale with experience., * Develop embedded software and firmware in Rust or C/C++ for real-time control systems.

  • Integrate software with sensors, actuators, motor controllers, communications interfaces, and other hardware.
  • Develop and test communications between embedded devices and higher-level control systems.
  • Debug hardware/software interactions using laboratory equipment such as oscilloscopes, multimeters, and logic analyzers.
  • Develop automated unit, integration, and hardware-in-the-loop tests.
  • Participate in system integration, laboratory testing, and field testing.
  • Work closely with software, electrical, mechanical, optical, and controls engineers.
  • Develop maintainable software using Git, code reviews, CI/CD, and automated testing.
  • Document software interfaces, designs, test procedures, and results.
  • Use modern AI-assisted software development tools while independently verifying generated code for correctness, safety, and maintainability.

Requirements

  • Bachelor’s degree in Computer Engineering, Electrical Engineering, Computer Science, or a related technical discipline.
  • Experience programming in Rust, C, or C++, through professional work, internships, coursework, research, or personal projects.
  • Understanding of embedded systems and basic electrical engineering concepts.
  • Ability to read electrical schematics and troubleshoot hardware/software interfaces.
  • Familiarity with common embedded interfaces or protocols such as Ethernet, I2C, UART/RS-232/422, or similar.
  • Strong problem-solving skills and interest in hands-on hardware/software development.
  • Ability to obtain and maintain a U.S. security clearance.

Preferred Qualifications

Experience in one or more of the following is helpful:

  • STM32 or other ARM-based microcontrollers.
  • Embedded Rust or C/C++ firmware development.
  • Ethernet, UDP/TCP, EtherCAT, or other real-time communications.
  • Motor control, servo systems, sensors, or FPGA interfaces.
  • Hardware-in-the-loop testing and automated test equipment.
  • Python for test automation, analysis, or engineering tools.
  • GitLab CI/CD or other automated build and test systems.
  • Linux embedded development.
  • Aerospace, defense, robotics, controls, or Directed Energy systems., * Enjoys making software interact with real hardware.
  • Is comfortable getting into the laboratory and troubleshooting a system rather than stopping at the software boundary.
  • Approaches embedded development with a strong emphasis on testing and correctness.
  • Is curious and willing to learn unfamiliar hardware, protocols, and technologies.
  • Can work independently while collaborating effectively with a multidisciplinary engineering team.
  • Values simple, maintainable solutions over unnecessary complexity.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.indeed.com
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

6:21 min

Investigating push inefficiencies with upstream Git experts

Jonathan Creamer · Coffee With Developers

4:52 min

Connecting namespaces with local virtual ethernet pairs

Oliver Seitz Oliver Seitz · World Congress 2025

1:19 min

Advancing autonomous driving capabilities with specialized software talent

Katrin Lehmann Katrin Lehmann +1 · Coffee With Developers

56 sec

Favorite git commands and the importance of patch commits

Eileen Uchitelle Eileen Uchitelle +1 · Coffee With Developers

3:51 min

Technical skills and collaborative mindsets for mobility engineering roles

Georg Kühberger +1 · LIVE

2:12 min

Implementing automotive ethernet and connected remote vehicle telemetry applications

David Romić · World Congress 2023

Videos

See all

Related articles

See all