The Amazon Maps Data and Science team builds systems that model the real world to enable routing for drivers. We build, maintain and vend base map data, road network data, map tiles, geocodes of addresses and time estimates for service as well as transit times. We also provide a shortest path service to find fastest paths between locations and a service to optimize consolidation of stops. Together these systems help us get better at determining the locations that we go to deliver packages, figure out how to get to those locations and to estimate the effort of delivery for planning.
While it may be easy to say “Why build yet another Maps?” as a first reaction, as we go deeper into our problems, the answer becomes increasingly clear and challenging. We are building systems that enable depth focused solutions. For example, we are interested in not only getting a person to an address like 300 Boren Ave N, we are also interested in helping them find out if there is a mailing room in the building and if there is, helping them navigate quickly to that mailing room. We are also interested in accurately estimating how long it would take to arrive at the address, find the mailing room and drop a package there. We will incorporate the ability to leverage mass transit, multiple modes of transportation and traffic awareness to find the most efficient paths for our drivers. We are also interested in making it easy to calculate paths on cheap mobile devices or in simplifying the process to find an efficient path to cover hundreds of delivery points. Several of these problems require us in building systems that can work with an ensemble of models as well as support the right segmentation of inputs to make good estimates on the outputs.
There are several unsolved or partially solved problems in this space such as automatically adding new roads detected from sensor/video data into the larger road graph, deterministically detecting if a new road is in fact just a modification to an existing road (such as a change in curvature of an existing road due to a new sidewalk), accurately determining the bearing of a person when they start traveling leveraging only a single and single IMU sensor source, parsing unstructured addresses such as in countries like India, processing alternate solutions within microseconds on a mobile device without talking to a backend service and so on. The right person for this space would enjoy working in a space that requires constantly pushing both the research and -off edges to unlock solutions to such problems.The person would be building multiple ML / AI based solution and build optimized solution which can traverse over a complex graph of billions of nodes and edges.
Our key output metrics include location accuracy, coverage and accuracy of our road network for routing and users to the correct location, predictive accuracy of service and transit estimates. We also measure the operational impact of these inputs on delivery success and on the gaps between actual versus planned on-zone times, transit times and service times.
· Participate in the design, implementation, and deployment of successful large-scale systems and services in support of our fulfillment operations and the businesses they support.
· Participate in the definition of secure, scalable, and low-latency services and efficient physical processes.
· Work in expert cross-functional teams delivering on demanding projects.
· Functionally decompose complex problems into simple, straight-forward solutions.
· Understand system interdependencies and limitations.
· Share knowledge in performance, scalability, enterprise system architecture, and engineering best practices.
If you have an entrepreneurial spirit, know how to deliver, are deeply technical, highly innovative and long for the opportunity to build pioneering solutions to challenging problems, we want to talk to you.
· Experience in large-scale maps, location, and geographic technology
· Experience developing cloud software services and an understanding of design for scalability, performance and reliability.
· Development experience defining, developing and maintaining REST based interfaces
· Excellence in technical communication with peers and non-technical cohorts who may be remote
· Solid knowledge of software development methodologies and best practices.
· Ability to tackle big, incompletely-specified problems and resolve ambiguity in the customer's favor.
· Experience defining system architectures and designs, exploring technical feasibility tradeoffs, and making data-driven decisions.
· Demonstrated ability to mentor other software developers to develop all aspects of their engineering skill sets.
· Ability to drive consensus within a team and influence outcomes in significant technical decision-making.
· Experience interviewing and evaluating potential software engineer new hires.
· Understanding of algorithmic design and complexity analysis.
· Strong verbal and written communication skills and an ability to work in a team environment.
· High sense of ownership, self-motivation, and desire to delight customers.
By submitting your application here, you can apply once to be considered for multiple Software Engineer openings across various Amazon teams. If you are successful in passing through the initial application review and assessment, you will be asked to submit your career and personal preferences so that our dedicated recruiters can match you to the right role based on these preferences.
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, visit https://www.amazon.jobs/en/disability/us .
· 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.