Get to know the team
Come join the Consumer Experience (CX) Engineering team- we work on a diverse set of consumer problems spanning across core experiences that power the UX navigation and transaction funnels, search and discovery of content and services, user lifecycle covering user growth, engagement and loyalty and the critical platform mission of mobile application developer experience. We are on an exciting mission to connect consumers to the company’s marketplace by enabling them to seamlessly discover and engage with the company’s services and partners.
We are looking for a Senior Backend Engineer to join the CX Team. You will be responsible for ensuring high- quality deliverables, spanning across multiple key services powering end- to- end user journeys going from the login screen to the home and activity pages of the company app. These services are one of the top entry points for the company services, with millions of visitors every day across eight countries in total.
Get to know the role
The Day- to- Day Activities
• Collaborate with product and experience teams to define and prototype feature specifications
• Work with the engineering team to explore and create new design/architectures geared toward scale and performance
• Design, build, analyze, and fix large- scale systems
• Engage in service capacity and demand planning, software performance analysis, tuning, and optimization
• Participate in code and design reviews to maintain our high development standards
• Pro- actively debug and solve production incidents during your on- call shift
• Participate in interview loops to help the company continue hiring top industry talent
• Design and write with the Go language to improve the availability, scalability, latency, and efficiency of the company&039;s range of services
• Provide technical guidance, mentorship, and knowledge sharing to peers.
• Work closely with the infrastructure team in building and scaling back- end services as well as performing root cause analysis investigations
Qualifications
The Must- Haves
• Familiarity with running large- scale web services; understanding of systems internals and networking are a plus
• 5+ years of experience in software engineering in a distributed systems environment
• You can be a good coder in any language (C++, C, Java, Scala, Rust, Haskell, OCaml, Erlang, Python, Ruby, PHP, Node.JS, C, etc.), but willing to work on Golang
• Possess excellent communication, sharp analytical abilities with proven design skills, and the ability to think critically of the current system in terms of growth and stability
• Strong understanding of system performance and scaling
• A degree in Computer Science, Software Engineering, Information Technology, or related fields
• Strong Computer Science fundamentals in algorithms and data structures
The Good- to- Haves
• Proficiency in maintaining operational excellence and site reliability, including familiarity with monitoring system performance, ensuring system health, and managing service capacity planning.
• Demonstrate a keen sense of product thinking, being able to align technical strategies with product goals, and understanding how development decisions can directly impact end- users.
• Experience with Golang, including an understanding of its core syntax and semantics, familiarity with its standard library, its concurrency primitives, and experience in developing and optimizing Golang applications.
• Experience in developing distributed systems with high throughput and scalability, including a deep understanding of streaming systems and queuing models and their respective integration into these systems.
• Experience in coaching and mentoring junior developers, providing guidance on coding standards, and promoting a collaborative learning environment within the team.
• Expert knowledge in databases, including relational databases such as MySQL and NoSQL databases like AWS DynamoDB, Scylla, and others, accompanied by a distinct understanding of various design decision implications. Capable of architecting highly scalable solutions while keeping cost- effectiveness in mind.
Tech Stack
• Our mobile app platform coverage includes native iOS, and Android, written in Swift/Kotlin, RxJava, and Flutter. Our previously developed front- end is built on Rails, HTML5, CSS, React, and JavaScript.
• Our core services tech stack is primarily built in Golang, utilizing Redis, MySQL, DynamoDB, Kafka, and Elasticsearch for data storage. These services are orchestrated using Kubernetes and run on the AWS cloud infrastructure, equipped with auto- scaling abilities.
• We use GitLab for our code repository and we adhere to the basic Continuous Delivery tenets utilising a host of tools to support our release pipeline and code quality. These include GitLab CI, Datadog, Code Climate, and Jenkins.