logo

View all jobs

Principal Software Engineer w/ AWS, Azure, and Java

Annapolis Junction, MD · Information Technology
REQUIRED SKILLS/ABILITIES:
  • TO BE CONSIDERED FOR THIS POSITION YOU MUST HAVE AN ACTIVE TS/SCI W/ FULL SCOPE POLYGRAPH SECURITY CLEARANCE (U.S. CITIZENSHIP REQUIRED)  
The Principal Software Engineer will work closely with Systems Engineers to deliver Data Flow Inventory services, visualizations, analytics, and metrics. The engineer may have to coordinate efforts with personnel supporting other contracts/TTOs. Duties will include recommending and implementing modern technology stacks to include open source software; developing scalable microservices in a cloud based environment; integrating data from external systems; developing a query application programming interface (API) for systems integration; developing visualizations of data flow inventory; implementing a common data model across heterogeneous data inputs; and developing analytics and metrics.

Required:
•(15) years of Software Engineering experience is required.
•Experience with Cloud platforms such as Amazon Web services (AWS) and Azure, with attention to building cloud-agnostic solutions
•Microservices architecture and implementation
•Java and JavaScript software development
•Willingness to work with systems engineers and customers to prototype and explore architectures to adapt to mission needs

Preferred:
•Visualization experience preferably with graph datasets showing network relationships with overlays of metadata.
•Experience with virtualization, containerization, Docker, Kubernetes.
•Modern user interface development preferably in a web enabled environment (ex. Vue.js, React, Angular)
•Backend development and integration experience consuming RESTful services, incorporating JSON data formats into NoSQL databases like MongoDB.
•Experience with Spring Core, Spring Boot, Spring MVC, Spring Integration and Spring Security.
•Experience with JUnit, Spock, Powermock, Mockito, or other unit testing frameworks.

At least fifteen (15) years in software development/engineering, including requirements analysis, software development, installation, integration, evaluation, enhancement, maintenance, testing, and problem diagnosis/resolution. The individual must be able to communicate directions and provide guidance to junior programmer/analysts, as required

At least eight (8) years developing software using the Java programming language. At least six (6) years of this experience must have been obtained in the last eight (8) years

At least six (6) years demonstrated experience developing software for Windows (2000, 2003, XP, Vista), UNIX and Linux (Redhat versions 3-5) operating systems.  At least two (2) years of this experience must have been obtained within the last four (4) years

Experience planning, accomplishing goals, complicated tasks, and providing consultation on complex projects as top-level contributor or specialist

At least six (6) years in programming and development of application software for complex systems and software testing

Experience architecting, designing, developing, testing, and supporting integration of software systems with functional requirements within a CMMI Level 2 process structure

Experience "wrapping" legacy systems or components as Web Services within a SOA framework

Developing solutions integrating and extending COTS products

Developing of Framework infrastructure and services within one of the SOA design patterns

Experience with performance tuning and optimization of service-based Framework infrastructure and services

Developing of custom adapters allowing the integration of legacy (i.e., capabilities not developed as services) capabilities with service-based Framework infrastructure and services
Powered by