Software Development Engineer
Hundreds of millions of customers. Billions of queries per year and dollars in revenue. The scale and impact of Amazon search is HUGE and we need smart and creative engineers to imagine and develop innovative cross-device features to realize the future of product search worldwide.
The Search Customer Experience team is responsible for worldwide customer facing search features on desktops, tablets, and mobile devices. Everything from the moment a customer clicks into the search box to when they view search results. We use data mining and usability data to develop new features and we test them through hundreds of A/B experiments a year as well as data mining and usability studies. This immense amount of data allows us to leverage machine learning to build smarter and more personalized experiences for our customers across a wide variety of categories, from instant video and Kindle books to apparel and electronics.
On a day-to-day basis, you'll be part of a small, close-knit team of engineers that are agile, data driven, and highly collaborative. You'll help analyze customer behavior, propose ideas and solutions during sprint planning with your team, implement big ideas, and then measure the results. Engineers on our team have proposed ideas that have impacted millions of customers and generated millions of dollars in revenue.
Our team is responsible for architecting and building the platform that renders search result pages. We optimize for speed and developer productivity: 100s of engineers work on the platform and every millisecond counts. The platform we build directly impacts what features can or can't be built for customers. The team focuses on both the rendering and service layers of the architecture, trying to figure out the best way to organize and return data from upstream dependencies and how to render that data as quickly as possible. The work we do involves tackling a number of large-scale architectural problems while collaborating with senior engineers across the organization.
You should be a well-rounded software engineer, with expertise in building large-scale web applications and/or low-latency services, optimized for performance. You should love challenges and working on large-scale, customer facing projects.
· Programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
· 1+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems.
· 2+ years of non-internship professional software development experience
· Bachelor's Degree in Computer Science or related field
· 4+ 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
· Masters Degree in Computer science/Math or related field
· Candidates must be innovative, creative, flexible and self-motivated, with the ability to design and write high-performance, reliable, and maintainable code
· 6+ years of related industry experience
· Successful candidates will have a strong background in an object-oriented language such as Java and experience building web applications
· Strong desire to improve our customer's search experience a must
· Experience in mobile web development preferred
· Experience with Scrum or Agile development a plus
· Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
· Ability to take a project from scoping requirements through actual launch of the project
· Experience in communicating with users, other technical teams, and management to collect requirements, describe software product features, and technical designs
· Experience with foreign languages is a plus