The Amazon Operations Technology (Ops Tech) Infrastructure Engineering team provides tools and services for building, managing and running software on mobile devices within Amazon locations worldwide. The devices we develop software for are used in Amazon Fulfillment Centers, Middle and Last Mile facilities such as the smallest last-mile delivery stations in emerging markets to one million plus square foot robotic facilities in North America, Japan, and Europe. Our software solutions are relied upon by hundreds of thousands of associates at thousands of locations and are critical to the delivery of shipments to Amazon retail customers.
Our team has full ownership of our solutions including operating system development, native mobile apps, and native AWS services architecture at a massive scale. As a seasoned engineer you will design, build and rollout solutions globally that make our processes and staff more efficient and thereby making Amazon more productive in our customer obsession pursuit.
As a team, we are excited about learning every day and delighting customers by solving problems that impact order fulfillment. We are passionate about software quality, repeatability, testability and maintainability. When we need clarity, we go to the product customers, perhaps a user, and talk to them until we get it right. We understand the challenges associated with operating a large-scale system in production, and our designs and implementations reflect that understanding.
When we are wrong, we are happy to learn something. We build software quickly, but properly so that we don't have to go back to it later. We know what "unit tests" are and don't implement software without them. Shipping on time with high quality makes our heart feel warm. We think CD (Continuous Delivery) isn't something we will worry about later.
Our mission is to design systems and platforms that set the global standard for performance, availability, security, and cost, enabling Fulfillment and Logistic operations to deliver customer orders on time, every time.
- Bachelor's Degree in Computer Science or related field
- 4+ years professional experience in software development
- Computer Science fundamentals in object-oriented design, data structures & algorithms, problem solving, and complexity analysis
- Knowledge of, at least, one modern programming language such as C, C++, Java, C#
- Experience taking a leading role in building complex software systems that have been successfully delivered to customers
- 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
- Experience with distributed computing 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 engineers best practices within your team
- Hands-on expertise in many disparate technologies, typically ranging from front-end user interfaces through to back-end systems and all points in between
- Experience with mobile development, e.g. Android or iOS
- Experience with operating systems development