
Software Engineer
- Takoma Park, MD
- $126,100-227,950 per year
- Permanent
- Full-time
- Lead the design and architecture of backend systems and services.
- Drive initiatives across the engineering team related to scalability, reliability, and performance.
- Build robust, testable, and maintainable Python microservices
- Architect message flows with Kafka, ensuring high availability and fault tolerance
- Define data modeling, indexing, and query patterns for Elasticsearch to meet product requirements
- Guide service deployments, rollout strategies, and observability practices in Kubernetes
- Contribute to and review RFCs, design documents, and architecture reviews
- Develop and integrate Docker containers to be deployed to Kubernetes from development to production
- Monitor automated system integration tests to identify failed modules and components
- Manage individual project priorities, deliverables, and deadlines
- Provides specific input to the software components of system design to include hardware/software trade-offs, software reuse, use of COTS/GOTS in place of new development, and requirements analysis and synthesis from system level to individual software components
- Foster an environment of collaboration with the different team members in the goal of providing quality service and product to our customers
- Act as a mentor to mid-level and junior engineers, offering guidance on best practices and career growth
- Typically requires Bachelor’s Degree and 12-15 years of prior relevant experience or Masters with 10-13 years of prior relevant experience
- Must possess an Active Top Secret/SCI clearance and ability to obtain and maintain a Polygraph
- 7+ years of backend software engineering experience, including at least 5 years in Python
- Proven expertise building and maintaining microservices in production in Kubernetes
- Deep understanding of Elasticsearch internals: sharding, performance tuning, analyzers, query DSL
- Strong Kafka experience: event design, stream processing, performance tuning
- Solid grasp of distributed systems principles: fault tolerance, consensus, data consistency
- Experience leading technical projects and mentoring engineers
- Strong testing discipline with a focus on automation, coverage, and CI/CD pipelines
- Experience with DevOps practices and tools including Continuous Integration/Continuous Delivery (CI/CD) tools and practices, especially Gitlab or Jenkins
- Hands-on development and/or scripting experience, especially Python and Bash in Linux environment
- Experience with AWS cloud-based architecture, services, and software development
- Strong verbal and written communication skills
- Enthusiastic with the ability to work well in a team and a self-starter who can work on their own
- Active Security+ certification and ability to obtain Privileged User Account (PUA) certification by the Government
- Elasticsearch certifications or other program stack related certifications
- Experience with system design at scale — dealing with 100k+ messages/sec, TB-scale indexes.
- Familiarity with schema registries and Kafka streaming patterns
- Familiarity with authentication and authorization products such as Keycloak
- Experience with security best practices for services: authN/Z, secrets management, data protection
- GraphQL familiarity and/or Apache NiFi experience
- Hardware on-prem and cloud-based deployments using Kubernetes
- Proficiency with infrastructure-as-code (ie CloudFormation, Terraform, Pulumi)
- Experience of a production/enterprise systems at scale
- Knowledge of distributed systems concepts (e.g., idempotency, eventual consistency)
- Proactive in identifying tech debt, systemic issues, and areas for team/process improvement