Amazon is looking for Software Development Engineers to build provisioning and scaling automation software for one of the world’s largest and most complex networks. Tens of millions of customers rely on Amazon’s network for using our retail websites, accessing content on their Kindles and building applications and businesses on top of Amazon Web Services (AWS). In its order this depends on Amazon's ability to deliver network capacity for ever increasing demands in timely fashion. As part of the Device Provisioning software team, our goal is to develop a zero touch provisioning platform for automating network provisioning and scaling activities from when demand comes to network capacity serving customers. Our team owns the future of network provisioning and scaling automation and builds scalable, highly available and easy to use and extend solutions, minimizing human touch points.
- You are excited about owning the future of network provisioning and scaling automation, work with large scale software ecosystem, and drive the adoption of new technologies.
- Solving complex and ambiguous problems at scale excites you.
- You don’t implement specs from analysts and architects – you talk to your customers and design solutions to their problems. You automate and innovate.
- You do not push just one technology agenda – you choose the best tool for the problem at hand.
- You believe that the craft of software engineering is about writing code right the first time. For you, code reviews and automated testing are not chores – they’re a core part of writing great software.
- You don’t throw your code over the wall. You launch it, own it, support it and make it incrementally better for the benefit of your customers.
- You enjoy working in a flexible, fast-paced, collaborative team environment.
- Computer Science degree, or equivalent experience.
- Ability to gather customer requirements and deliver innovative solutions.
- Strong track record of launching projects of significant complexity.
- Ability to mentor other software developers to maintain architectural vision and software quality.
- Experience with software engineering best practices (code reviews, source control management, build processes, testing, release and change management).
- Very strong problem solving and coding skills.
- Understanding of data structures, algorithms and their performance.
- Proficient at designing software systems, from high-availability large-scale distributed systems to your application’s object model.
- Understanding of the building blocks of computer systems; comfortable working with bits & bytes.
- Knowledge of at least one scripting language.
- Comfortable with Linux and a good understanding of networking concept