Love buying and selling on Carousell? Then meet the team that handcrafts various parts of the mobile applications, website and backend systems in order to deliver the best user experience. Here at Carousell, our engineering team works on a myriad of problem domains. You get to work on building the simplest buying and selling experience on our mobile applications, dive deep into our database systems that powers the business, or even work on tools to empower the rest of the teams in Carousell. Every month, we organize an engineering day with different topics, ranging from product hackdays to a Swift workshop by the engineering team members to keep our minds sharp.
Ensuring that the user experience stays simple is complicated - and we take pride in our work to keep things that way.
We are now looking for Principal Backend Engineers to join our Engineering Team based in Taiwan.
- Design and build scalable REST APIs for the Carousell marketplace platform.
- Work with the Android, iOS, web, product and design teams to build innovative, robust, and easy-to-use features for our users.
- Work with infrastructure team on performance profiling and optimisation.
- Write clean, testable code with unit tests.
- Participate in code reviews to maintain a high-quality code culture.
- Strong experience in building scalable architectures. Experience with microservices and exposure to highly available web scale systems is a must.
- Knowledge of modern tech stacks. Strong fundamentals of transaction processing systems).
- Strong, hands on programming skills: either in Go or Java. Abstraction, dependency inversion, design patterns, SOLID principles, TDD etc.
- Knowledge of cloud architectures. Should be well versed with basic operational aspects like debugging, performance troubleshooting, incident management etc.
- Strong general Computer engineering fundamentals (OS, networking basics). Hobbies should include optimizing performance of a piece of code :)
- Demonstrated ability to work smoothly in teams and with equally strong peers.
- Working experience in agile teams.
- Ability and willingness to handle multiple projects at a time.
- Good communication: both verbal and written.
- At least 8 years of experience as a software engineer in various capacities. At least 2 years experience in designing and architecting systems.
Nice to have:
- Experience in Payment and Shipment