Software Development Engineer - Deployment Automation, Border Automation Development
The AWS Networking organization is hiring, and we're looking for talented Software Development Engineers (SDE) to join our team. Within Networking, we're confronting and solving complex and high-stake challenges. Our teams support all aspects of connectivity to/from Amazon and the outside world, as well as the connectivity between Amazon's data centers and services. As a member of the Border Automation Development team, you will play a part in designing and architecting software to ensure networks that simply cannot fail, that scale infinitely, and won't constrain growth or innovation.
This opportunity sits within our Internet Services organization where the team is responsible for the safety, agility and velocity of changes in our software defined network Ever wonder how Amazon manages and configures thousands of network devices? Engineers on this team work collaboratively with multiple teams, across various products to make it faster, safer, and easier to deploy changes to our network devices. Engineers on this team make day-to-day and strategic decisions that carry a huge amount of responsibility and impact.
• We use a combination of SCRUM, Kanban, and continuous deployment to deliver projects based on realistic timelines and resource constraints.
• We strive to have a collaborative environment that impacts products and software across the company
• We write primarily in Java and Python
• We use AWS technologies like: DynamoDB, SWF, S3, EC2, API Gateway, Lambda, and ELB
• We are one of the many teams ensuring Amazon's network maintains 100% uptime
• We are spread across Seattle and Sydney
• Our work has a direct impact on internal and external customers
• We own and operate the infrastructure required to serve our customers
• We have a weekly on-call rotation (12 hours)
• One of the ways we measure our success is based on our decrease to configuration drift and deployment velocity
Everyone on the team needs to be entrepreneurial, wear many hats and work in a highly collaborative environment that's more startup than big company. A wave of innovation is bringing sweeping changes to networking technology. Virtualization, unimaginable scale, hardware commoditization, and intelligent tooling are revolutionizing network software. We are taking industry trends such as Software Defined Networking, and DevOps and blending them to create a team that is responsible for the ecosystem that provides safe, fast, and automated changes to thousands of devices in our network.
As a developer in this diverse team you and your colleagues will work together to build systems that simulate, deploy and validate changes to Amazon network devices many times a day. Your systems will ensure safety of changes at "Amazon scale". You will dive deep into Amazon's network architecture and closely work with many teams to understand Amazon's network configuration and management. You will use this knowledge to develop our software to solve challenging problems with an energetic team in a fast paced environment.
Here are some reasons you should come work with us:
• Work as part of a diverse team with some of the best minds in the industry, across the world!
• Handle the complete software development lifecycle: defining, prioritizing, designing, building, and testing.
• Have the opportunity of participating in the solution of problems not yet solved by the industry.
• We like to: eat yummy foods, drink coffee, have some drinks together, work hard, have fun, and make history.
Key job responsibilities
As a Software Development Engineer on this team you will design, and operate the software that you are putting in production. This includes an operations workload as a result of maintaining the full-stack that runs the software. Your role will be to technically lead the organization and identify areas that the group should be focusing on. You will be responsible for technically reviewing software design documentation and providing suggestions to more junior engineers how to proceed. You will work hand-in-hand with Network Engineering teams and Network Operations to automate and invent new ways of operating Amazon's Next-Generation Network. BASIC QUALIFICATIONS
• Bachelor's Degree in Computer Science or related field of study.
• 5+ years proficiency in 2 or more programming languages; including but not limited to Java, C, C++, Python or Go.
• Develops high quality code and comfortable with test driven development.
• Experienced with designing solutions.
• Familiar with scripting languages such as BASH or other.
• Experience in Agile methodologies like SCRUM or Kanban.
• Experienced with Software development for Linux/UNIX environments, its challenges and considerations.
• Passionate about learning new programming languages, frameworks, and technologies. PREFERRED QUALIFICATIONS
• A solid understanding of networking protocols details is desired but not required.
• 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 large-scale 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 in mentoring junior software engineers to improve their skills, and make them more effective, and productive software engineers.
• Being able to contribute to and set software engineering "best practices" within the team and globally.