The Amazon Advertisement engineering team has an opportunity to be part of something big! Working on advertising for Amazon.com, Kindle Special Offers, and Amazon Mobile Ads, the Ad Product Tools team provides critical tools that streamline ad delivery to millions of Amazon customers. To be successful in this role, we are looking for a talented, detail-oriented and enthusiastic software developer who is passionate about building new tools and 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, tablets, Kindle, streaming video technologies, AWS, 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. This role will require you to work directly with product, design and operations teams to define and implement solutions.
Proficiency in at least one modern programming language such as Java ( Spring, JPA, REST) or Python , Database/NoSQL (Oracle/MySQL/Cassandra/Mongo/HBASE), Elastic Search, Apache Spark, ML. Nice to have exposure in React framework.
• 2+ years of non-internship professional software development experience
• 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.
• BE/B.Tech/ME/M.Tech in Computer Science or related field
• 3+ Years of relevant experience.
• Computer Science fundamentals in data structures
• Computer Science fundamentals in object-oriented design
• Computer Science fundamentals in algorithm design, problem solving, and complexity analysis
• Proficiency in, at least, one modern programming language such as C, C++, C#, Java,
• English proficiency required.
• Experience taking a leading role in building complex software systems that have been successfully delivered to customers
• Experience working closely with development, 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