Wrapping Up The GoTo Engineering Bootcamp

I remember when I had just woken up from my routine nap and received that fateful email. The email was none other than an offering letter to join GoTo, the largest digital ecosystem in Indonesia, via their bootcamp program.
The GoTo engineering bootcamp is GoTo’s 8-week training program for recent graduates to later become full-time, junior software engineers. As the largest digital ecosystem in Indonesia, the engineering team is one of the key components of GoTo’s competitive advantage. Naturally, the quality of an engineering team is defined by the individual engineers that contribute within them.
I wanted to write this post to reflect on my two month experience going through Bootcamp.
Intensity
Bootcamp was intense, no doubt. Being quite the risk taker myself, I joined bootcamp when I was still working on my final thesis. Throughout my four years in university, I’ve learned to manage myself to handle tough workloads, but none was as challenging as the two months I spent during bootcamp.
We had 8 weeks to go in depth into four modules: core engineering, mobile, quality assurance (aka SDET), and security. Every day, we would do the regular 10-6, which was filled with code drills, technical discussions, and other activities to shape us in becoming a better engineer. After 6pm, we get to go home and enjoy some movies with a nice cup of matcha.
Just kidding. Turns out, the fun part of bootcamp is in the assignments they give you. These assignments push you to further implement what you’ve learned prior in the class. These assignments helped me to sharpen my technical skills and discipline (at the cost of my sleep schedule, of course).
Having said all that, I don’t regret it one bit.
Discipline
GoTo is an ecosystem of products, serving all kinds of users; from customers, drivers, to merchants. With dozens of products, a large engineering team, with an immensely complex service architecture powering those services, GoTo demands a certain standard of quality from its engineers.
For those of you who work in software, you know how complex (and messy) systems can get when it gets to such a scale. To make such services extensible, maintainable, and bug-free, software engineers needs to be disciplined when carrying out their work. This discipline ripples out across the software development life cycle, from discovering problem statements, defining feature requirements, sketching out a high level design, then translating it to lower level design, through implementation (aka “coding” part), testing, and deployment.
Bootcamp taught us to be disciplined. Engineers should be disciplined in clarifying requirements. The requirement is not solely owned by business/product. In fact, engineers must participate throughout the product discovery process to ensure they are building the right thing for the right problem. By doing so, you ensure that the team can build amazing products, not some half-hearted slop output.
Engineers should also be disciplined in their code. We learned a lot about "non-negotiable” coding etiquettes, which has severe consequences should they be broken. These etiquettes must be followed on every change, every commit you make.
Isn’t that too much? Well, maybe. But that’s probably the most effective way to sharpen out college grads into full fledged software engineers within two months. You can clearly see stark differences in your code quality as each week pass by.
Fun
The bootcamp is also incredibly fun! You get to interact with a group of brilliant and experienced coaches, a supportive learning team, and an amazing peer cohort. The amount of dedication that everyone pours into the program is mesmerizing, as these coaches, code reviewers and learning team also have their own work to do and OKRs to hit.
The camaraderie that arises over time throughout the program is something that I am grateful for. It’s like going back to the early days of university, where you and your peers haven’t figured it all out, and people are goofy most of the time. But this time, the classrooms get replaced by meeting and conference rooms, and your “courses” are about real-world engineering problems.
What’s Next
Wrapping up the bootcamp, I am refreshed and excited to continue my journey as a software engineer at GoTo Financial, where I’ll be joining a team to build exceptional consumer fintech products that millions of people depend on every single day.
Onwards.