D425 Embedded Software Engineer - Experienced
About the role
Engineers apply software and computer engineering skills to specify, design, develop, integrate, and test, as well as subcontract manage software development for US Navy Nuclear Submarines. Collaborating with systems, hardware, and test engineers, software is developed, tested and maintained for a variety of submarine platforms. This position is on a team that supports the power conversion module system as well as the reactor, steam and electric plant systems.
Responsibilities
- Analysis of system-level requirements
- Development of software and interface requirements
- Detailed design of software components that satisfy the above requirements and integration of hardware/software
- Development of unit testing
- Support to verification and validation testing of performance and operational requirements
- Troubleshoot and enhance existing software to fix defects, support new or changing hardware/requirements, or enhance features and performance
- Create and maintain formal requirements and design documentation
- Support development of system prototypes for research and development projects
Requirements
- A Bachelor of Science degree or higher in Computer Science, Electrical Engineering, or Computer Engineering
- 5-14 years of experience
- Experience with C++ toolset/framework
- Preferred Master’s degree in Computer/Electrical Engineering, Computer Science or equivalent technical degree
- Experience with software unit testing (e.g. JUnit, XUnit, Google Test, etc.) tools and methodology
- Familiarity with power electronics and concepts
- Demonstrated knowledge of software lifecycle methodologies (Waterfall and Agile)
- Demonstrated knowledge of software analysis and design (e.g. UML, diagrams, data flow, etc.)
- Familiarity with a source control tool (e.g. Git, SVN, GitLab, CVS, MS Teams, etc.)
- Experience in requirements analysis and hardware/software design, software code and unit test, hardware/software integration, and software test
- Experience with Linux real-time operating systems, LabVIEW, relational and object-oriented databases
- Familiarity with requirement management software (IBM DOORS)
- Background in control theory
- Experience in embedded software development, safety critical software development, control system development, and/or experience performing software safety analysis
- Ability to obtain and maintain a US DoD Security Clearance
Qualifications
- Required Qualifications
A Bachelor of Science degree or higher in Computer Science, Electrical Engineering, or Computer Engineering.
5-14 years of experience
Experience with C++ toolset/framework
Preferred Master’s degree in Computer/Electrical Engineering, Computer Science or equivalent technical degree
Experience with software unit testing (e.g. JUnit, XUnit, Google Test, etc.) tools and methodology
Familiarity with power electronics and concepts
Demonstrated knowledge of software lifecycle methodologies (Waterfall and Agile)
Demonstrated knowledge of software analysis and design (e.g. UML, diagrams, data flow, etc.)
Familiarity with a source control tool (e.g. Git, SVN, GitLab, CVS, MS Teams, etc.)
Experience in requirements analysis and hardware/software design, software code and unit test, hardware/software integration, and software test
Experience with Linux real-time operating systems, LabVIEW, relational and object-oriented databases
Familiarity with requirement management software (IBM DOORS)
Background in control theory
Experience in embedded software development, safety critical software development, control system development, and/or experience performing software safety analysis
Ability to obtain and maintain a US DoD Security Clearance
Skills
- Ability to follow and enforce processes and procedures
- Self-starter with the ability to work independently
- Strong attention to detail
- Strong Microsoft Word, Excel, and PowerPoint skills
- Strong written and verbal communication skills
- Strong organizational skills