Lead Java Developer - Performance Engineering
SmarshIndiaFull-Time5d ago
JavaComplianceLegalCommunicationsGrowthCommunityEngineeringremotecurated-jd
Job description
Lead Java Developer - Performance Engineering at Smarsh.
About the role
Smarsh helps regulated industries manage digital communication risks. This role focuses on optimizing the performance of Java-based services. You will lead efforts to ensure our cloud-based systems operate efficiently and reliably under various loads.
Key facts
What you'll do
- Regularly write, review, and debug Java code for production systems.
- Lead the architectural and development efforts for scalable Java services and APIs.
- Manage the entire performance engineering lifecycle, from setting benchmarks to validating them.
- Create and implement performance test suites (load, stress, soak, spike, scalability) within CI/CD.
- Analyze application performance to find bottlenecks in CPU, memory, GC, threading, I/O, Kafka, MongoDB, Elasticsearch, Debezium, and network.
- Optimize JVM settings (garbage collection, heap size, thread pools) and application configurations.
- Interpret test results, generate performance reports, and convert findings into engineering tasks.
- Establish performance thresholds and automated checks to prevent regressions.
- Guide and mentor developers, focusing on performance in design and code reviews.
- Work with SRE/DevOps on capacity planning, monitoring, and production performance.
- Contribute to architectural decisions affecting scalability, reliability, and cost.
Requirements
- Over 8 years of software development, with strong, current Java (Java 11/17+) and JVM expertise.
- Proven experience designing and running large-scale distributed cloud systems on AWS.
- Hands-on experience with Apache Kafka for event streaming, partitioning, and tuning.
- Expertise in MongoDB data modeling, indexing, and query optimization.
- Experience with Elasticsearch indexing, query performance, and cluster tuning.
- Practical knowledge of Debezium for change data capture pipelines.
- Skill in building production-ready microservices and REST APIs using Spring Boot.
- Demonstrated experience in performance engineering, including designing and executing test programs.
- Hands-on experience with performance testing tools like JMeter, Gatling, k6, or LoadRunner.
- Strong profiling and diagnostic skills using tools such as JProfiler, YourKit, async-profiler, VisualVM, or Java Flight Recorder.
- Deep understanding of JVM internals, garbage collection tuning, memory management, and concurrency.
- Solid experience diagnosing performance issues across the full stack (application, event streaming, database, search, caching, messaging).
- Experience running services in containerized environments (Docker, Kubernetes).
- Familiarity with observability and APM tools (e.g., Grafana, Prometheus, Datadog, New Relic, Dynatrace).
- Demonstrated technical leadership, including mentoring and driving quality standards.
Nice to have
- Experience with high-volume data pipelines and CDC-driven architectures.
- Experience with capacity planning and cost optimization on AWS.
- Familiarity with CI/CD pipelines and integrating performance gates.
- Deep experience tuning distributed data stores under heavy load.
- Contributions to open-source projects, technical writing, or conference speaking on performance or distributed systems.
Skills & tools
- Java (Java 11/17+)
- JVM
- AWS
- Apache Kafka
- MongoDB
- Elasticsearch
- Debezium
- Spring Boot
- JMeter
- Gatling
- k6
- LoadRunner
- JProfiler
- YourKit
- async-profiler
- VisualVM
- Java Flight Recorder
- Docker
- Kubernetes
- Grafana
- Prometheus
- Datadog
- New Relic
- Dynatrace