Key Responsibilities
- Architect, design, develop, test, document, and maintain high-scale, fault-tolerant distributed systems primarily in Java
- Lead software projects spanning multiple distributed teams, mentoring senior engineers and acting as a technical lead
- Design and implement scalable APIs (REST, RPC, GraphQL) and optimize system performance
- Collaborate with cross-functional partners including product managers, designers, and senior leadership
- Develop and deploy containerized applications using cloud-based Kubernetes (AWS EKS, GCP GKE, Azure AKS)
- Optimize database interactions (Postgres, MySQL, Cassandra, MongoDB) and query performance
Requirements
- 8+ years of professional software development experience (Java focus)
- 5+ years designing and shipping high-scale, high-performance cloud-based distributed systems
- Expertise in Java web frameworks (Spring, Dropwizard, etc.) and unit testing (JUnit, Mockito)
- Strong understanding of JVM internals (garbage collection, memory allocation, JIT)
- Experience with tooling languages (Go, Python) and distributed computing systems (Airflow, Spark)