Senior Software Engineer, Back-End (Java)
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. This role requires a hands-on, collaborative individual who excels at tackling complex technical challenges. You will be a key contributor to our core back-end platform, ensuring high availability and reliability. A strong commitment to being a team player and collaboration is essential for success in this fast-paced, growth-oriented environment.
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
- Must reside in the United States and be legally authorized to work in the US without sponsorship.
- 5+ years of professional experience building back-end services using modern Java (Java 17+; Java 21 a plus) and the Spring Boot framework.
- Experience configuring and maintaining Maven multi-module projects, including dependency management.
- Multi-Tenant Architecture: Demonstrated experience developing and maintaining multi-tenant architectures.
- Database & Data Modeling: 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).
- API Development & Production Operations: Experience designing, building and operating production-grade REST APIs, including handling error states, automated testing, logging and production debugging.
- Cloud Infrastructure: Hands-on experience deploying services and managing infrastructure using a major cloud provider (AWS is strongly preferred).
- Participate in an on-call rotation for production support.
Preferred Qualifications
- Experience with GovCloud.
- Experience with multitenant SaaS architectures.
- Exposure to cloud deployment and containerized infrastructure.
- Experience migrating large codebases across major Java/Spring versions.
- Experience with Clickhouse.
- Familiarity with schema evolution / Avro and event-driven design.
- NoSQL and Caching: Familiarity with NoSQL databases (e.g., MongoDB,) and in-memory caching solutions (e.g., Redis or Memcached) to address high-performance requirements.
- Observability and Monitoring: 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 Knowledge: Advanced knowledge of database design, query optimization, and performance tuning beyond basic MySQL administration.
- Experience with the Go language (Golang) in a production environment.
- Familiarity with object-oriented databases.
Pay and benefits
This position is hybrid, 3 days per week onsite (candidates based in the Tysons vicinity will be prioritized). The annual base salary range is $135,000-$210,000 USD (compensation depends on scope, experience, location, skills, and other factors). Medallia offers competitive health and wellness benefits, including medical, dental, vision, 401(k), short-term and long-term disability, life and AD&D insurance, statutory leaves, paid parental leave, and paid holidays. Benefits and eligibility may vary by location and role.