Staff II, Back-end Engineer (Gateway Services)

Seoul (Hybrid) • Full time

  • KOREAN: NOT REQUIRED
  • Java
  • SQL
  • Go
  • Back-end
Apply

The Gateway Services team is responsible for building Coupang’s infrastructure layer in a distributed micro-services architecture for service-to-service communication including discovery, load balancing, failure recovery, metrics and monitoring. Develop and implement enterprise-wide fine-grained control of traffic behavior with rich routing rules, retries, failovers, and fault injection. Use management plane for managing the policy layer. Manage a pluggable policy layer and configuration API supporting access controls, rate limits and quotas. Secure service-to-service communication in a cluster with TLS encryption, strong identity-based authentication and authorization.We are looking for an engineer who has deep understanding of app in a distributed system, hands-on experiences in managing, using, Kubernetes, gRPC and service mesh. You will be part of a team responsible for designing the architecture and driving the team to deliver a modern platform that powers all Coupang’s internal services.

Job description

As a Staff Software Engineer on the Gateway services platform team, you will partner with leaders of multiple platform teams. You will work closely with the product team to define and implement simple solutions to complex infrastructure problems while ensuring to build a highly scalable, reliable and efficient platform for our customers. You will technically lead projects working on full stack development teams using JAVA, AWS, Kafka, Kubernetes, gRPC and service mesh. You will be accountable for raising the bar on engineering and operational excellence.

In this role, you will:

  • Develop the MicroServices using reactive system vertex, Redis for the best performance.
  • Build service mesh (Istio) components while collaborating actively as part of a small, highly talented team.
  • Write back-end APIs using REST/GraphQL/Hibernate using the Springboot and python frameworks.
  • Manage applications built on Java, Spring framework and MongoDB.
  • Architect workload and service management infrastructure.
  • Hands-on develop critical infrastructure components.
  • Decompose complex problems into simple, straightforward solutions, providing mechanisms for the teams to prioritize ruthlessly and “move with urgency”.
  • Demonstrate excellence resulting in scalable systems and services with the highest quality architecture and design.
  • Dive deep into critical system issues, proactively addressing similar root causes, and raise the bar on Operational Excellence.
  • Collaborate with other Coupang tech leaders to make the service extensible to unlock opportunities for innovations.

Qualifications

  • One who has a bachelor’s degree in computer science or related technical fields.
  • One who has 8+ years professional software development experience, or 6 years’ experience with advanced degree.
  • One who has 2+ years’ experience of project tech lead.
  • Experience with configuring, maintaining service mesh to handle requests at scale.
  • One who has hands-on experience in designing and developing large scale distributed system in the last 3 years.
  • One who is fluent in one or more among Java and Go.
  • Proven track record of delivering mission critical systems.
  • Experience with cloud computing using AWS or Azure or GCP.

Preferred Qualifications

  • Expertise in Server Side Programming using Core Java/J2EE, JDBC, Spring, Hibernate, SQL, NOSQL, Node.js, Redis, MongoDB, Docker, Kubernetes, Kafka.
  • Developed and managed CI/CD pipelines using Docker and Kubernetes, enhancing deployment efficiency and application scalability.
  • Strong experience in Service Mesh (Istio) features like rate limiting, authentication, authorization, load balancing, throttling, routing.
  • Deep understanding of network components like virtual networks, route tables, subnets, and gateways.
  • Experience in configuring Istio control plane, management plane and Ingress gateway.
  • Deep understanding of modern web applications design architecture, good API design patterns, performance and scale.
  • Experience in traffic management including request routing, connection timeouts, circuit breaking, mirroring and fault injection.
  • One who has experience in CI/CD pipelines, Yaml and AWS cloud.
  • One who has experience in Kubernetes, gRPC and go language.
  • One who has experience in concurrency, multi-threading, synchronization, and non-blocking IO.
  • One who has a deep understanding of operating system kernel and distributed system such as Kafka, Cassandra and Google Spanner.
  • Ability to handle multiple competing priorities in a fast-paced environment and leading the delivery of large-scale services for complex business offerings.
  • One who is capable of or is fluent in English communication.
  • One who has a master's or PhD degree in computer science or other related technical fields.