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 accountYou will translate high level business problems into scalable design and codeCreate libraries & Utilities for larger consumptionDrive large refactoring exercises
Design:API Definitions and end-to-end service design and implementation for large servicesCreate Platforms in your product/team. Build platforms, systems and networking infrastructure using your strong background in distributed systems, OS/kernel, network system designTranslate fuzzy business requirements into scalable and extensible designLead and mentor a team of highly motivated junior engineers; impart design philosophy, goals and improve the code quality across the teamCoordinate with cross functional teams (Mobile, DevOps, UX, QA etc.) on planning and executionCommunicate, 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 mustGood knowledge, understanding & experience of working with a variety of multi-tier architecturesDeep expertise in at least one OO programming language & tech stack to write maintainable, scalable, unit-tested code - preferably Java, GolangQuick & excellent Problem solving skills for complex & large scale fuzzy problemsStrong System design and OO skills with a nifty ability to craft clean interfaces and operate at the right levels of abstractionData modelling experience in Relational and NoSQL databasesSolid system debugging troubleshooting & coding skills with ability to drive teams through massive refactoring exercise & improve coding standards across large code basesExposure to complete product development cycles – From inception to production to scaling up, supporting new requirements and re-architecturesBe the technical mentor to your teamMust be comfortable working in fuzzy environments – where boundaries aren’t clearly definedAbility to plan, prioritise, estimate and execute releases with good degree of predictability