We're building the next generation of monetization services and for app and game developers; we need your help.
Your product? Amazon Coins is a digital currency and reward system for Amazon's Appstore, available in eight countries worldwide. We are the engine of Appstore's growth and customer loyalty on Fire tablets and TV, and especially for Android devices. That means we need to turn all of the data we have into a dynamic, algorithmic system that produces the right offers at the right time, for every customer. We are a tight-knit team of engineers, applied scientists, UX designers, and product managers. The pace of development and delivery is fast and uninterrupted.
Your role? You would participate in the design, development, implementation, testing and documentation of large-scale, multi-tiered, distributed software applications, tools, systems, services, and multi-threaded servers using data structures and Object Oriented programming in Java. Translate functional requirements into robust, scalable, supportable solutions that work well within the overall system architecture. Participate in the full development cycle, end-to-end, from design, implementation, and testing to documentation, delivery and maintenance. Produce comprehensive, usable software documentation. Evaluate and make decisions around the use of new or existing software products and tools. Mentor junior development engineers.
• 3+ years of programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
• 2+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems
• 4+ years of professional software development experience
• Bachelor's degree or foreign equivalent in Computer Science, Engineering, Mathematics, or a related field.
• Minimum of three years of experience in the job offered or as a Software Engineer, Software Developer, or a related occupation.
• Experience optimizing algorithms.
• Experience designing and developing multi-tiered, multi-threaded, distributed software applications, tools, systems and services.
• Experience using Object Oriented Design and C++, C#, Java, or Perl.
• 6+ years experience building high scale distributed systems that handle big amounts of data
• Strong knowledge of data structures, algorithms, and designing for performance, scalability, availability, and internet and OS security fundamentals
• Demonstrated ability to mentor other software developers in all aspects of their engineering skillsets
• Experience in communicating with users, other technical teams, and senior management to collect requirements, describe software product features, product strategy and influence outcomes in technical decision-making
• Experience using Amazon Web Services
• Experience developing Mobile Applications
• Experience with Android
• Experience with Swift.
• Experience using React Native
• Experience using React.js