Amazon

Returning Candidate?

Software Development Engineer: Internationalization Core

Software Development Engineer: Internationalization Core

Job ID 
539282
Location 
US-WA-Seattle
Posted Date 
5/23/2017
Company 
Amazon Corporate LLC
Position Category 
Software Development
Recruiting Team 
..

Job Description

Amazon.com's long-term vision is to enable a seamless experience for all Amazon customers worldwide on any Amazon website and device, in any language and for any culture. This extends the personalization of the shopping experience by allowing our customers to define their preferred language and currency and ensure that we provide an equivalent experience for our customers in their language of preference as we do customers in the default marketplace language. As a precursor to this initiative, we need to enable Unicode support across Amazon's Consumer stack to handle non-Latin character sets, including customer-facing systems (e.g. web pages, packing slips, gift cards, external data exchange, etc.)

Our team started in 2015 and, as of March 2017, we have made great progress as we identify and enable Unicode support across the customer-facing systems, during which time we have made investments across gap measurement, platform support, and audit and impedance mechanisms. A lack of Unicode support has been one of the most persistent hurdles to overcome to allow global feature releases, and our team is in the critical path for 2017 initiatives like international expansion into new marketplaces.

About you:
You're looking for a career where you'll be able to build, to deliver, and to impress. You look at problems holistically, and thrive on the intricate complexity of designing feedback loops and ecosystems. You want to work on projects where you are implementing solutions to real problems that require creative solutions and deep understanding of the problem space.

You challenge yourself and others to constantly come up with better solutions. This highly visible role requires frequent communication with senior leadership in order to help shape and deliver on the product roadmap, and requires you to nimbly switch between strategic and tactical initiatives to achieve technical, business, and customer experience goals. You'll be given the unique opportunity to own and drive initiatives across the Amazon Retail as a whole -- from algorithmic innovation, all the way down to the datasets that the back-end services consume.

About us together:
We're going to change the way that Amazon thinks about supporting our global customer. Along the way, we're going to face seemingly impossible problems. We're going to argue about how to solve them, and we'll work together to find a solution that is superior to each of the proposals we came in with. We'll make tough decisions, but we'll all understand why. We'll be the dream team.

The ideal engineer for this space will be highly quantitative, have great judgment and passion for building a great customer experience, be inventive, and have a strong track record of delivery. You also have a pragmatic approach and iterative approach to building software: you have an ability to simplify and get things done with a demonstrated track record of building and delivering software and working effectively with external and internal teams.

Some problem spaces we'll be working on:

WEB PAGES/EMAILS - as the primary contact point with our customers, it is critical that we can display and receive Unicode across our global marketplace. We need to create mechanisms to continually audit the customer experience in real time and alarm when we detect any regressions in this experience. It is not enough to simply alarm, we also need to create the automated mechanisms to drive closure on the non-complaint experience and also look for mechanisms to prevent non-compliant code to be deployed.

SERVICES - once we have received data from our customers (names, addresses, questions, etc.), we need to ensure that every service that interacts with the data is also safe from a Unicode perspective if we are going to deliver upon our customer promise (of delivering product to our customers' door steps). To achieve this, we need to create a tool that performs auto-discovery to identify all services in our Consumer stack and then validates the Unicode compliance.

PRINTING - unlike many web properties, enabling Unicode across Amazon means that we will need to ensure that any physical devices (for example, printers) can appropriately support the Unicode data. Furthermore, support for printing must occur with zero latency impact as printing is a high volume, time critical process where seconds matter. This is an area where we must look for creative solutions to address this global issue.

EXTERNAL DATA EXCHANGE - we interact with many third parties (banks, shipping services, data-feed providers, etc.) that are typically not Unicode compliant, which means that we need to create generic adapters that can perform a lossless up/down conversion of our data. Discovery of these endpoints is complex and may be unique to any given marketplace, yet the impact of not addressing these issues will almost certainly result in a poor customer experience.

END-TO-END TESTING - once we have addressed all of these issues, we must develop end-to-end test scenarios that will allow us to validate our work throughout the complexity of Amazon's consumer stack.

MECHANISMS - finally, we need to proactively develop mechanisms to continually audit and verify all code being deployed into our production environments to ensure that we do not allow any regressions within our ecosystem. Ultimately, we are going to change the behavior of Amazon developers, and this will not be an easy task.

Questions?:
AS you can see, this provides an opportunity to be exposed to Amazon's entire consumer stack. You may already know if you're a fit, but perhaps you're worried about technology and experience requirements? Don't be - we're looking for smart, proven, engineers; if you're the right candidate, we're flexible.


Basic Qualifications

  • Bachelor’s degree in Computer Science, Computer Engineering or a related technical discipline.
  • 5+ years of software development experience.
  • Proficiency in at least one modern programming language such as C, C++, C#, Java
  • Object Oriented Design and familiarity with application and database programming under UNIX/Linux.
  • Experience with Agile (SCRUM, RUP, XP), OO modeling, web services, UNIX, middleware, database and data mining systems
  • Experience mentoring and training the engineering community on complex technical issues

Preferred Qualifications

  • Master’s degree in computer science, Math or Physics or related field
  • Experience with MapReduce frameworks such as Hadoop and BigData streaming technologies such as Kinesis
  • Experience building complex software systems that have been successfully delivered to customers
  • Experience with building high-performance, highly-available and scalable distributed systems.
  • A high degree of pragmatism in building the simplest thing that does the job; we want to use technology to solve real-world problems expediently, not indulge in over-designed, unnecessarily intricate software architecture.
  • A willingness to dive deep, experiment rapidly and get things done.
  • A good understanding of SDLC models and a track record of shipping software efficiently. You recognize the difference between building software and shipping software.
  • Exceptional customer relationship skills including the ability to discover the true requirements underlying feature requests, recommend alternative technical and business approaches, and lead engineering efforts to meet aggressive timelines with optimal solutions.
  • Delivered a low-latency, consumer-internet-scale web services operating in a 24x7 environment
  • A strong track record of project delivery for large, cross-functional, projects
  • Deep hands-on technical expertise, excellent verbal and written communication skills
  • Sharp analytical abilities and proven design skills