Software Engineer
ARCHIVED
We can't find an active application page for this role right now. It may reopen or be listed elsewhere. Use Next Steps to search for an active apply link and similar live jobs.
Job SummaryThe Software Engineer supports the design, development, testing, and maintenance of software systems and applications. The role contributes to software engineering activities including requirements definition and management, architecture development, coding, testing, debugging, and documentation. The Software Engineer develops and maintains software components and evaluates software performance within realistic operational Naval environments and scenarios.Essential Duties Design, develop, maintain, and support software applications and systems. Develop or maintain software such as operating systems, communications software, database packages, compilers, assemblers, and utility programs for software applications. Define and manage software requirements. Perform software design, coding, benchmarking, debugging, and documentation activities. Support the software development lifecycle including architecture development and implementation. Prepare and develop technical documentation including Software Development Plans (SDPs), Engineering Change Proposals (ECPs), Interface Change Requests (ICRs), Interface Design Specifications (IDS), and software test plans and reports. Conduct analytical evaluation of software performance in realistic operational Naval environments and scenarios. Conduct software testing at multiple levels including unit, system, and system-of-systems testing. Perform analyses to predict and quantify software constraints and design actionable corrective measures. Education Bachelor’s degree in Engineering, Mathematics, Physics, Operations Research, or Computer Science. Experience Experience with Naval Surface Warfare Center / DoD Test and Evaluation support preferred. Five (5) years of experience in software engineering. --OR-- Bachelor’s degree from an accredited college or university in Engineering, Mathematics, Physics, Operations Research, or Computer Science and two (2) years of experience in software engineering. Software engineering experience should include work as a developer creating or maintaining two or more of the following: operating systems, communications software, database packages, compilers, assemblers, or utility programs for software applications. Experience in the definition and management of software requirements, design, code, benchmark testing, debugging, software development lifecycle, architecture, and documentation. Experience developing and understanding technical documents including SDPs, ECPs, ICRs, IDS, and software test plans/reports, and evaluating software performance in realistic operational Naval environments and scenarios. Experience in at least one (1) of the following areas: Cyber-security Programming languages such as C, C++, C#, Java, HTML, DotNET, UML or SysML Real-time programming Conducting software testing at multiple levels (unit, system, system of systems), performing analyses to predict and quantify software constraints, and defining or designing actionable corrective measures Big data, data mining, machine learning, or artificial intelligence techniques. Knowledge, Skill And Abilities Knowledge of software engineering principles including requirements management, design, coding, testing, debugging, and documentation. Knowledge of the software development lifecycle and software architecture practices. Ability to develop and maintain software such as operating systems, communications software, database packages, compilers, assemblers, and utility programs. Ability to develop and understand technical documentation including SDPs, ECPs, ICRs, IDS, and software test plans and reports. Ability to evaluate software performance in realistic operational Naval environments and scenarios. Knowledge or experience in one or more of the following: cyber-security; programming languages such as C, C++, C#, Java, HTML, DotNET; UML or SysML; real-time programming; multi-level software testing and analysis; or big data, data mining, machine learning, or artificial intelligence techniques.