Agile Defense is seeking a skilled and driven Software Engineer to join their dynamic team to contribute to the development and optimization of software systems that drive mission-critical outcomes for their clients.
Requirements
- Proven experience architecting and delivering production-grade applications and RESTful services.
- Strong proficiency in at least one modern backend language and framework (e.g., Java/Spring Boot, .NET Core, Node.js/NestJS) and familiarity with frontend frameworks (e.g., React, Angular, Vue).
- Hands-on experience with relational and NoSQL databases, data modeling, and performance optimization.
- Expertise in software security fundamentals: OWASP Top 10, secure coding practices, authN/authZ (e.g., OAuth2/JWT), and secrets management.
- Experience with cloud platforms (AWS, Azure, or GCP), containers (Docker), and orchestration (Kubernetes).
- Solid understanding of CI/CD pipelines, automated testing (unit, integration, contract), and infrastructure-as-code.
- Experience with microservices architecture, event-driven systems (Kafka/RabbitMQ), and API-first design (OpenAPI/Swagger).
Responsibilities
- Own end-to-end architecture and technical direction for high-impact applications and services, including API design, data modeling, scalability, and security.
- Design, build, and optimize performant software components and services; ensure code quality, test coverage, and operational readiness.
- Drive platform scalability (horizontal/vertical), resilience (fault tolerance, failover), and observability (metrics, logs, traces).
- Establish and enforce engineering standards (coding guidelines, design patterns, testing strategies, documentation).
- Lead technical planning, backlog grooming, and design reviews; break down complex initiatives into deliverable increments.
- Mentor and coach engineers; conduct thoughtful code reviews; foster a culture of learning and continuous improvement.
- Champion modern development practices (CI/CD, DevSecOps, automated testing, “shift-left” security).
Other
- Bachelor’s degree in Computer Science, Engineering, or related field (or equivalent experience).
- 5–8+ years of professional software engineering experience, including leading technical initiatives or feature teams.
- Excellent communication skills; able to translate complex technical concepts for diverse stakeholders.
- 100% remote work environment.
- Equal Opportunity Employer/Protected Veterans/Individuals with Disabilities.