Logo
ClearanceJobs

Embedded Software Developer

ClearanceJobs, Washington, District of Columbia, us, 20022

Save Job

Embedded Software Developer

SG2 Recruiting seeks an Embedded Software Developer who will be responsible for 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." 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 constraints 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