GOJEK App

One app of variety solutions

Bahasa Indonesia
English

Go-Jek Engineering — Guiding Principles 101

Go-Jek Engineering — Guiding Principles 101
GoHr · 12 May 2017

Working at Go-Jek means working with the best and brightest, on the most cutting edge technologies to solve some of the hardest problems in technology. While it is extremely rewarding, it is also challenging given the fact that we often work to solve issues that may have not been solved before; which means we’re taking risks, learning things on the fly, and doing all this while competing with the best in the industry.

That’s why our guiding principles below serve as a great reference point to deal with situations that arise every day. Here are some that we abide by.

Everyone writes code —At Go-Jek, we believe that Software Principals/Architects/Engineers can only do the right thing when they work on code themselves; that’s the only way to decide what’s working and what’s not. We don’t believe that software requires a 50,000 foot overview with people exclusively working on the blueprint. At Go-Jek, writing software is not a low-level task; its at the very core of what we do. Leaders who code are better judges of technical skill in people.

Everyone needs to ‘Walk the talk’-At Go-Jek, we respect people who get down in the trenches and take a hands-on approach to problem solving. Based on our experience, standing at a distance and issuing commandments has many a time been inefficient and error prone, and hence we avoid this.

Leaders are grown and not made — We believe in acquired respect and leadership as against leadership by position. At Go-Jek, you earn your leadership mettle, not by formal appointments. We believe in helping our people grow into leadership roles by giving them chances, risk appetite and freedom. We trust our people and support them to do the right thing at any given moment. In my own career, I’ve been privileged enough to have found some amazing mentors, and I am glad to be able to continue the legacy at Go-Jek.

Every decision is correct at the time it is made — Swift decision making is extremely important in a fast paced environment like Go-Jek. Once a decision is made, we don’t constantly agonise over it or second guess. We trust that whenever someone makes a decision, it is the right one, given the information available to them at that time. Only the passage of time can tell us whether a particular decision was right or wrong. It’s ok to change decisions, and we encourage people to not be afraid to make a decision.

Every person has some strengths, even if we don’t always see them — A great team is built with a group of people who have complementary skill sets. A combination of different strengths make teams that can tackle all kinds of situations. At Go-Jek, we believe each one of us is unique and has unique strengths. It’s just a matter of finding the right role to match the skills. Teams become super strong when they appreciate each other’s strengths.

Working in Tech means learning all the time — Learning is important in every field, and especially in the technology industry it is a matter of life and death. Technology is changing all the time, what worked a decade ago may be completely obsolete now. For example, practices that worked in Waterfall don’t work in Agile, user experiences on mobile apps were unimaginable of a few years back. So we constantly look for and admire people who are curious and willing to learn. And the best part is that people who are curious and always willing to learn will always hire people they can learn from!

Pair Programming and TDD work— If they didn’t, then our teams wouldn’t exist. We’re big believers in Pair Programming and TDD because wherever we have followed this, we found our team’s job on supporting software is more around features than bugs! We have experienced this over decades that this helps us build features faster, and mature teams organically. The bottomline is : to write beautiful code, we believe that there is no better way than rigorous pair programming and writing code practicing test driven development.

Working with a vibrant bunch of highly motivated, intelligent people isn’t always easy, but it is the extremely rewarding; and these principles have held us in good stead. Does this sound like the kind of place you’d like to work in? Get in touch! Write in to us at work@go-jek.com.

 

-------------------------------------------------------------------------------------------------------------------------------------------------------------

This article was written by our Group CTO, Ajey Gore and originally published here