You're using an older version of Internet Explorer that is no longer supported. Please update your browser.

Software Development Engineer II

Vancouver, BC
Full Time
2 days ago
"It's All About the Long Term" is one of the key themes in the very first shareholder letter of Amazon ( Long term thinking and decision making , along with customer obsession, has been in Amazon's DNA from the very beginning. Customer Forecasting & Valuation owns the primary decision metrics at Amazon, leveraging causal machine-learning models to predict the long-term (downstream) impact of customer actions and business decision. These metrics form the foundation of decision taken by an exponentially increasing number of decision makers, both humans and systems, on a day to day basis.

Inferences produced by our systems are used both in real-time systems (such as ads bidders and content recommendation systems) as well as in financial planning activities. In order to serve the wide variety of and rapidly evolving decision contexts throughout Amazon, our models have to work with an ever-increasing volume and complexity of data and at the same time provide inferences with reliability and low-latency.

Engineering robust large-scale Machine Learning Systems presents some unique challenges such as reproducibility and explainability of results, agility and experimentation to evolve rapidly, no-loss translation from experiments to production. We in Customer Forecasting & Valuation are working to tackle these problems as we evolve the next generation of Causal Machine Learning Systems.

You will work in a multidisciplinary team, alongside Research Scientists/Economists and Data-Engineers to build causal machine learning systems processing Several TBs of customer-grain data on a daily basis with strict SLAs to influence how billions of dollars at Amazon get spent. You will use a wide-variety of AWS technologies such as Aws Batch, S3, EC2, EMR, DynamoDb along with Spark, Docker and some Amazon internal frameworks and tools. We are looking for an outstanding individual who combines superb technical, communication, and analytical capabilities with a demonstrated ability to get the right things done quickly and effectively. We would expect the engineer to understand, question and influence the scientists while raising the bar on engineering machine learning systems.


• 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, Computer Engineering or related field
• Java or C# or Scala or C++, Linux/Unix environment
• Experience applying computer science fundamentals in object-oriented design, data structures, algorithm design, problem solving, and complexity analysis.


• Master's degree in Computer Science, Computer Engineering or related field
• Excellence in technical communication with peers and non-technical cohorts
• 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
• 4+ year's professional experience in software development building production software systems
Amazon is committed to a diverse and inclusive workplace. Amazon is an equal opportunity employer and does not discriminate on the basis of race, national origin, gender, gender identity, sexual orientation, protected veteran status, disability, age, or other legally protected status. For individuals with disabilities who would like to request an accommodation, please visit
Software and Programming