Senior Software Engineer

New Relic New Relic · Enterprise · Hyderabad, India · UX Platform

Senior Software Engineer at New Relic, focusing on building and operating high-scale, low-latency JVM-based microservices for an observability platform that processes massive volumes of telemetry data. The role involves end-to-end service ownership, performance optimization, and working with distributed systems and event-driven architectures like Kafka.

What you'd actually do

  1. Design, build, and operate JVM-based microservices (primarily Java and Kotlin) with a focus on performance, scalability, and reliability.
  2. Own services end-to-end: architecture, implementation, deployment, monitoring, on-call participation, and continuous improvement.
  3. Apply strong concurrency and performance practices: asynchronous programming, backpressure, efficient I/O, memory management, and GC tuning.
  4. Build and evolve event-driven systems; work with Kafka for streaming, partitioning, consumer groups, and schema evolution.
  5. Instrument services for deep observability (metrics, logs, traces), define SLIs/SLOs, and use e

Skills

Required

  • JVM-based backend services (Java, Kotlin)
  • Distributed systems concepts
  • Microservice design
  • Asynchronous and reactive programming
  • Concurrency and performance practices
  • Event-driven systems
  • Kafka
  • REST/gRPC API design
  • Service-to-service communication
  • Resilience patterns
  • Containers and Kubernetes
  • CI/CD pipelines
  • Production service operation (monitoring, alerting, incident response)
  • English

Nice to have

  • Deep JVM performance profiling and tuning
  • Schema registries and serialization formats (Avro, Protobuf)
  • Stream processing (Kafka Streams, Flink)
  • Data stores (Cassandra, Elasticsearch, Redis)
  • OpenTelemetry
  • Technical mentorship or leadership

What the JD emphasized

  • Strong experience building and operating production-grade backend services on the JVM (Java and/or Kotlin).
  • Solid understanding of distributed systems concepts (consistency, partitioning, replication, fault tolerance) and microservice design.
  • Hands-on experience with asynchronous and reactive programming (e.g., CompletableFuture, Project Reactor, RxJava, Kotlin coroutines).