Embedded Real-Time Software Engineer
Apply on
Embedded Real-Time Software Engineer
Atlanta, GA (Hybrid)
Contract-2-Hire
Job Purpose
The Embedded Real-Time Software Engineer is responsible for developing hard real-time embedded systems software. The Embedded Real-Time Software Engineer designs, implements, and tests solutions executing on limited-resource hardware, where the engineer develops software that interfaces to real-time operating systems, device drivers, and board devices. The Embedded Real-Time Software Engineer understands the complexity of allocating hardware board devices, manages hardware device access, architects for software scheduling and low latency, controls system states and modes, manages systems components status and health, and develops domain-specific applications. The Embedded Real-Time Software Engineer performs full software development lifecycle tasks, applies disciplined software development processes, utilizes safety and security unique processes and designs, and incorporates open system software frameworks. The Embedded Real-Time Software Engineer is proficient in programming languages for real-time computing applications, such as C and C++, and demonstrates knowledge in software development principles, computer operating systems, Continuous Integration/Continuous Delivery (CI/CD), DevOps, Application Programming Interface (API) development, container development, and distributed systems. The Real-Time Software Engineer also works as part of a broad team of researchers to innovate new concepts, identify technology stakeholders, and execute challenging research in the national interest.
Key Responsibilities
- Design, test, and develop software packages to meet system requirements.
- Develop and maintain software and scripts to support embedded software development and processes.
- Follow embedded software and firmware development processes established by the organization and/or project team.
- Oversee student employees and verify managed developers are following embedded development processes.
- Contribute to research reports, white papers, and competitive proposals.
- Other related duties, as assigned.
Additional Responsibilities
- Develop software for Military embedded systems applications.
- Develop software requirements and design.
- Develop software using approved coding standards and processes.
- Provide software development estimates.
- Ensure software is developed to meet military, safety, and security standards.
- Create and deliver technical presentations.
Required Minimum Qualifications
- Experience developing software for complex military systems using disciplined.
- Software engineering experience with developing in languages such as C/C++ and/or Ada.
- Experience developing real-time software.
Preferred Qualifications
- Active Secret Clearance