Description
Great software engineering is about more than writing code, it's about solving difficult problems, making smart technical decisions, and building capabilities people can depend on.
As a Senior Software Engineer, you'll be a key technical leader, shaping software architecture, solving complex engineering challenges, and helping drive the evolution of critical application capabilities.
Responsibilities:
- Lead the design, development, integration, testing, deployment, and sustainment of a software application that supports the customer's GEOINT mission.
- Translate mission, systems, and technical requirements into scalable software solutions.
- Lead technical design for application components, services, APIs, and integrations.
- Develop and maintain high-quality production software.
- Design and implement scalable backend services and modern web applications.
- Evaluate architectural approaches and recommend solutions based on mission and technical requirements.
- Develop and integrate RESTful APIs, microservices, and data services.
- Design and optimize database schemas, queries, and data-access strategies.
- Troubleshoot complex application, integration, performance, and production issues.
- Lead root-cause analysis for significant technical problems.
- Develop automated unit, integration, and system-level testing strategies.
- Support CI/CD, DevSecOps, cloud, and containerized environments.
- Identify and address technical debt, reliability issues, scalability limitations, and security concerns.
- Serve as a Scrum Master for an Agile software development team, facilitating sprint planning, daily standups, backlog refinement, sprint reviews, and retrospectives.
- Partner with Product Owners and development team members to manage sprint priorities, remove impediments, and support the timely delivery of high-quality software capabilities.
- Promote Agile best practices, foster team collaboration, and drive continuous improvement in sprint execution, team efficiency, and software delivery.
- Provide mentorship and guidance to junior engineers.
- Collaborate closely with Test Engineering, DevSecOps, Systems Engineering, Security, and mission stakeholders.
- Support production releases and operational troubleshooting.
- Evaluate emerging technologies and determine their applicability to mission needs.
- Contribute to technical documentation, engineering standards, and development roadmaps.
Requirements:
- US citizenship is required per contract.
- Bachelor's degree in Computer Science, Software Engineering, or related field and 8-12 years of prior relevant experience or Master's with 6-10 years of prior relevant experience.
- Proficiency with the following technologies:
+ Web: HTML, CSS, JSON, Ajax, and REST APIs + Object-oriented Programming: Python, Java, or JavaScript + Front-end and Back-end Frameworks: React, Angular, Vue.js, jQuery, Spring Boot, Django, Node.js, Flask, or Svelte + Cloud Development: AWS, Azure, or similar cloud platforms + Relational Database: MySQL, PostgreSQL, or SQL Server + Operating System: Windows, Linux + Version Control System: Git
- Strong experience with software architecture and application design.
- Strong experience developing APIs, services, and/or distributed applications.
- Strong database development and data-modeling experience.
- Experience with modern DevSecOps and CI/CD practices.
- Experience troubleshooting complex production and integration issues.
- Experience serving as a Scrum Master or performing Scrum Master responsibilities within an Agile software development team.
- Demonstrated understanding of Agile methodologies, Scrum ceremonies, sprint planning, backlog management, and iterative software delivery.
- Experience using Agile project management tools such as Jira and Confluence to track sprint progress, manage work items, and support team collaboration.
Preferred Qualifications:
- Experience supporting Intelligence Community (IC) mission systems.
- Certified ScrumMaster (CSM), Professional Scrum Master (PSM), or equivalent Agile certification.
- Experience balancing hands-on software engineering responsibilities with Scrum Master duties on a cross-functional Agile team.
- Experience using Agile metrics, including sprint velocity, burndown charts, and cycle time, to identify opportunities for improved team performance.
- Experience with geospatial, intelligence, or other mission-specific data and workflows.
- Experience with AWS and cloud-native architectures.
- Experience with Infrastructure-as-Code (Terraform, Ansible, CloudFormation).
- Experience with GitLab CI/CD, Jenkins, SonarQube, Nexus, Vault, or Keycloak.
- Experience with PostgreSQL, MySQL, SQL Server, OpenSearch/Elasticsearch, or similar technologies.
- Experience with event-driven architectures and messaging technologies.
- Experience with observability, monitoring, logging, and application performance management.