Required Visa Status:
Citizen | GC |
US Citizen | Student Visa |
H1B | CPT |
OPT | H4 Spouse of H1B |
GC Green Card |
Employment Type:
Full Time | Part Time |
Permanent | Independent - 1099 |
Contract – W2 | C2H Independent |
C2H W2 | Contract – Corp 2 Corp |
Contract to Hire – Corp 2 Corp |
Description:
PROJECT/UNIT DESCRIPTION
The Applied Embedded Systems (AES) Division in the Electronic Systems Laboratory (ELSYS) is currently seeking an embedded software/firmware engineer. AES is predominantly focused on the research, development, testing, and deployment of embedded electronic and electromechanical systems. These systems provide our sponsors with technological solutions in the fields of Electronic Warfare (EW), command and control, communications, avionics, entertainment, physiological monitoring, and other applications. Many of these systems serve a national security mission by providing advanced capabilities for fulfilling multiple missions and protecting against a variety of adversarial threat types. The embedded software/firmware engineer selected for this position will design, develop, and execute solutions for these complex systems.
REQUIRED MINIMUM QUALIFICATIONS
- Experience developing software in C/C++ for embedded applications
- Experience leading source control and configuration management of software products via git or similar
PREFERRED QUALIFICATIONS
- Active Secret Clearance
- Experience leading teams with mixed expertise
- Experience with FPGA SoCs, especially Xilinx
- Experience with embedded Linux, such as Yocto or Xilinx PetaLinux
- Experience with an RTOS, such as VxWorks 7
- Experience with containers such as Docker and Kubernetes
- Experience developing software that implements digital processing of signals
- Experience with GNU radio implemented in embedded applications
- Experience working with radar or other electronic warfare systems
- Experience utilizing DevOps tools such as the Atlassian tool suite or GitLab
TRAVEL REQUIREMENTS
<10% travel
U.S. CITIZENSHIP REQUIREMENTS
Due to our research contracts with the U.S. federal government, candidates for this position must be U.S. Citizens.
Responsibilities:
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 and entry-level engineers and verify managed developers are following embedded development processes
- Contribute to research reports, presentations, white papers, and competitive proposals
- Apply expertise in embedded systems to define requirements and develop embedded software designs recognizing limitations of target hardware platforms
- Other related duties, as assigned
ADDITIONAL RESPONSIBILITIES
- Perform analysis of systems and allocate requirements for products utilizing embedded software and firmware
- Develop test plans, procedures, scripts, and tools for test of products utilizing embedded software and firmware
- Support deployment of DevOps pipelines for automated build, check, and test of software and or firmware items