Software Engineer II

CDIT

Norfolk, VA

JOB DETAILS
SKILLS
Agile Programming Methodologies, Amazon Web Services (AWS), Analysis Skills, Application Programming Interface (API), Best Practices, CMVC (Configuration Management Version Control), Cloud Computing, Code Reviews, Coding Standards, Communication Skills, Computer Engineering, Computer Science, Construction Design, Construction Industry Software, Continuous Deployment/Delivery, Continuous Integration, Customer/Client Research, Detail Oriented, DevOps, DoD Acquisitions, Docker, Documentation Standards, Emerging Technology, Ergonomics, Functional Testing, Git, Identify Issues, Information Technology & Information Systems, Integration Testing, Internet Security, Java, JavaScript, Jenkins, Leadership, Maintain Compliance, Mathematics, Mentoring, Microsoft C# (C Sharp), Microsoft Windows Azure, Military/DoD Standards, Naval Sea Systems Command (NAVSEA), Network Operations Center, Operations Processes, Performance Testing, Performance Tuning/Optimization, Presentation/Verbal Skills, Preventative Maintenance, Problem Solving Skills, Production Systems, Programming Languages, Project Estimates, Project Tracking, Project/Program Management, Python Programming/Scripting Language, Quality Assurance, Quality Management, Quality Metrics, Regression Testing, Relational Databases (RDBMS), Reliability Engineering, Requirements Management, Risk Analysis, Risk Management Framework (RMF), Root Cause Analysis, SQL (Structured Query Language), Scrum Project Management and Software Development, Secret Clearance, Security Clearance, Software Administration, Software Architecture Design, Software Debugging, Software Design, Software Development, Software Development Lifecycle (SDLC), Software Engineering, Software Testing, Source Code/Configuration Management (SCM), Sprint Planning, Standup Meetings, Subversion, System Architecture, System Integration (SI), System Test, Systems Engineering, Systems Maintainability, Systems Maintenance, Systems Reliability, Team Player, Technical Leadership, Technical Writing, Technical/Engineering Design, Test Harness, Test Plan/Schedule, Test Tools, Testing, Unit Test, United States Department of Defense (DoD), Vehicle Fleets, Web Services, Writing Skills
LOCATION
Norfolk, VA
POSTED
Today
Job Description
Program Background

The Navy Maritime Maintenance Enterprise Solution (NMMES) is a comprehensive Information Technology (IT) toolset supporting NAVSEA's ship maintenance, overhaul, repair, and modernization operations across the U.S. Navyfleet. NMMES encompasses approximately 79 IT systems, applications, networks, and data centers serving over 51,000 users worldwide at Navy Shipyards (NSY), Intermediate Maintenance Facilities (IMF), Regional Maintenance Centers (RMC), Ship Repair Facilities, and Forward Deployed Regional MaintenanceCenters. The NMMES Technical Refresh (NMMES-TR) program focuses on modernizing these enterprise systems through agile development, DevSecOps practices, and cloud-based services to deliver enhanced capabilities to the fleet.

Position Summary

The Software Engineer applies systematic, disciplined, and quantifiable approaches to the development, operation, and maintenance of software systems within the NMMES enterprise. This position establishes software information and engineering requirements for complex systems that may contain millions of lines of code. The Software Engineer applies knowledge, tools, and methods across the full software development lifecycle-including requirements analysis, design, construction, testing, and maintenance-with the purpose of improving the reliability and maintainability of software systems. This role requires extensive experience and judgment to plan and accomplish goals, and may include leading and directing the work of other team members.

Key Responsibilities
Software Requirements and Design
  • Analyze and define software requirements based on user needs, system specifications, and business objectives
  • Establish software information and engineering requirements for complex enterprise systems
  • Design software solutions using systematic approaches that address scalability, performance, and maintainability
  • Develop software architecture and detailed design documentation following established standards
  • Apply software ergonomics principles to ensure usable and efficient software interfaces
  • Collaborate with systems engineers to integrate software components within larger system architectures
  • Participate in requirements reviews, design reviews, and technical interchange meetings
Software Construction and Development
  • Develop, code, and implement software applications using approved programming languages and frameworks
  • Apply disciplined software development processes regulated by organizational and DoD standards
  • Write clean, efficient, and well-documented code following coding standards and best practices
  • Implement software solutions that improve reliability and maintainability of enterprise systems
  • Utilize version control systems and configuration management tools to manage code repositories
  • Develop and maintain APIs, web services, and integration components
  • Apply DevSecOps practices including continuous integration and continuous delivery (CI/CD) pipelines
  • Perform code reviews and provide technical guidance to ensure code quality
Software Testing and Quality
  • Develop and execute unit tests, integration tests, and system tests for software components
  • Apply quantifiable approaches to measure and improve software quality
  • Collaborate with QA teams to support functional, regression, and performance testing
  • Identify and resolve software defects through debugging and root cause analysis
  • Implement automated testing frameworks to improve testing efficiency and coverage
  • Ensure software meets security requirements and complies with DoD cybersecurity standards
  • Support software accreditation and Authority to Operate (ATO) activities
Software Maintenance and Operations
  • Perform corrective, adaptive, perfective, and preventive software maintenance
  • Troubleshoot and resolve production issues in deployed software systems
  • Optimize software performance and implement enhancements based on user feedback
  • Maintain technical documentation including system specifications, user guides, and operational procedures
  • Support software deployments and releases across development, test, and production environments
  • Monitor system health and implement improvements to enhance system reliability
Technical Leadership and Collaboration
  • Apply extensive experience and judgment to plan and accomplish technical goals
  • May lead and direct the work of junior software engineers and developers
  • Relate software engineering disciplines to computer science, mathematics, and systems engineering
  • Collaborate with project management to estimate effort, identify risks, and track progress
  • Coordinate with quality management to ensure adherence to software quality standards
  • Mentor team members on software engineering best practices and emerging technologies
  • Participate in Agile/Scrum ceremonies including sprint planning, daily standups, and retrospectives
Requirements

Required Qualifications
Education
• Bachelor's degree in a STEM field (Computer Science, Software Engineering, Computer Engineering, Information Technology, Mathematics, or related discipline)

Experience
  • Minimum 4 years of experience in software engineering or related field
  • Familiarity with a variety of software engineering concepts, practices, and procedures
  • Demonstrated experience across the software development lifecycle (requirements, design, construction, testing, maintenance)
  • Experience developing and maintaining complex software systems
  • Proficiency in one or more programming languages (Java, Python, C#, JavaScript, or similar)
  • Experience with relational databases and SQL
  • Experience with version control systems (Git, SVN, or similar)
  • Ability to apply extensive experience and judgment to plan and accomplish goals
Clearance
• Active Secret security clearance (minimum) or ability to obtain

Desired Qualifications
  • Master's degree in Computer Science, Software Engineering, or related field
  • Experience with DoD software development environments and DevSecOps platforms (e.g., Black Pearl)
  • Experience with Agile/Scrum software development methodologies
  • Experience with cloud platforms (AWS, Azure, or DoD cloud environments)
  • Experience with containerization technologies (Docker, Kubernetes)
  • Experience with CI/CD tools (Jenkins, GitLab CI, Azure DevOps)
  • Knowledge of DoD software acquisition processes and the Adaptive Acquisition Framework
  • Experience supporting Navy or NAVSEA IT programs
  • Familiarity with Risk Management Framework (RMF) and ATO processes
  • Experience leading or mentoring software development teams
Technical Skills

Programming Languages

Java, Python, C#, JavaScript/TypeScript, C/C++, SQL

Frameworks & Libraries

Spring Boot, .NET, React, Angular, Node.js, Django

Databases

Oracle, SQL Server, PostgreSQL, MySQL, MongoDB

DevSecOps & CI/CD

Jenkins, GitLab CI/CD, Azure DevOps, SonarQube, Fortify

Cloud & Containers

AWS, Azure, Docker, Kubernetes, OpenShift

Version Control

Git, GitHub, GitLab, Bitbucket, SVN

Testing Tools

JUnit, Selenium, Pytest, Jest, Postman, SoapUI

Methodologies

Agile, Scrum, SAFe, Waterfall, DevSecOps, SDLC

Related Disciplines

Computer Science, Systems Engineering, Project Management, Quality Management

Core Competencies
  • Strong analytical and problem-solving skills with systematic approach to complex challenges
  • Excellent written and verbal communication skills for technical documentation and collaboration
  • Ability to apply extensive experience and sound judgment to plan and accomplish goals
  • Self-motivated with ability to work independently and as part of a collaborative team
  • Leadership capabilities with potential to direct and mentor other team members
  • Commitment to producing reliable, maintainable, and high-quality software
  • Adaptability to learn new technologies, tools, and methodologies
  • Strong attention to detail with focus on code quality and security
  • Ability to relate software engineering to broader disciplines including mathematics and systems engineering

About the Company

C

CDIT