Software Development Engineer-Distributed Computing Job in Seattle 98119, Washington US

Software Development Engineer-Distributed Computing

Amazon's Darwin team is looking for an exceptional software engineer to develop new User Interaction elements and systems to automatically solve a variety of Information Retrieval and Data Mining problems related to the Amazon Product Catalog -Â one of the company's biggest assets.

Our principal challenge is to improve the shopping experience by detecting duplicate products for sale in the catalog and merging them. Merchants on Amazon.com provide information about the products they want to sell. Amazon attempts to match these product data submissions to items in its catalog so that it can display offers for the same product on a single page. Poorly structured or incomplete data makes this problem very challenging and often results in duplicate products getting created in the catalog. These duplicate products are shown in search results and end up confusing customers, leading to a bad customer experience. The Darwin team detects these duplicate products in the Amazon.com catalog using an innovative mix of Information Retrieval, Data Mining and Text Analysis algorithms and human intelligence where required. We then automatically merge products detected as duplicates together, improving customer experience and the quality of the catalog.

We are also responsible for a variety of other Catalog-related projects such as placing Product Advertisements on pages, automatically extracting important product features from the product description with a view to improving the discovery (search and browse) experience on the website and detecting egregious cases of poor quality data provided by sellers.

We are a highly-motivated, fun loving team who thrive on solving challenging problems at scale. As part of this team you will need to be someone who:
- is passionate about application design and user experience
- has experience in translating design mockups and prototypes into working application designs
- has experience building large scale applications using JavaScript, JSON and AJAX
- has familiarity with Flash/Flex and has familiarity with AJAX libraries and frameworks

The ideal candidate will have the following qualifications:
- Bachelor’s Degree in Computer Science or math and/or related field 4+ year relevant work experience
- 3+ years professional experience in software development
- Computer Science fundamentals in object-oriented design
- Computer Science fundamentals in data structures
- Computer Science fundamentals in algorithm design, problem solving, and complexity analysis
- Proficiency in, at least, one modern programming language such as C, C++, Java

• A good engineer will demonstrate that they can proactively and continually improve their level of knowledge about Amazon's business and relevant technologies, and use this knowledge to deliver high quality, accurate software deliverables.
• Clear, professional communication skills able to contribute to team discussions, knowing when to contribute, when to listen, and when to ask questions.
• Experience developing in a Linux environment
• Experience and Proficiency with Flex/ActionScript, HTML, CSS, JavaScript
• Proficiency with HTTP Protocols, REST, XML
• Experience with Web Services, SOA, AJAX and web application frameworks
• Experience with building high-performance, highly-available and scalable systems is a plus
• Experience with large database driven applications and/or distributed computing is a plus