We are looking for a strong hands on engineer and technical leader passionate about building products users love backed by scalable systems and effective architecture. As a Principal Software Engineer you will be the technical leader for our Paying Users and Verticals domains. The Paying User team helps users like merchants and power sellers achieve additional success in our Marketplace with visibility products, as well as marketing, merchandising and operations tools. The Verticals team creates deep, delightful buyer and seller experiences for specialized high value categories of Autos, Property and Services. Together these products are responsible for the majority of Carousellβs revenue. The role reports to an Engineering Director.
You Will
- Lead large, complex, cross-team technical projects
- Think deeply about technology and architecture choices in your domains, communicate trade-offs, and often take the decisions
- Contribute directly to high and low level design and write code. Serve as a role model and inspiration to other engineers for how to build software
- Work closely with product managers, designers and engineers across multiple platforms and domains
- Collaborate with other principal and senior engineers in the organization on org wide platform, process and technology choices. Initiate and lead technical projects and changes to existing processes, that will improve the quality of our codebase and systems, reduce technical debt and improve our developer productivity.
- Mentor engineers in the organization, imparting technical knowledge, industry best practices and leadership skills.
- Build deep product and business domain knowledge in paying users and vertical domains, and use it to build innovative features for our users.
You Have
- 10+ years experience in software development, and 3+ years of experience working in product development as a Lead Engineer or equivalent technical leadership role
- Experience as a technical lead across multiple engineering teams
- Track record of building scalable systems. Experience with microservices and exposure to highly available web scale systems is a must
- Strong CS foundation and practical experience with software development, architecture and design. Excellent knowledge of distributed system concepts, problems and solution patterns
- Knowledge of modern tech stacks. Strong, hands on programming skills: Go, Python, or Java
- Deep knowledge of open source and cloud native software
- Strong knowledge of storage technologies, including databases (Postgres), key value stores (Cassandra etc), caching systems (Redis) and search engines (Elasticsearch)
- User obsession and empathy
- Focus on impact and results. You work on the right things and get them done
- Drive and resourcefulness to persevere and overcome obstacles achieving challenging goals
- High integrity and ability to positively collaborate with others
- Ability to speak and write succinctly and clearly in English