- Provide software engineering support for a suite of high visibility, heavily used reporting and authoring tools and their underlying RESTful microservices infrastructure. Tasks include:
- Work with a team of developers designing, developing, and supporting a suite of mission critical web applications for report authoring and dissemination
- Apply new technology to improve collaboration among analysts and ensure robust and rapid delivery of critical intelligence to those who need it
- Communicate with customer leadership, end users, help desk staff, and other product teams to gather requirements and resolve issues
- Ensure that application user interfaces meet accessibility requirements and comply with WCAG 2.1 guidelines
- Develop software in an AWS environment, leveraging automated testing and continuous integration and deployment practices to deliver software releases to multiple environments
- Mentor junior software engineers, participate in code reviews, and recommend improvements to the team’s engineering practices
- Contribute to project planning, new feature design, and documentation
- Provide operational support to include troubleshooting issues and provide after-hours, on-call support on a rotating schedule with other team members. (Support is on a rotational schedule)
- Experience developing at least one Object Oriented System (OOS)
- Extensive experience in planning and accomplishing goals and complicated tasks and providing consultation on complex projects as top-level contributor or specialist.
- Firm grasp of modern computer programming with a minimum of 6 years’ experience in programming and development of application software for complex systems and software testing.
- Developing solutions integrating and extending COTS products
- Demonstrated technical writing skills; generated at least 5 documents in support of a SW development project
- Experience designing and developing applications that contain a user-facing view component
Technical Skills Required:
- Extensive experience in planning, accomplishing goals, complicated tasks and providing consultation on complex projects as a top-level contributor or specialist. Have a firm grasp of modern computer programming with a minimum of six (6) years’ experience in programming and development of application software for complex systems, software testing and experience developing solutions integrating and extending COTS products.
- Have demonstrated technical writing skills and have generated at least five (5) documents in support of a software development project and experience designing and developing applications that contain a user-facing view component.
- An Active TS/SCI clearance with polygraph
Special Technical Skills Desired:
- Experience consuming and writing RESTful backend microservices in Java and Node.Js.
- Experience with SpringBoot 2 and embedded tomcat deployments
- Experience using and managing/optimizing NoSQL queries and databases such as MongoDB to persist data for web applications at a large scale (100+ queries per second)
- Familiar with Apache to create and manage data extract, transform, load (ETL) operations for critical data flows
- Utilized Docker, Kubernetes, or similar containerized environments to provide re-useable components that are agnostic of underlying cloud infrastructures
- Experience with proxy services such as HAProxy in large, horizontally scalable environments to serve web content and requests to large numbers of users concurrently
- Familiar with various cloud infrastructures such as AWS or private cloud infrastructures to support scaled architectures
- Experience with Elastic Stack technologies (ElasticSearch, Logstash, Kibana) to provide metrics and monitoring of distributed microservices
- Experience with Agile methodologies (SCRUM)
- Familiar with implementing and testing web services with various automated test frameworks (JUnit, Mockito, Selenium, Jest, Enzyme, Jasmine, Mocha, Protractor, etc.)
- Proven technical debugging/troubleshooting ability on multi-threaded and distributed systems.
- Experience integrating new architectures/systems/services with complicated legacy code bases
Minimum Experience Required:
- 10 years SW development/engineering, including requirements analysis, SW development, installation, integration, evaluation, enhancement, maintenance, testing, and problem diagnosis/resolution. Must be able to communicate directions and provide guidance to junior programmer/analysts. Bachelor’s Degree in Computer Science is highly desired and will be considered equivalent to 4 years’ experience.
- 6 years developing SW in an enterprise environment. At least four 4 years of this experience must have been obtained in the last 7 years
- 4 years developing SW for Windows (2000, 2003, XP, Vista), UNIX or Linux (RedHat versions 3-5) OS. At least 2 years of this experience must have been obtained within the last 4 years.
- TS/SCI w. Polygraph Required