The Naval Nuclear Laboratory, is seeking an experienced Full Stack Embedded Software Engineer to join the software development team that designs and supports advanced naval nuclear propulsion instrumentation and control systems used by the U.S. Navy’s submarine and aircraft carrier fleets. Typical duties for a Full Stack Embedded Software Engineer include:
Participation in full life cycle software development tasks utilizing primarily the C++ programming language. Applications include an internally derived embedded operating system, specialized standalone devices and user interfaces, and supporting development environments and tools.
Revolutionizing the state of software application in safety critical control systems.
Execution of work tasks in an agile development environment as an independent contributing member of an energetic design team.
Applying modern and innovative design approaches to re-factor and improve upon existing code bases and development processes.
Learn more about the Naval Nuclear Laboratory at https://navalnuclearlab.energy.gov/
**This position requires ability to obtain a U.S. Security Clearance.
Advanced level: BS degree in Electrical Engineering, Computer Engineering, Software Engineering, or Computer Science from an accredited college or university and a minimum of four years relevant experience or a MS degree in the same disciplines with a minimum of two years relevant experience. Other engineering disciplines will be considered with demonstrated strong software development experience.
Senior level: BS degree in Electrical Engineering, Computer Engineering, Software Engineering, or Computer Science from an accredited college or university and a minimum of six years relevant experience or a MS degree in the same disciplines with a minimum of four years relevant experience. Other engineering disciplines will be considered with demonstrated strong software development experience.
C++ or equivalent experience with object oriented programming
Use of software version control systems such as Git, Bitbucket or ClearCase
Demonstrated academic and/or professional software development experience
Collaborative team-working skills, including demonstrated ability to interact with multi-disciplined Instrumentation and Control design and qualification teams
Ability to communicate with stakeholders having a range of technical background and experience
Demonstrated creative, critical thinking and troubleshooting skills
Strong drive to solve challenging and complex software issues while ensuring the high quality required for safety critical applications
Job Preferred Skills
Technical experience with:
Software development on Windows and Linux platforms, including development using the Qt framework
Development of an embedded Real time Operating System (RTOS) or applications for an embedded RTOS for safety critical application
Additional programming experience with C#, Java, Python or PERL
Software development in using Agile methods (Scrum/Kanban)
Continuous Integration (CI) techniques and tools, such as Bamboo and Jenkins
Database design and use, including SQL applications
A minimum GPA of 3.0 is preferred.