What is it like to work at Bukalapak
Introduction
I was accepted as Bukalapak Software Engineer (Frontend) Intern in October 2021, and I was lucky enough to join the Core Web Experience squad, where the engineers there are all Bukalapak first engineers who have been working
How it starts
It all started with this post on LinkedIn by kak Dimas Pandu, previously Talent Development Specialist at Bukalapak.
Once I saw that post, I emailed him within minutes
Algorithm Test
After, a few days, I received a new email, regarding the initial test through codility, the test consisted of 4 algorithm questions and 1 multiple choice. If only managed to score more than 50% overall. In my opinion, if you do leetcode often, the test can be considered easy.
Since I don't do well on my algorithm test, I thought my chance of being an engieer at Bukalapak had disappeared. Then I received a new email regarding my next step, which is a user interview with Bukalapak engineers.
User Interview
They ask about my previous experience, my familiarity with certain tech stacks, why I'm interested in Bukalapak, and there is a live coding session where I need to consume an API and create pagination using that API.
Fast forward after 4 days, I received an offer letter. 🎉
Work
I joined the Core Web Experience squad, where our main responsibility is to maintain and improve Bukalapak page performance and SEO while improving Bukalapak e-commerce site.
Here is the tech stack Bukalapak from front-end side:
- Nuxt.js (Bukalapak code architecture is a large micro-frontend written in Nuxt.js)
- Styling: custom css, and tailwind (tailwind is only used in certain cases, for instance in Bukalapak company profile )
- Testing: Bukalapak has a strict test-driven-development culture
- State management: Vuex
- Design System: Yes, Bukalapak utilize their own design system called Bazaar to manage design at scale using reusable components and patterns
Other technical tools:
- Jira, as the project management tool
- Confluence, as the collaboration wiki tool
- Gitlab, as the code management tool
- VPN, to access sensitive sources such as codebase, internal API, etc.
Onboarding
On my first day, the HR gather us intern, to explain the daily attendance management system that we will use, who to ask if we have certain questions, aside from work what can we expect to get/experience in Bukalapak during the internship period.
The workflow
My squad (Core Web Experience) implement the agile model as its SDLC (Software Development Lifecycle), there is daily standup every working day on 10.30, sprint planning, sprint retrospective, and other jargon that belong to the agile method, all meeting is held using google meet, and as for intern, there is a one-on-one session with the squad Engineer Manager each week.
My mentor/supervisor
My mentor was kak Andrew Kris Yudha, a senior front-end engineer who has been working there for 8 years!. He is one of the founding members who built Bukalapak since 2014. (also fun-fact he is registered as user number 2 in Bukalapak when now Bukalapak have more than a million user registered).
My first week
In the first week, the engineer manager will throw you lot of reading material in confluence such as Bukalapak front-end code architecture, tech debt management, bukalapak engineer level structure, how they request an API call, prerequisite to install Bukalapak internal dependencies, and call their internal API using different kind of VPN (Virtual Private Network), etc.
My first task
During my first month, my task is focused in Bukalapak Company Profile V.2 project. When they first, create their company profile for investor / public relation purposes, they make it in a hurry, due to they need to catch up with the initial public offering.
In my first two weeks. I was assigned to the company governance page, where I need to implement and adjust the component (header, and accordion) that was built by the UI Engineer (yes, they have separate roles to handle frontend stuff).
The rest
After that company profile, the rest of my task is revolving around Bukalapak e-commerce, such as :
- Adding rel attribute conditionally to prevent google bot to crawl certain page
- Adding new text to product title in review page to prevent confusion with product page
- Add page information in product search page whenever the pagination is more than 2 in certain pages
- etc.
It might sound easy, but when you working on a highly complex micro-frontend codebase especially on the product search page it is a whole other level.
Even me and my mentor spent the whole sprint (> 2 weeks) adding the page information in the product search page due to the codebase complexity, and unexpected bug.
Work Life Balance
The work-life balance might be different for each squad (if you are unlucky enough, you might end up in a squad where your lead expects you to be on alert 20/7, but there is no rumor regarding this in Bukalapak), during my time there, I don't have complaints regarding the work hour. you are expected to be online from 9 a.m - 6 p.m, and in reality, you probably work from 10.30 a.m to - 7 p.m, and there is almost no work on weekends.
Compensation
I work there from Oct 2021 - Jan 2022 as an engineer intern, the compensation is quite competitive compared to the workload.
Conclusion
Since our time as human is limited, you probably don't want to waste it by working with the wrong company. Hence, is it worth it to work at Bukalapak? Yes, It's definitely a yes. From an engineer perspective, I believe you can learn so much in Bukalapak, they have various products that give value to millions of people (fyi, e-commerce is not their main concern anymore, they are shifting their main business to Mitra Bukalapak, B-money: Investment App, Buka Pengadaan, and many more, like a jack-of-all-trades company).
As for the compensation, I heard from the current permanent employee, Bukalapak pays their engineer with a generous amount of package (competitive salary, really nice health insurance, etc).
Note
This blog is purely my personal opinion combined with tip-off from anonymous resource in FOMO app, I highly recommend you to do your own research. If you have any questions, you can leave a message below by Sign In with your GitHub account 😉