The Search organization is looking for a passionate and innovative Software Development Engineer based in Palo Alto, to join our Search Client Services Engineering team.
Whenever a customer visits an Amazon site worldwide and types in a query or browses through product categories, Amazon Search services go to work.
We design, develop, and deploy high performance, fault-tolerant distributed search systems used by millions of Amazon customers every day.
Our Search team is made up of world-class Software Engineers, Designers, Data Scientists and Usability Researchers, working around the globe in a close-knit and highly collaborative environment.
We build server-side and native applications and experiences across desktop, phone, tablet and other devices.
If you have a solid track record in solving a problem end-to-end by designing and building a software to solve complex problem, and a knack for automating and simplifying processes leveraging software development skills, then we want to talk to you.
In this role, you will be responsible for designing and developing internal tools and applications to solve complex business and operational problems to maximize the productivity of Search systems development, without introducing unnecessary cost or complication.
You are expected to gain deep understanding of the Search Backend architecture and its configuration system, in order to translate business requirements to a technical specification and make necessary changes to the systems.
A strong partnership and collaboration with the architects, the builders, and the tenants of the system will be required in order to succeed in this role.
Key job responsibilities
- Develop and maintain internal tools owned by the team, that helps improving productivity of developers inside / outside of Amazon Search
- Make changes to the Search Engine configuration system to meet with business requirements
A day in the life
- 40-50% of the time is used for project work
- 20-30% of the time is used for weekly sprint task(s)
- 10-20% of the time is used for on-call responsibility (weekly on-call rotation)
- 5-10% of the time is used for regular meetings and 1 : 1s
BASIC QUALIFICATIONS
- 3+ years of non-internship professional software development experience
- 2+ years of non-internship design or architecture (design patterns, reliability and scaling) of new and existing systems experience
- Experience programming with at least one software programming language
PREFERRED QUALIFICATIONS
- 3+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience
- Bachelor's degree in computer science or equivalent