Amazon's Selection Monitoring team is responsible for making the biggest catalog on the planet even bigger. Our systems process billions of products to algorithmically find products not already sold on Amazon and programmatically add them to the Amazon catalog. We apply parallel processing and machine learning algorithms in order to identify and prioritize products and brands to be added to Amazon's catalog. The datasets produced by our team are used by teams across Amazon to improve: product information, search, discoverability, and delivery experience. Our work involves building state-of-the-art Information Retrieval (IR) systems to mine the web and automatically create structured entities from un-structured/semi-structured data. We constantly stretch the boundaries of Elastic/Serverless Computing, Big Data, and ML to tackle challenges at Amazon's global scale.
Come join us in our journey to make everything and yes, we do mean everything that anyone wants to buy, available on Amazon!
We are looking for Sr.SDEs with strong technical knowledge, established background in engineering large scale software systems, and passion for solving challenging problems. The role demands a high-performing and flexible candidate who can take responsibility for success of the system and drive solutions from design to coding, testing, and deployment, to achieve results in a fast paced environment.
As a member of the team, in this role, you will:
- Work independently, as well as lead other SDEs, to design, make technological decisions and implement critical code path of software solutions to enable discovery and retrieval of complete relevant information with high accuracy.
- Think in terms of making software efficient by reducing the effort in onboarding and enabling non-linear scaling of the systems.
- Influence team's strategy by making insightful contribution to priorities of new features.
- Work with other Sr.SDEs and Principal Engineers to drive the technical and architectural vision for SM's mission-critical control plane systems.
- Lead and mentor junior engineers, and drive best practices around design, coding, testability, and security.
- 4+ years of professional software development experience
- 3+ years of programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
- 2+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems
- Bachelor's Degree in Computer Science, advanced degrees preferred.
- 4+ years of relevant work experience.
- Experience building complex software systems that have been successfully delivered to customer.
- Deep technical expertise and hands-on architectural understanding of distributed and service-oriented architectures.
- Has delivered large-scale enterprise software systems or large scale online services.
- Solid programming skills in OO languages (Java/Scala/C++/Python etc) and a deep understanding of object oriented design.
- Advanced knowledge of data structures and at ease in optimizing algorithms.
- Master's degree preferred in mathematics, computer science, or related discipline.
- A deep understanding of software development life cycle and a good track record of shipping software on time
- Experience in event driven architectures, rule engines, and workflow systems.
- Deep understanding of SOA with proven ability in building highly scalable and fault tolerant systems using Cloud computing technologies.
- Exposure to AWS technologies is a big plus.