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 the design of connectivity between the hundreds of AWS location and thousands of services. As a member of the Backbone Engineering team, you will play a part in designing and architecting software feeding Network Engineers with critical information to predict networks behavior in any situation and build logical and physical solution that will meet Amazon's customer obsession.
This position is part of the Backbone organization where the team is responsible for the modeling and validation of changes in our network topology as well as automating the deployment of these changes. Ever wonder how Amazon manages and configures thousands of network devices? How Amazon offers a highly available and scalable network ?Engineers on this team collaborate with various team profile to ensure the scalability of our network and the safety of our design deployment. Engineers on this team make day-to-day and strategic decisions that carry a huge amount of responsibility and impact.
• We strive to have a collaborative environment that impacts products and software across the company
• We use AWS technologies like: DynamoDB, SWF, S3, EC2, API Gateway, Lambda, ELB, RDS, and Athena
• We are one of the many teams ensuring Amazon's network maintains 100% uptime
• We are spread across Seattle, Dublin 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 are a group of engineers that value diverse perspectives, collaborate freely, and believe we should help each other succeed (and fail) as a team. We love to learn and take ownership for our work, and we think you probably do too. As a member of our team, you will have opportunities to stretch your skills, whether that means resolving deep algorithmic knots in our backend services or designing a better user experience for our technical users.
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, Data scientist, Business developer to build workflow to model and automate the future AWS Network.
• 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.
• Meets/exceeds Amazon's leadership principles requirements for this role
• Meets/exceeds Amazon's functional/technical depth and complexity for this role
Amazon is committed to a diverse and inclusive workplace. Amazon is an equal opportunity employer and does not discriminate on the basis of race, national origin, gender, gender identity, sexual orientation, protected veteran status, disability, age, or other legally protected status. For individuals with disabilities who would like to request an accommodation, please visit https://www.amazon.jobs/en/disability/us.
• 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.