We are seeking a skilled and motivated Software Engineer to join our team in developing cutting-edge geospatial analysis, ETL (Extract, Transform, Load), and visualization microservices to support mission-focused systems. As a Software Engineer, you will play a crucial role in designing, implementing, and maintaining scalable and performant Java-based microservices that interact with both relational and NoSQL databases. Your work will contribute to enhancing the capabilities of our geospatial data processing and visualization tools, enabling better decision- making for mission-critical applications.
What you will do:
· Design, develop, and maintain Java-based microservices for geospatial analysis, ETL, and visualization, adhering to best practices for scalability, performance, and maintainability.
· Collaborate with cross-functional teams to gather requirements and translate them into technical specifications for microservices.
· Interface with both relational databases (e.g., PostgreSQL, MySQL) and NoSQL databases (e.g., MongoDB, Elasticsearch) to store, retrieve, and manipulate geospatial data efficiently.
· Optimize database queries and data access patterns for performance and scalability.
· Write clean, well-structured code and perform code reviews to ensure adherence to coding standards and best practices.
· Develop and execute unit tests, integration tests, and end-to-end tests for microservices to ensure reliability and stability.
· Identify and address performance bottlenecks within microservices and database interactions to achieve optimal response times for geospatial analysis and visualization.
· Create and maintain technical documentation, including architectural diagrams, API documentation, and development guides for microservices.
· Stay up-to-date with industry trends, emerging technologies, and best practices related to geospatial analysis, microservices, and database technologies.
· Proactively identify opportunities for process improvement and innovation within the development lifecycle.
Key Technologies Used: · Java/Spring · Linux/Windows · ElasticSearch · MySQL/PostGreSQL · AWS · Kubernetes · Docker
· TS/SCI with Polygraph
· Fourteen (14) years experience in programs and contracts of similar scope, type and complexity is required.
· Bachelor's or higher degree in Computer Science, Software Engineering, or a related field. Four (4) years of additional experience may be substituted for a bachelor’s degree.
· Proficiency in Java programming language.
· Strong understanding of microservices architecture and design principles.
· Familiarity with relational and NoSQL databases and their interactions.
· Excellent problem-solving skills and ability to work in a collaborative team environment.
· Effective communication skills for both technical and non-technical audiences.
· Self-motivated and able to manage multiple tasks and priorities effectively.
· Experience with geospatial data processing, analysis, and visualization.
· Knowledge of ETL processes and data transformation techniques.
· Experience with geospatial libraries and tools.