We at Navius are seeking a
Software Engineer 1 to join a software development team supporting the development and sustainment of integrated, feature-rich capabilities that promote modernization of visualization and presentation tools.
This team provides application development and support for tools that allow mission analytic users to view existing data and contribute new information in a collaborative environment.
Position Details- Job Status: Open
- Quantity Required: 1
- Work Location: Contractor facility in Annapolis Junction, MD
- Functional Area: Software
- Clearance Required: TS/SCI with client-level polygraph
- Access: Both low-side and high-side access
- Telework: Potential telework
Required Skills- Java
- Python
- Unit testing and integration testing
- Source code control, specifically Git
- IDE experience with IntelliJ or Eclipse
- Maven
- Spring Boot
- Flask
Familiarity With Multiple of the Following- Analytical development, including machine learning, streaming, and batch processing
- Virtualization environments, including Kubernetes, containers, Docker, containerd, AWS, and HCI
- Streaming frameworks such as Kafka and Flink
- Databases and data stores such as MongoDB, ArangoDB, Redis, and PostgreSQL
Desired SkillsRequired EducationBachelor's degree in Computer Science or a related discipline from an accredited college or university is required. Four (4) years of additional software engineering experience on projects with similar software processes may be substituted for a bachelor's degree.
Required ExperienceSeven (7) years of experience as a Software Engineer on programs and contracts of similar scope, type, and complexity is required.
Responsibilities- Analyze user requirements to derive software design and performance requirements
- Debug existing software and correct defects
- Provide recommendations for improving documentation and software development process standards
- Design and code new software or modify existing software to add new features
- Integrate existing software into new or modified systems or operating environments
- Develop simple data queries for existing or proposed databases or data repositories
- Write or review software and system documentation
- Serve as team lead at the level appropriate to the software development process being used on any particular project
- Design or implement complex database or data repository interfaces and queries
- Develop or implement algorithms to meet or exceed system performance and functional standards
- Assist with developing and executing test procedures for software components
- Develop software solutions by analyzing system performance standards, conferring with users or system engineers, analyzing systems flow, data usage, and work processes, and investigating problem areas
- Modify existing software to correct errors, adapt to new hardware, or improve performance
- Design, develop, and modify software systems using scientific analysis and mathematical models to predict and measure outcomes and consequences of design