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 a Senior Backend Engineer to join our Engineering Team based in Taiwan focusing on Convenience Services.
Convenience Services Team is responsible to make the shopping experience as seamless as possible while removing any friction and closing the distance between Buyers and Sellers!
This role will report to the Delivery Manager of Convenience Services delivery team.
- 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.
- Degree in Computer Science, Software Engineering or other equivalent degrees/experience
- 5+ years experience in software development
- Experience in either Go, Python, Django/Flask, RESTful APIs
- Excellent knowledge of RDBMS and object caches such as PostgreSQL, Memcached, Redis and knowledge of how to design, tune and optimise SQL queries and caching strategies
- Experience in building large, scalable distributed systems with good understanding of microservices architecture and associated principles
- Experience with TDD/BDD and agile methodologies
Nice to have:
- Experience using Elasticsearch
- Experience using RabbitMQ, Kafka and microservices-based architecture
- Knowledge and experience in building distributed, asynchronous task systems