Hi everyone! My name's Vivek, and I'm a Software Engineer on ByteDance's Data Platform team in Singapore. I studied Computer Science at the National University of Singapore (NUS) and graduated in 2020 before joining ByteDance full time. I get a ton of questions about my job, so I'd like to share my experience. I hope this can help you find the right company for you!
My Team -- Culture, Dynamics, and Learning from Others
The Data Platform team, like most teams at ByteDance, is quite diverse. We come from many different places around the world, including Vietnam, Thailand, Russia, France, China, and (of course) Singapore. We also have a wide range of backgrounds and skill sets; for example, one of my teammates previously wrote code for the Internet of Things, and another has experience with infrastructure.

Collaborating with such a diverse group, I love that working at Bytedance challenges me on a daily basis. I learn something new every day that adds to my personal experience building large and complex apps. Having worked at ByteDance for almost a year, I now find myself thinking more intuitively about how writing a piece of code will affect the performance and code quality of our larger project, as well as the work of other developers on the team.
Our team culture is based on open and smooth communication -- there's very little miscommunication and "office politics" to get in the way of our productivity. Although language was sometimes a barrier when I first started (which comes with a multicultural environment that involves colleagues around the world), my manager slowly introduced a system where we speak more English. We now have a buddy system where we're paired with non-English speakers for practice each week. These kinds of initiatives by ByteDance leaders help foster better collaboration across cultures and geographies.
My Work in Technology
I first learned about ByteDance at an NUS Career Fair and was immediately impressed by the quality of its products, which were so user-friendly and smooth. When I joined the company, I was excited to look under the hood and understand what we do as engineers to make the user experience so impressive.
In my current role, I mainly focus on developing features for an Online Analytics Processing (OLAP) Database, which is a data warehouse developed and based in Singapore that allows users to store data for analysis. We use OLAP internally, but we're also promoting the technology externally as one of our tech products. Our goal is to create a database that is not only efficient to interact with (which is essential in analytics), but also flexible enough for users to pull the data they want in any format and connect with different big data applications (Hive, Spark, etc.) for optimal data analytics processing. Since the OLAP project is big and divided among several sub teams, we often do pair programming and use GitLab to collaborate so that our code is robust.

In addition to this major project, I do a lot of self-study in a typical day at work, including learning more about C++. I was mostly familiar with higher level programming languages in the past, but now that I'm using C++, I need to dive deeper so that I can use it to code faster. I also spend time learning about system design in order to write code that ensures the data warehouse can handle large workloads, since it's a big system with many microservices working together.
While I wasn't that interested in the database field before joining ByteDance, I've become increasingly fascinated by it after seeing the incredible technical expertise involved. Given its technical rigor and potential for impact, the field will undoubtedly attract more engineers in the future. For companies like ours, whose data scientists rely on pulling data efficiently for things like machine learning, a project like OLAP Database has a real impact on our products!
Opportunities for Growth
One challenge that crops up often in my work is adapting to new domains in software development. When developing software, the development principles don't change much, but the domains for which you develop the software often do. For instance, you might be creating an app for the HR department, and then some time later you might be working on building an analytics database. When the domain changes to one you're not as familiar with, it's difficult to start writing code right away.
To overcome this challenge, I research and read as much as I can about the domain I'm working with each day. This small time investment compounds over time and allows me to grow comfortable with coding in any new domain I come across. I also lean on the many talented engineers around me who are willing to go the extra mile to support me and create amazing software. They're easy to work with and amazing to learn from, which makes ByteDance the ideal place for a fresh grad like myself!
Career growth at ByteDance is also well set up and easy to understand. With frequent check-ins and performance reviews, my leader makes it clear what I can improve and the tangible steps I can take to do so. The work environment isn't about internal competition, but about reaching the ambitious goals you set for yourself, which has created space for me to focus on my growth as an engineer.

Joining the Team
If you're interested in joining our team at ByteDance, here are three pieces of advice that I want to share:
- Work on side projects or open source projects to beef up your CV and coding skills (writing clean code).
- Research and practice Design of Data Structures and Algorithms. Also spend time on learning about the Design of Scalable Applications (i.e., System Design).
- Practice your communication skills by writing clear and concise documentation for software. The ability to communicate your thought process clearly and systematically will not only help you during interviews, but also strengthen your collaboration with other engineers.
Coding is a continuous learning process, and ByteDance is a great place for engineers to develop their skill sets. It's rare to be able to work on such challenging and high-impact projects with talented teammates across the globe. I wish you luck in your job search, and make sure to follow ByteDance on LinkedIn and visit our jobs site to stay up to date with our latest openings!