Yesterday
Top Secret/SCI
IT - Software
Naval Research Laboratory, DC (On-Site/Office)
SG2 Recruiting seeks a Embedded Software Developer who will be responsible supporting Naval Center for Space Technology (NCST) contract. The NCST is located at the U.S. Naval Research Laboratory (NRL) in Washington, DC, and the leading laboratory for Navy space programs. NCST’s mission is to “preserve and enhance a strong space technology base and provide expert capabilities in the development and acquisition of space systems which support Naval missions.”
For the last 25 years, the NCST has developed, enhanced, and maintained a collection of software used for design, development, test, launch, and mission operations of DoD space assets. This software is constantly being enhanced to provide state of the art solutions to space applications. The core suite of software components are used in all aspects of the spacecraft or component life-cycle.
What You Will Be Doing:
Developing, maintaining, and enhancing complex and diverse software systems based upon documented requirements.
Providing specific input to the software components of a system design to include hardware/software trade-offs, software reuse, use of COTS/GOTS in place of new development, and requirements analysis and synthesis from system level to individual software components.
Designing, implementing, and integrating software applications or performing software engineering tasks.
Utilizing software engineering and design methodologies appropriate to the development, integration, and production environment.
Ensuring efficient delivery of software engineering capabilities using industry standards and repeatable processes.
Mitigating risks, controlling costs and schedule variance, and effectively managing large scale, integrated software projects.
Reviewing and testing software components for adherence to the design requirements and documenting test results.
Performing comprehensive testing on computer hardware and software components to evaluate operational and performance compliance of the overall systems.
Developing under the real-time constrains of deadlines, task schedules, rates, task priorities, watchdog timers, interrupts, latency and jitter of soft and hard real-time operating systems.
Managing and mitigating interprocess communications leveraging message queues, mutex, semaphores, blocking and non-blocking operations in multi-threaded software implementations.
Designing and developing distributed software systems leveraging multiple software, hardware, and communication technologies.
Utilizing standard communications ports and interfaces to facilitate communication between processes, processors, computers, and peripheral systems.
Developing hardware and application specific boot code for establishing baseline services and loading OS and application code into execution memory.
Assessing and making recommendations on processor, memory and single board computer configurations which meet the compatibility, performance, memory and interface requirements of the system.
Applying expertise required to adequately utilize the existing tools sets that include MySQL, NoSQL databases, Lint, Wind River tools, Clang Analyze, Klocwork code analysis tools, JAMA and Atlassian tracking tools, Windows and Linux Operating systems, GNU GCC, LLVM/Clang, C, C++03 and earlier, C++11 and greater (modern C++), Java, Python, CMake, Makefile, shell scripting, GDB, LLDB, PPC/Arm/x86 Assembly compilers and programming languages and Matlab/Simulink, Unreal Engine modeling and simulation tools
What You Will Need (Requirements):
Active TS/SCI clearance
Minimum B.Sc., Aerospace, Mechanical or Electrical Engineering, Physics, Computer
Science or Mathematics
Experience with embedded software integration, test and operations.
Experience serving as lead embedded software design or architect and oversees all technical aspects of development.
Experience as the embedded software build and product manager.
Experience serving as embedded software technical expert with Field Programmable Gate Array (FPGA) Interfacing
Ability to commute daily to Naval Research Lab location in Washington, DC
For the last 25 years, the NCST has developed, enhanced, and maintained a collection of software used for design, development, test, launch, and mission operations of DoD space assets. This software is constantly being enhanced to provide state of the art solutions to space applications. The core suite of software components are used in all aspects of the spacecraft or component life-cycle.
What You Will Be Doing:
Developing, maintaining, and enhancing complex and diverse software systems based upon documented requirements.
Providing specific input to the software components of a system design to include hardware/software trade-offs, software reuse, use of COTS/GOTS in place of new development, and requirements analysis and synthesis from system level to individual software components.
Designing, implementing, and integrating software applications or performing software engineering tasks.
Utilizing software engineering and design methodologies appropriate to the development, integration, and production environment.
Ensuring efficient delivery of software engineering capabilities using industry standards and repeatable processes.
Mitigating risks, controlling costs and schedule variance, and effectively managing large scale, integrated software projects.
Reviewing and testing software components for adherence to the design requirements and documenting test results.
Performing comprehensive testing on computer hardware and software components to evaluate operational and performance compliance of the overall systems.
Developing under the real-time constrains of deadlines, task schedules, rates, task priorities, watchdog timers, interrupts, latency and jitter of soft and hard real-time operating systems.
Managing and mitigating interprocess communications leveraging message queues, mutex, semaphores, blocking and non-blocking operations in multi-threaded software implementations.
Designing and developing distributed software systems leveraging multiple software, hardware, and communication technologies.
Utilizing standard communications ports and interfaces to facilitate communication between processes, processors, computers, and peripheral systems.
Developing hardware and application specific boot code for establishing baseline services and loading OS and application code into execution memory.
Assessing and making recommendations on processor, memory and single board computer configurations which meet the compatibility, performance, memory and interface requirements of the system.
Applying expertise required to adequately utilize the existing tools sets that include MySQL, NoSQL databases, Lint, Wind River tools, Clang Analyze, Klocwork code analysis tools, JAMA and Atlassian tracking tools, Windows and Linux Operating systems, GNU GCC, LLVM/Clang, C, C++03 and earlier, C++11 and greater (modern C++), Java, Python, CMake, Makefile, shell scripting, GDB, LLDB, PPC/Arm/x86 Assembly compilers and programming languages and Matlab/Simulink, Unreal Engine modeling and simulation tools
What You Will Need (Requirements):
Active TS/SCI clearance
Minimum B.Sc., Aerospace, Mechanical or Electrical Engineering, Physics, Computer
Science or Mathematics
Experience with embedded software integration, test and operations.
Experience serving as lead embedded software design or architect and oversees all technical aspects of development.
Experience as the embedded software build and product manager.
Experience serving as embedded software technical expert with Field Programmable Gate Array (FPGA) Interfacing
Ability to commute daily to Naval Research Lab location in Washington, DC
group id: 90835416