Amazon Advertising engineering seeks the worlds brightest and best to drive next-generation solutions that enable advertisers to reach customers across our owned and operated sites, on other high-quality publisher sites across the web, and on millions of desktops, mobile, and connected TV devices. Our mission is to offer the world's most customer-centric advertising.
To be successful in this role, we are looking for a talented, detail-oriented and enthusiastic software developer who is passionate about building new product, and also enjoys working with many projects and a wide range of technologies.
Working in conjunction with account managers, operations, designers and customers, you will leverage a breadth of technologies including object oriented design and coding, databases, mobile devices, Kindle, streaming video technologies, Big data , Artificial Intelligence and Machine Learning . We are looking for developers who will challenge themselves and others to constantly come up with innovative solutions and who not only knows how to solve the problem, but who helps define the problems and direction and creates value while pioneering new frontiers. This is an exciting, dynamic, and challenging position and we are looking for people with initiative, drive and relevant experience in the industry.
Proficiency in at least one modern programming language such as Java or Python , Relational Database/NoSQL (Oracle/MySQL/Cassandra/Mongo/HBASE), Elastic Search, Apache Spark, AI/ML . Experience in developing solution in Big data system and AI/ML is plus. Nice to have exposure in React framework.
• Programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
• A bachelor's or Masters degree in Computer Science or a related field with 2+ years of experience in design and development of scalable distributed systems
• Strong knowledge of data structures, algorithms and CS fundamentals
• Strong Design and Architecture skills
• Proficiency in Java/C++ or any OO language on a Linux/Unix environment and excellent coding skills
• Strong problem solving skills
• Excellent communication skills
• Experience taking a leading role in building complex software systems that have been successfully delivered to customers
• Experience working closely with development, design and business teams to understand business requirements, assess risk, and communicate problem impact
• 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, product software engineers
• Experience influencing software engineers best practices within your team
• Hands-on expertise in many disparate technologies, typically ranging from front-end user interfaces through to back-end systems and all points in between
• Comfortable communicating cross-functionally and across management levels in formal and informal settings.
• Experienced in Agile or Scrum software development methodologies