Huntsville, AL

As a member of the technical staff, the Embedded Software Engineer is responsible for writing software specifications, high-level & low-level design, and implementation of software for new electronic products. This includes specification reviews, development program timelines and reports, design reviews, and documentation packages. This engineer will also be responsible for technical support of mature electronic products currently in production. The engineer will serve as a direct support on site to the customer as needed and will work with the project team to analyze customer returns to find root cause and propose corrective actions.


  • Develop, review, update the customer/internal Software requirements specification
  • Work with the project team toward implementation or design and process improvements
  • Execute full life-cycle software development per ASPICE, CMMI processes
  • Create Design documents using UML methodologies & tools
  • Create Project Workspaces, Compiler Configurations, linker scripts & build scripts to build software
  • Write well designed, testable, Modular, Portable efficient code
  • Conduct Static Analysis, Unit test, Bench level tests for embedded software
  • Produce specifications and determine operational feasibility
  • Integrate software components into a fully functional software system
  • Develop and implement software verification plans and quality assurance procedures
  • Document and maintain software functionality
  • Tailor and deploy software tools, processes and metrics
  • Comply with project plans and industry standards


  • Bachelor’s Degree in Computer Engineering or Electrical Engineering
  • Minimum of 6 years of embedded software development experience
  • Proficient in Embedded C, Object Oriented C, C++
  • Ability to design, develop, code, test and debug automotive system software in a fast pace environment
  • Hands-on experience in Embedded Systems IDE’s, Compilers, Linker Configurations & Scripts
  • Hands-on experience in RTOS, Microcontroller device drivers and application development
  • Hands-on experience in Software validation methods such as Static Analysis (MISRA, CERT), Unit Testing, Integration testing and tools like QAC, Scitools Understand, Polyspace, CANTATA etc.
  • Experience or knowledge of Automotive protocols such as LIN, CAN
  • Work with Design, QA, and Engineering to determine optimal embedded software system for new and existing products, based on specifications
  • Experience in working with global software teams
  • Ability to understand and review electronics schematics
  • Experience with test-driven development & Software documentation skills
  • Experience in Software development process according to various SDLC, ASPICE, CMMI & documentation
  • Good communication skills

Go to all jobs