Shopee Insider: Backend Engineering

742
Shopee Insider: Backend Engineering - How We Built a Robust Server to Support Hundreds of Billions of Requests in a Day

At Shopee, our Frontend engineers work on what our users see on our Shopee app, while our Backend engineers help build the infrastructure that supports it. 

We spoke with Thomas, from one of our Backend (BE) Engineering teams, to get a sneak peek of what his team does at Shopee. 


“A Tale of Frontend vs Backend”

Thomas (T): It’s common for my colleagues and I to get questions from our non-engineer friends on what’s the difference between Frontend and Backend engineering. 

Picture this – when a customer browses through the Shopee app, he/she will be looking at the Frontend visuals. However, the Backend is also involved when obtaining information about products and scanning through promotions, since the data comes from our server. After making a purchase, this information will be stored inside our server database. When the customer chooses to check on the delivery status of the product, the server will gather relevant information and update it with delivery tracking data. This is how our Frontend and Backend work hand-in-hand to ensure a smooth shopping experience for our customers.

Our Backend Engineering team helps to develop and maintain the server side systems in Shopee. Some examples include our ordering, product listing, user account and chat systems.

Thomas presenting during a meeting
Thomas presenting during a meeting

“My Eventful Journey in Backend Engineering”

T: A fun fact is that I applied to Shopee for a Mobile App Engineer position out of interest, but got offered a Backend Engineer position. After going through a few rounds of interviews, my recruiter found me a good fit for BE work, and recommended me to pursue a BE position. The hiring manager was honest and shared that BE would be challenging, but also be a meaningful learning journey. 

It’s been more than two years since I’ve been at Shopee, and looking back, I’m glad to realize that regardless of the tech stack, we are all working on meaningful projects and the learning never stops.

“Driven by Logic and Performance”

T: As BE Engineers, our work focuses a lot on business logic and performance. We are constantly looking to improve the performance, availability and scalability of our system. This is crucial since the data that my team manages is the source of truth which other systems rely on. The data has to be readily available and accurate, with zero downtime. 

As Shopee supports a multitude of businesses and users, we need to stay agile to meet their evolving needs. Backend is not just about coding and developing, but also emphasises on server scalability and stability, which is complex and delicate when “concurrency” and “states” – or in layman’s terms, large traffic and data – is involved . This added level of challenge makes me appreciate my work.

“Ownership & Meaningful Work”

T: My typical day starts with me checking my emails, before going through my calendar and JIRA board (project management tool) to prioritise my tasks. These tasks include coding feature projects that I’m involved in, as well as reviewing my teammates’ codes. I’ll also participate in meetings with our product managers and developers to discuss feasibility studies and the requirements for new products.

Our BE team is heavily involved in big campaign days. Months before my first 9.9 campaign, we had to introduce new technical features and improvements to the system. This was to prepare our servers to handle the projected influx of web and app traffic so that our customers can enjoy a smooth purchase experience. It was exceptionally rewarding when Shopee hit new milestones during that big campaign, as we were able to see our hard work come to fruition.

Having a discussion with his Backend Engineering teammates
Having a discussion with his Backend Engineering teammates

“The Making of a Good Backend Engineer” 

T: At Shopee, our Backend team uses Go as our main programming language, due to its succinctness, static typing, concurrency-friendliness, and performance. This allows new engineers to quickly pick up our code base and write robust and high-performing code in a large scale project.

Apart from coding, aspiring candidates need to have a good understanding of how logic works, and brush up on BE knowledge, such as database, cache and system architecture. 

If you are interested in tackling challenges faced in world-class large scale systems, and making an impact on millions of lives in your work, Shopee is a good place for you to fulfill your career aspirations. Whether you’re a budding or seasoned engineer, join us and make an impact in the e-commerce industry with Shopee.

Thomas and his team
Thomas and his team

Join the Shopee Backend Engineering team today and be a part of our hyper-growth story.

Check out our Shopee Frontend Engineering feature here.

At Shopee, we’re committed to developing future tech talents and leaders in the e-commerce industry.

About Shopee’s Company-Led Training (CLT) programme 

In collaboration with IMDA, our Company-Led Training (CLT) programme is a specialised programme for our full-time Singaporean employees to upskill and enhance their experiences at Sea and Shopee. You’ll undergo six months of on-the-job and structured training, as well as be assigned a mentor within the same department, who will support your journey.

Open to both Singaporean fresh graduates and mid-career professionals, you can join our CLT programme by applying to any full-time roles relating to Product Management, Software Engineering, User Experience Design or Business/Data Analytics at Shopee. Find out more about the CLT programme here.

*All photos were taken before the implementation of COVID-19 Safety Measures.

Facebook Comments
Previous articleBest Camera Phone: 10 Powerful Devices To Snap Gorgeous Photos
Next articleThe Best Fitness Trackers To Measure Your Heart Rate And Sleep Quality