Principal Software Engineer
What We Do
Take your idea from incubation to international scale. Our teams
develop industry-changing innovations to make in-store and online shopping a
more seamless experience for millions of daily shoppers.
The search team is dedicated to the mission of helping millions
of customers every day in finding the right products. We are at the forefront
of attacking one of the most complex problems of e-commerce. Whenever a user
types in a query or browses through product categories on the web site, phone
or iPad, our service goes to work. We mine billions of search queries and tens of
millions of products to find the most relevant products for our customers. Team
members take end-to-end responsibility in analyzing large amounts of data,
creating complex models, improving their accuracy and deploying these models to
E-commerce product search, much like web search, has always been
a fertile area of AI innovation. Search team is working on fascinating AI/ML
problems like deep NLP based query understanding, improving relevance ranking
of products, semantic matching of query <-> item pairs using embeddings,
visual search to enable search by image, etc. As part of this team, you'll
solve some of the most challenging and impactful problems in machine learning,
information retrieval, natural language processing, computer vision or
statistical measurement. Your work will be visible to hundreds of millions of
customers and you will have a direct impact on the goals of the Fortune #1
company. If you speak and think machine learning then we want to talk to you.
Come join our team and be part of this exciting journey.
What You Will Do
- Understand client requirements and translating them
into road map items and feature request.
- Ensure the successful delivery of client projects in
time and in quality.
- Ensure smooth operations of our streaming and data
platform in accordance with the SLA's promised to our customers
- Focus on Operational Excellence and automation where
- Drive a continuous improvement of our software
development and release process.
- Overlook release processes and procedures
- Manage a healthy balance between technical debt and
- Ensure the happiness and productivity of individuals
and the team as a whole
- Manage relationships with suppliers and a deep
involvement in buy vs build decisions.
- Stakeholder management.
- Overlook cost and ensuring an efficient use of
- Engage and drive technical architecture designs and
- Drive our technical roadmap and direction of our stack.
- Collaborate with Cross functional teams, Product and
What You Should Have
- Experience in delivering and operating cloud native
applications and on-premise applications.
- Masters degree in computer science and 10+ years of
professional experience or matching experience.
- Strong customer and quality focus.
- Urge to drive continuous process improvement and
- Passion to mentor and guide team members
- Excellent understanding of designing and building
scalable, high-availability, high-throughput, distributed, and concurrent
- Experience in running and developing JVM based systems.
- Experience with distributed processing engines like
Spark or Flink
- Experience with distributed databases like Cassandra
- Experience using messaging systems like Kafka.
- Solid experience with Alerting/Monitoring tooling
- A deep understanding and emphasis on testing and
- Ability to learn and adapt new technologies, passion
for continuous improvement
- Experience running and deploying applications in cloud
- Excellent understanding of continuous build and
continuous integration tools and processes
- Experience in managing the entire software development
- Deep understanding of and passion for agile
- Experience building and/or maintaining machine learning
models and pipelines
- Experience building and maintaining large scale data
pipelines in online advertising, recommender system, ecommerce or relevant
- Familiarity with Deep Learning.