Software Development Engineer - Search Marketing
- Seattle, WA
Amazon's Automated Marketing team is building the Internet's largest-scale Search Marketing system. The team is responsible for a scaled, high availability system, and the algorithms that automatically generate, target, measure, and optimize tens of millions of search engine ad placements. The ad placements include Text ads, Product image based Shopping Ads.We routinely solve challenges related to large scale distributed systems and web services. We manage a continuously growing portfolio of advertisements while maximizing returns through bidding efficiency and discovery of new keywords, products and revenue opportunities. Cutting edge technology and algorithms including statistical modeling, machine learning, and data mining are the core of our business. Search Marketing drives a large portion of Amazon's business, and represents a unique opportunity to drive impact on the company's bottom line. With essentially full ownership of our own product road map, there is a large R&D component to our work, and strong programming skills together with sound business understanding and an appetite for innovation are highly valued.
The ideal candidate for our team is a thinker and a doer: someone who loves sophisticated algorithms and mathematical precision, but at the same time enjoys implementing real systems, and is motivated by the prospect of multi-million dollar business returns. Proficiency in Java or any other object oriented programming is required, and the ideal candidate is an expert in at least one of these languages. A BS in computer science (or equivalent experience) is required; graduate degrees, experience building high-availability or large-scale internet scale systems, and knowledge of advanced algorithms and data structures are significant pluses.
• 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, or 3+ years relevant work experience
• Experience with Agile / SCRUM development methodologies
• Computer Science fundamentals in object-oriented design, data structures, algorithm design, problem solving, and complexity analysis.
• Scalable web application development and experience using NoSQL databases like Dynamo DB.
• Experience taking a leading role in building complex software systems that have been successfully delivered to customers
• 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
• Experience with distributed computing and enterprise-wide systems
• Experience in communicating with users, other technical teams, and senior management to collect requirements, describe software product features, technical designs, and product strategy
• Experience mentoring junior software engineers to improve their skills, and make them more effective
• Experience influencing software engineers best practices within your team
• Fast thinker with a good grasp of business and technology and foresight to apply technology to solve business problems
Back to top