Senior Software Engineer, Back-End (Java)
TechJobsData · McLean, VA · Yesterday
$135k–$210k/yrFull-time
About the role
This is a pivotal opportunity within our Engineering Team for a Senior Software Engineer to drive the development of scalable, high-performance back-end services.
Responsibilities
- Design, build, and maintain Java (21) / Spring Boot microservices and shared libraries used across the team.
- Develop and operate Apache Flink stream-processing jobs that handle high-volume session and event data.
- Build Kafka-based producers/consumers and the utilities that standardize them across services.
- Collaborate cross-functionally with QA, and other engineering team members to define and execute features.
- Integrate services via REST APIs and internal clients; help keep versions and dependencies consistent across a multi-repo Maven landscape.
- Help drive the ongoing Java 21 migration and keep the platform on modern, supported dependencies.
- Optimize and maintain database schemas and queries in MySQL and other storage engines like Clickhouse, Elastic search etc.
- Write tests, participate in code reviews, and support your services in production (observability, on-call as the team matures).
- System Reliability & Monitoring: Own the performance, availability, and observability of services in production.
- Complex Problem Solving: Investigate and resolve highly complex technical issues that span multiple services, platforms, and databases (MySQL, Kafka, cloud environment).
- Security and Data Isolation: Ensure the implementation of robust data isolation and security measures necessary for a high-volume, multi-tenant system.
Qualifications
- Minimum Qualifications: Eligibility Requirement: Must reside in the U.S. and hold U.S. Citizenship or a Green Card (Lawful Permanent Resident) to meet AWS GovCloud compliance requirements.
- Experience: 5+ years of professional experience building back-end services using modern Java (Java 17+; Java 21 a plus) and the Spring Boot framework.
- Maven Projects: Experience configuring and maintaining Maven multi-module projects, including dependency management.
- Multi-Tenant Architecture: Demonstrated experience developing and maintaining multi-tenant architectures.
- Databases: Relational database experience using MySQL for data modeling, schema design and query optimization.
- Event Streaming & Processing: Hands-on experience building event-driven or batch processing workflows using Kafka or streaming/batch frameworks (e.g. Flink, Kafka Streams, Spark, or similar).
- APIs: Experience designing, building and operating production-grade REST APIs, including handling error states, automated testing, logging and production debugging.
- Cloud: Hands-on experience deploying services and managing infrastructure using a major cloud provider (AWS is strongly preferred).
- On-call: Participation in an on-call rotation for production support.
Preferred Qualifications
- GovCloud: Experience with GovCloud.
- Kubernetes: Experience with Kubernetes.
- SaaS: Experience with multitenant SaaS architectures.
- Deployment: Experience with cloud deployment and containerized infrastructure.
- Migration: Experience with large codebases across major Java/Spring versions.
- Clickhouse: Familiarity with Clickhouse.
- NoSQL: Familiarity with NoSQL databases (e.g., MongoDB,) and in-memory caching solutions (e.g., Redis or Memcached) to address high-performance requirements.
- Observability: Experience setting up and utilizing observability tools, including logging, metrics collection (e.g., Prometheus, Grafana), and tracing, to troubleshoot distributed systems in production.
- Advanced Database: Advanced knowledge of database design, query optimization, and performance tuning beyond basic MySQL administration.
- Go: Experience with the Go language (Golang) in a production environment.
- Object-Oriented Databases: Familiarity with object-oriented databases.
Pay
The annual base salary range for this position is $135,000-$210,000 USD.
Schedule
This role is Hybrid, 3 days per week onsite.