How it all improved me as a whole!!…

I joined GoTo financial as a software engineer and since then it’s been a rollercoaster ride for me in terms of the knowledge that was imparted through the entire season up until now. Be it the sessions conducted by the HRs as to the culture and other different benefits or the breakout sessions conducted during the bootcamp.

The first thing, you’ll be asked to take part, after you join Gojek, is their bootcamp program for the software engineers. It is basically a unique platform to unlearn the knowledge and relearn what is being taught by the engineers at Gojek (GoTo). The entire bootcamp is designed in a way that is not just limited in imparting knowledge but also to work as a team and how to deal with the different scenarios the unknown software engineering world is keeping secret from us!

Like any other great curriculum has a definite schedule, our bootcamp too had a schedule, a rigorous one indeed divided into modules :

  • Core Software Engineering Module
  • Devops Module

The Program:

We had 4 weeks of core software engineering module in which a day looked like the follows:

  • You get a problem by the business team (a coach disguised)
  • You need to discuss it with your peers and then give an estimate time period in which everyone would be able to deliver a working solution, in Java
  • Recode the solution in Ruby (during the evening)

Sounds easy right? So did I thought too, but wait! Everything that sounds easy ain’t easy right? There’s always a twist to it at the end. Our story too is nothing different…

$ rm -rf

…the surprise we were given was rm -rf.

What does it mean? Delete everything from the system? :o

Well, the answer is yes and a no too. There are certain checks called as NNEs (Non Negotiable Etiquettes) which our code should follow. A violation to any would face an rm-rf, and you gotta start writing your code from scratch AGAIN!

  • Now you may ask, what constitutes of NNEs?

Well, there are 10 NNEs we had to follow at all times, some of which are stated as below:

  • Indentation and spacing between the code should be consistent
  • Only use of spaces and no tabs
  • One newline at the end of file
  • Follow the naming convention as listed by the language you’re using.
  • No unused comments to be checked in
  • Runtime environment should be consistent with the IDE environment
  • BDD should be followed (Baby steps to approach the problem)

Reading from above you might have got a rough idea about why do they really care about NNEs. Well yeah, they care about NNEs is because they want the code written to be as clear as possible such that other people, including us, when reviewing the code don’t have much issue with understanding it. Also it is a natural fact anything dealing with cleanliness is next to godliness, that includes the code we write too.

To adhere to this we followed clean code by uncle bob and programmatic programmer. Our learning was limited to not just clean code and other NNEs but with the the problems we were taught the basics of principles of software engineering and the different buzzwords such as:

SRP, SOLID, KISS, DRY, YAGNI, Tell Don’t Ask, Principle of least surprise, Code Smells, Design Patterns, Red Green Refactor Commit and many more..

At the end, we had a calibration drill in which we had to code the Conway’s Game of Life by adhering to the principles we learnt during the class, which was reviewed by the ex-boot campers. I liked it a lot because it showcased what improvements could be done in our code, as one should always get to know what could be improved in one’s code.

All work and no play makes Jack a dull boy

As the saying goes, we too had different activities to make our time amusing. For instance after our lunch break we had TypeRacers, such that people stay active even after having heavy lunch. Similarly, we had speaking drills and it was fun challenging our coach to convince us on a given topic :P

All in all it was a great experience.

From making friends and having a group outing to visiting Bali in a weekend, learning to swim (yeah I learnt swimming from my fellow boot campers). So all in all I made a lot of friends (Indians as well as Indonesians) who helped me when I was stuck with difficulties. I loved the bootcamp and would definitely wish to be a part of it in future as a mentor!

Thanks to be a part till the end. Hope you enjoyed it.