At Amazon, we are working to be the most customer-centric company on Earth. Amazon Fulfillment Technologies (AFT) powers the physical engine at the heart of Amazon. AFT builds and operates the software, hardware, and processes that run the global network of fulfillment centers, which move billions of units of inventory and ensures customers get what they want when promised. Within AFT, we are constantly innovating in the ways we are automating and accelerating the delivery of products and packages using state of the art software and hardware technologies, while keeping our associates and partners safe. We leverage the latest AWS technologies, big data approaches, and ML to build distributed, highly available systems to achieve our goals.
Our team is looking for top-notch software developers who love listening to our customers, working as a team, and proactively taking the lead whenever necessary. Our mission is to innovate and build scalable and robust software solutions that deliver a great customer experience. These software solutions will directly impact Amazon’s customers from product selection and order placement, to delivering products to our customers as quickly and cost effectively as possible.
What you’ll do?
· Participate in the design, implementation, and deployment of successful internet-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 with 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.
· 4+ years of professional experience in software development
· Bachelor's or Master's Degree in Computer Science or related field
· Computer Science fundamentals in object-oriented design, algorithm design, problem solving, and complexity analysis
· Solid experience in OO programming languages such as C++, Java or C#
· Solid UNIX or Linux experience
· Experience with scaling and performance of large systems
· Outstanding interpersonal and communication skills
· Obsession with quality and customer experience - attention to detail coupled with ability to think abstractly
· Experience taking a leading role in building complex software systems that have been successfully delivered to customers.
· Knowledge of professional software engineering best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations.
Background in distributed computing, service-oriented architectures and enterprise-wide systems.
· Experience in communicating with users, other technical teams, and senior management to collect requirements, describe software product features, technical designs, and product strategy.
· Experience mentoring junior software engineers to improve their skills, and make them more effective, product software engineers.
· Experience influencing software engineering best practices within your team.
· Full stack experience ranging from front-end user interfaces through to back-end systems and all points in between.