It’s been a little over four years since I joined Bukalapak and the journey has been nothing short of a dreamy experience. Working along with talented individuals and experimenting with various ideas, I got a chance to try my hand at building new systems and features.

In this post, I’ll tell you about my journey as a developer in Bukalapak.

The recruitment

Before recruiters contacted me, I knew Bukalapak as an e-commerce app that I always use. So when I found out that the company was looking for a developer, I was excited to apply. I would be very happy if I could work in a company whose apps I use every day.

After my interaction with the recruiter, my thoughts were that if the recruiter was so involved with knowing about the tech before reaching out to candidates to make a good impression, then there must be something special about the company’s culture.

I feel that an interview is a two-way process. Yes, an interview is a process where the company will assess you for your knowledge and see if you are fit for the role. But, it’s also a chance for a potential employee to know what kind of colleagues or culture they’re going to see in the team. The interview process was quite short, but it did not reduce the quality of the test given. I still remember the technical interview. At that time I was required to answer questions only with vanilla javascript.

Everything went smoothly and I had an offer in my hand. I was officially a Bukalapak Squad.

Working at Bukalapak

I joined a team that handles virtual products, such as electricity bills, credit card bills, flight tickets, and others. At that time there were less than five frontend engineers on the team, including me. My teammates helped me a lot in the early days of work.

In those years, the company recruited a lot of developers. In a short time, my team already has many peoples. Some teams are also splitting up into smaller ones so that we can be more independent and more autonomous.

The memorable moment was when we, the entire engineering team, did the cloud migration. I don’t know the exact number, but there are hundreds of services that are being owned across dozens of tribes that we need to migrate. Many roles are involved. A lot of refactoring needs to be done. It’s a very challenging thing.

I’ve been working with the same team ever since — a two squad that has now grown out to be a big team of 50+ engineers with great impact.

The growth of the team, system, and process is really astonishing. Now that I sit and write this, thinking about the things my team has achieved really surprises me. We have experimented with different ways of running sprints, testing, deployment, automation, and stand-ups.

Currently, we are running a two-week sprint, a standup every day where we each deliver a JIRA story, we talk about what our tasks for the day will be, discuss any blockers and clarifications, and make announcements.

I’m lucky that the company allows us to work from anywhere. We don’t just work, it’s also about having fun virtually from our homes and finding the right balance.

What did I learn?

Not only learn about the most up-to-date technology in the industry, but I also built systems of a scale that I had never imagined before.

Bukalapak follows test-driven development, the entire org depends on it. Each code the developer writes has to be unit tested, then functional, and a whole other bunch of testing processes. That’s not enough, there are test engineers doing extensive testing on the feature you are developing. There are automated test suites running in the CI looking for issues.

Personally, writing tests is a completely new thing for me. If I had stayed at the previous company, I might have never written a test in my life.

You may ask, what guarantee is that you have written your test right? What guarantee is that your test case is actually covering edge cases?

That’s why we have reviewers or a pair, every change to the system is reviewed by the peer, one who has an understanding of the system and the feature you are developing. He/she is also responsible as you are for the development and deployment of the feature.

Another part of the development process at Bukalapak is that it also advocates for a writing culture. Developers are responsible not only for the lines of code they write but also for how they communicate it. Since the WFH situation, the need for asynchronous communication is higher. Writing is a powerful tool that we can use to convey ideas, concerns, and feedback.

There is a lot more source of learning in Bukalapak, not just on the work you do. We have dedicated sessions where people share their findings, knowledge, fixes, and learnings from another squad

So far I have talked about what I have learned while working at Bukalapak, but here’s…

What Bukalapak did for me?

Well, to begin with, it pays my bills and gives amazing perks.

With all that work, I have ample time at hand, and I spent a lot of it on learning and developing myself as a person. I’ve been a speaker at several online events.

The whole team and company respect every individual’s time, they care for the employee.

The team and the leaders care about their teammates. Micromanagement is unheard of, instead, they ask how they can help finish a task or get rid of blockers. The one-on-one meetings are really amazing, with fruitful discussion, sorting out issues, even small jokes that can lighten up the day.

Of all these, there is one thing that I should also be grateful for. I successfully referred eight friends to join the company. That means I get “extra money” that I can save, and that time I spend on additional wedding expenses. So, thank you Bukalapak!

Through this post, I’ll close the #30DayWritingChallenge and thank you for those of you who have taken the time to read my writings from Day 1 to Day 30. Thank you and see you in another post in the future.

#30DayWritingChallenge, it’s a WRAP!