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, machine learning and deep learning algorithms to evaluate products and brands 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 and discoverability, pricing, 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-structure/semi-structured data. We constantly stretch the boundaries of large scale distributed systems, Elastic Computing, Big Data, and SOA technologies 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 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.
The Sr. SDE on this team will be playing a key role in solving complex problems and building innovative solutions to drive authoritative selection on Amazon platform. Candidate needs to have a high sense of ownership, ability to develop end to end solutions and improve customer experience. This role would expose you to solving problems of scale in the areas of data mining, machine learning algorithms, big data and distributed systems of cloud-scale.
As a member of the team, in this role, you will:
• Work with other Sr. SDEs and Principal Engineers to drive the technical and architectural vision for Selection Monitoring's mission-critical control plane systems.
• Build scalable, fault-tolerant, and highly available services that underpin our large scale data processing solutions.
• 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 with advanced degrees preferred.
• Experience building complex software systems that have been successfully delivered to customers
• Deep technical expertise and hands-on architectural understanding of cloud-scale distributed and service-oriented architectures.
• Has delivered large-scale commercial enterprise software systems or large scale online services
• Master's degree and/or PhD preferred in mathematics, computer science, or related discipline
• Experience in building and driving adoption of new tools
• A deep understanding of software development life cycle and a good track record of shipping software on time
• Have had impact and influence across multiple teams
• Experience with data science, machine learning algorithms, natural language processing, computer vision.
• Experience designing and implementing information retrieval and web mining systems.
- Experience with MapReduce, Spark, Hive and Scala.
• Knowledge of Linux/Unix and scripting on Perl/Ruby/Python.