Do you love writing elegant, bulletproof code that solves problems for millions of people everyday? Do you enjoy working with talented and passionate individuals that aren’t afraid to challenge and be challenged in order to produce the best outcomes for their users? 
As a product engineer within one of our product engineering teams you, working with your team and product owner, will be responsible for imagining, building, deploying and running one or more of these products. You will own the future of this product, ensure its quality, and get to see the results of your efforts in people's everyday lives.
We are looking for passionate individuals that want to make a difference in the world, have a curiosity of constant learning and development, are open and collaborative and never stop striving to improve and develop both themselves and the products they are responsible for. Here at GOJEK we are passionate about building the best products using amazing technology and having great fun while doing it.

Job Description:

  • Working with your team and product owner to refine and develop the product direction and implementation.
  • Writing great quality, scalable, maintainable code. Building and managing fully automated build/test/deployment environments.
  • Ensuring all code is thoroughly covered by automated tests and that all features meet quality checks before deployment.
  • Deploying, monitoring, maintaining and fixing products in production.
  • Translate business requirements into scalable and extensible design.
  • Pair with team members on functional and nonfunctional requirements and spread design philosophy and goals across the team.
  • Proactively manage stakeholder communication related to deliverables, risks, changes and dependencies.

Job Requirements: 

  • Relevant software development experience with consumer/enterprise products with hands-on experience in designing, developing, testing and deploying applications for large-scale applications Proficiency in OOP, SQL, Design Patterns. Experience with functional programming is a plus.
  • Data modelling experience in Relational and NoSQL databases
  • Understand and implement Continuous Integration and Continuous Delivery. Being well versed with Agile methodologies,TDD is a plus
  • Experience troubleshooting server performance - memory issues, GC tuning, resource leaks etc.
  • Excellent understanding of interactive application development paradigm, memory management, performance/resource optimizations, database interactions, network programming, concurrency and multithreading, fault tolerance, monitoring, security and operability of systems
  • Passion to learn new things, solve challenging problems
  • Ability to Get Stuff Done!

We primarily use Clojure, Golang, gRPC, Ruby, Kotlin, Swift and Java. Familiarity with two or more is ideal.