Amazon.com stores and sells millions of unique items worldwide through its Fulfillment Centers (FCs). These items are shipped from tens of thousands of vendors into the many FCs in the Amazon network. We need different quantities of each of these items, we need to pick them up from the vendors at different times, and bring it into the FCs at specific times depending on the priority of the items. Each item has different dimensions, volume and weight and hence is associated with different shipping costs. What we end up with is a gigantic graph, with the nodes being vendors, carrier hubs, Amazon.com FCs and end customers. The arcs in this graph represent the time of transportation and cost of transportation. Each node has a specific capacity, and so does each arc, and there are time constraints on when a product needs to ship out of a node and when it needs to come into a different node. And we need to do all of this while incurring the least cost.
What this results in is an extremely challenging optimization problem, that could be solved using OR techniques, or graph theoretic approaches or any other methodology. A small enhancement in the algorithms of scheduling and optimization can result in millions of savings in transportation cost, or in reducing the amount of inventory that Amazon.com holds.
As a Software Development Engineer (SDE) working on the team, you will not only be responsible for creative input into these algorithms, and developing them in an Object Oriented and scalable way, but, you will also spearhead the development of these modules in such a way that they can be packaged and sold to third-party customers as well. Hundreds of third party websites and merchants will utilize your software for plan their freight movement. You will be dealing with high transaction websites and web services supporting thousands of transactions per second.
We are not tied to one technology - instead, we use what is best suited for the purpose. All of our systems tend to be loosely coupled, communicating using synchronous and asynchronous messaging, leading to a classic distributed processing architecture. We are looking for talented SDEs who enjoy working on creative algorithms, building large scale systems and who thrive in a fast paced fun environment. Knowing JAVA, C++ and Object Oriented Design is a must, and Perl and SQL are highly desired. Experience working with Linux is a big plus.
•Candidates must have a strong Computer Science background. A Bachelor's degree in Computer Science is a must.
•Candidates will have 7 or more years of relevant development experience.
•Proficiency in JAVA, C++ and OOD is a must. Perl, SQL and experience with Linux are desired.
•Candidates will have experience designing and implementing large-scale distributed systems in a production environment.
•Candidates will show excellent debugging and troubleshooting skills, with an enthusiastic attitude to support and resolve customer problems.
•Master's degree or relevant work experience is preferred.
Amazon is an Equal Opportunity-Affirmative Action Employer - Minority / Female / Disability / Veteran / Gender Identity / Sexual Orientation