Sorry. This page is not yet translated.
Gojek

The fastest courier, transport, food delivery and shopping services provider in Indonesia.

Lead Software Engineer - GoSend
Bangalore, IN
Job Description / Skills Required

About the role
 
We are looking for lead backend engineers who are not merely interested in merely churning code with quality but also have the passion to solve complex business problems using technology. With a small nimble team, you will be presented with ample opportunities to tackle challenging problems and create an impact for our customers and driver partners. Join our mission to bring Cheaper, Faster, and more reliable deliveries to Indonesia!
 
 

What You Will Do

  • End to end major product features & subsystem development from scratch - not only including designing and architecting the product subsystems but also writing model code
Coding :
  • This is a fully hands-on position.
  • You will write performant, unit-tested model code for new product features taking systems aspects into account
  • You will translate high level business problems into scalable design and code
  • Create libraries & Utilities for larger consumption
  • Drive large refactoring exercises
Design:
  • API Definitions and end-to-end service design and implementation for large services
  • Create Platforms in your product/team. Build platforms, systems and networking infrastructure using your strong background in distributed systems, OS/kernel, network system design
  • Translate fuzzy business requirements into scalable and extensible design
  • Lead and mentor a team of highly motivated junior engineers; impart design philosophy, goals and improve the code quality across the team
  • Coordinate with cross functional teams (Mobile, DevOps, UX, QA etc.) on planning and execution
  • Communicate, collaborate and work effectively across cross functional teams in a global environment
 

What You Will Need

  • At least 6+ years of software development experience - exposure to the distributed systems & architectures is a must
  • Good knowledge, understanding & experience of working with a variety of multi-tier architectures
  • Deep expertise in at least one OO programming language & tech stack to write maintainable, scalable, unit-tested code - preferably Java, Golang
  • Quick & excellent Problem solving skills for complex & large scale fuzzy problems
  • Strong System design and OO skills with a nifty ability to craft clean interfaces and operate at the right levels of abstraction
  • Data modelling experience in Relational and NoSQL databases
  • Solid system debugging troubleshooting & coding skills with ability to drive teams through massive refactoring exercise & improve coding standards across large code bases
  • Exposure to complete product development cycles – From inception to production to scaling up, supporting new requirements and re-architectures
  • Be the technical mentor to your team
  • Must be comfortable working in fuzzy environments – where boundaries aren’t clearly defined
  • Ability to plan, prioritise, estimate and execute releases with good degree of predictability