Principal Web Software Engineer
Are you interested in expanding your career through experience and exposure, all while supporting a mission that seeks to ensure the security of our nation and its allies? If so, then Northrop Grumman is the place for you. As a leading global security company, we provide innovative systems, products and solutions to our customers worldwide. We are comprised of diverse professionals that bring different perspectives and ideas, understanding that the more experiences we bring to our work the more innovative we can be. As we continue to build our workforce we look for people that exemplify our core values, leadership characteristics, and approach to innovation.
Northrop Grumman Technology Services sector is seeking a Principal Software Engineer to join our team of qualified, diverse individuals. This position will be located in McLean, VA. The qualified applicant will become part of Northrop Grumman's Department of State (DOS) Consular Systems Modernization (CSM) Program, for the Bureau of Consular Affairs (CA). This initiative is intended to modernize and consolidate the operational environment under a common technology framework in order to better support the services provided to CA's customers.
As part of the modernization program, the Principal Software Engineer will be responsible for supporting the full software development lifecycle (SDLC), including requirements definition and prototyping, software design, implementation, testing, and maintenance.
Roles and Responsibilities:
- Work with the system engineering team to understand customer business needs and priorities
- Define software requirements, both functional and non-functional, as high level epics, features and user stories to support SAFe Agile methodology
- Develop prototypes to support product and/or technology evaluations
- Design software using industry standard design patterns and best practices to improve maintainability, flexibility, performance, security, and availability
- Define the software design using a model-based engineering strategy (SysML/UML)
- Implement enterprise web-based applications (Java technology stack) within a SAFE Agile environment
- Develop single page applications using a client-side rendering framework
- Develop service-based solutions (REST-based web services) using the Java technology stack
- Develop automated unit and integration tests that can be incorporated into CI/CD pipeline
- Support CI/CD initiatives and utilize static code analyzers to ensure high quality source code
- Support software testing activities, including IV&V, and provide timely software defect resolutions
- Provide production and operational support, as needed, to ensure deployed software meets functional and non-functional requirements
To be considered for this position, you must minimally meet the knowledge, skills, and abilities listed below:
- Bachelor's degree in STEM and at least 5 years' experience
- Experience in software development and maintenance projects with involvement in requirements management, technical design/development, and deployment steps within SDLC
- Experience supporting software development activities for software projects specializing in development of enterprise web applications
- Experience with static code analyzers (CAST, HP Fortify, SonarQube, etc.)
- Experience developing 508 compliant solutions
- Must have a current, active Secret (or higher) clearance. An interim clearance may be acceptable.
Candidates with these desired skills will be given preferential consideration:
- Experience in enterprise software system modernization efforts
- Experience with web development, client-side browser technology stack, to implement enterprise web-based applications within a SAFE Agile environment
- Experience in cloud based environments including the development of software that supports architectures that involve public/hybrid clouds
- Experience developing single page applications using a client-side rendering framework (Angular, React, etc.) and responsive CSS framework (Bootstrap, Material Design, etc.)
- Experience developing service-based solutions using the Java technology stack, building REST-based services (Spring MVC, Spring Boot, etc.), and deploying in a container-based microservices architecture (Docker, Spring Boot, Kubernetes, etc.)
- Experience developing high volume, highly available, and secure software systems
- Experience developing and deploying software systems in an incremental manner using the SAFe Agile methodology
Back to top