Abhishek Sah

Learnings in Gojek Bootcamp

August 08, 2019

This blog summarises what all things I have learned in the first week of GOJEK Bootcamp!

Communication is hard!

Until now, I was not even aware of this simple fact. In Bootcamp, we are learning how to speak clearly. The intent of the communication is that the person listening to you gets what you are trying to say. But different person perceives it differently. So it is your responsibility to make sure that you speak so rigidly yet simply that everyone in the room gets them exact same thing that you are trying to say. Speaking clearly and yet simplistically is hard. It comes with practice. You need to unlearn many things. You need to prepare your facts. You need to have a sound idea into your mind. Your arguments need to be logically consistent.

Never love your code!

This is also hard to do. But eventually, you will have to develop the habit of not loving your code. Because by doing so, you will lose the ability to evolve it. You will start taking the code reviews very personally.

A team has conventions!

We have learnt how a professional team functions. It functions on the basis of a structure backed by conventions and automation. The team decides the convention they will use in their projects. The team decides the tools that they will use. They write the conventions in the wiki and treat it as the source of truth. We boot campers are also a team. We are learning how to pick our conventions. How to logically argue and reach a conclusion whenever there is a conflict amongst teammates. To do that, you need to learn how to speak clearly and resolving conflicts without wasting yours and others time.

Any violation of conventions is not accepted. If code is violating any conventions it gets a rm -rf harshly. This thing also serves as a positive learning reinforcement. And also contributes to the fact that you mustn’t love your code.

To make sure you are not diverting from conventions, you use automation. Automation makes it easy to deal with rules in conventions. Otherwise, there will be inconsistency in the development process which will reflect in design, code and several other decisions.

Simple English Modelling

You should be able to express your intent in simple plain English. If you can do that, it will make it easier to make decisions quickly, argue rationally and will save everyone’s time. Most of the time we get diverted to other topics from the original topic in a discussion. Simple English modelling also help you not divert from the topic at hand.

So that’s the learning of week one. Most of this was centred around processes and communication in a professional setting. It is making more and more sense, as we go deeper into the Bootcamp.

Written by Abhishek Sah
👨‍💻Ψ ☮️