Key Responsibilities
- System Design & Architecture: Design and implement complex modules/services that meet functional, performance, and scalability requirements. Participate in Architecture Decision Records (ADRs) and contribute to cross-team architectural proposals.
- Product Development: Build and evolve user-facing product features with a product mindset—understand user impact, measure outcomes, and iterate based on feedback. Deliver features on schedule and within budget.
- GraphQL API Development: Design, implement, and optimize federated GraphQL APIs using Apollo Federation, ensuring schema integrity across subgraphs and cross-team collaboration via the GraphQL gateway.
- Event-Driven Architecture: Build and maintain event-driven data pipelines using Apache Kafka (producers/consumers, Avro serialization, Confluent Schema Registry) to enable real-time data flows across microservices.
- Observability & Reliability: Instrument services with OpenTelemetry for distributed tracing, metrics, and logging. Proactively identify and resolve performance bottlenecks. Champion system reliability through monitoring, alerting, and incident response.
- Code Quality & Testing: Write comprehensive unit and integration tests (JUnit 5, Mockito). Maintain high code coverage (Jacoco, Codacy). Participate in design and code reviews with a focus on maintainability and security.
- Mentoring & Leadership: Mentor, train, and serve as a knowledge resource for less experienced engineers. Lead technical discussions, drive adoption of best practices, and contribute to engineering culture.
- Agile Collaboration: Participate in backlog grooming, sprint planning, and cross-functional collaboration with Product Management, Architecture Coalition, and peer engineering teams.
- Documentation: Write and maintain technical documentation including ADRs, API schemas, runbooks, and design proposals following MADR-based templates.
Preferred Qualification
- Bachelor’s degree in Computer Science, Computer Engineering, or equivalent.
- 5–8 years of hands-on software development experience in a product-based or SaaS environment.
- Advanced competency in object-oriented design, data structures, complexity analysis, and distributed systems.
- Experience building and operating production microservices at scale.
- Strong product mindset—ability to reason about user impact and make tradeoffs between speed, quality, and scope.
- Experience leading or mentoring a team of developers; proven technical leadership and collaboration skills.
- Experience working in Agile/Scrum teams with a focus on iterative delivery.