Software Development Engineer

Job ID: 1559515 | Amazon Dev Center U.S., Inc.

DESCRIPTION

The AWS Pyxis team is looking for a seasoned Software Development Engineer with a passion for infrastructure automation. As a member of AWS Pyxis you will be exposed to most AWS services and technologies. Software Development Engineers on the AWS Pyxis team work in a fast-paced environment with various multi-disciplined AWS service teams to deliver innovation and improvements to new and existing AWS infrastructure automation and development tooling.

The candidate should have a strong desire to learn and be curious about Amazon's internal and external services. The Pyxis team operates in a true DevOps fashion; you will be both allowed and expected to follow problems all the way to the end and work on implementing real solutions and not just quick fixes. A candidate that wants to dive deep and understand how to solve systematic problems in large systems will get a chance to excel in this position. The candidate will be expected to develop in Ruby, Python and Java.

Here at AWS, we embrace our differences. We are committed to furthering our culture of inclusion. We have ten employee-led affinity groups, reaching 40,000 employees in over 190 chapters globally. We have innovative benefit offerings, and we host annual and ongoing learning experiences, including our Conversations on Race and Ethnicity (CORE) and AmazeCon (gender diversity) conferences. Amazon’s culture of inclusion is reinforced within our 14 Leadership Principles, which remind team members to seek diverse perspectives, learn and be curious, and earn trust.

Our team puts a high value on work-life balance. Striking a healthy balance between your personal and professional life is crucial to your happiness and success here, which is why we aren’t focused on how many hours you spend at work or online. Instead, we’re happy to offer a flexible schedule so you can have a more productive and well-balanced life—both in and outside of work.

A Pyxis Software Development Engineer will:
· Work with other engineers to build and manage massively scaled services
· Automate complex tasks and processes involving a variety of AWS services and teams
· Track the health of our services, identify and fix problems on complex systems with massive scale
· Collaborate with some of the leading minds in distributed systems

The candidate should be familiar with the following Programming concepts, including the following:
· Object Oriented software design patterns
· Functional software design patterns
· Application and database programming under UNIX/Linux
· Familiarity with noSQL databases (DynamoDB, MongoDB, etc...)
· Microservice architecture design and development
· Middleware design and development
· Full Stack design and development
· CLI design and development
· Continuous Deployment
· Continuous Integration
· Declarative Programming Paradigms
· Imperative Programming Paradigms
· Configuration Automation (Zero Config, Configuration as Code, etc...)
· Dependency Injection
· Version Control Systems (GIT, SVN, etc...)
· Experience working in Agile frameworks (SCRUM, RUP, XP)

The candidate should be familiar with Linux, including the following:
· Various distros and their corresponding package management tools
· Linux permissions and permissions management
· File System partitioning, formatting, and mounting
· Log parsing tools (grep, awk, sed, cut, tr, etc...)
· Remote access via SSH
· Network tools (netstat, tcpdump, nc, ping, etc..)
· System Monitoring Tools (top, *stat tools, etc)
· DNS and tools (bind, host, dig, nslookup, etc)
· Runlevel management tools (systemd, rc.d, inittab, chkconfig, etc)

This position can will only consider candidates for our Seattle, WA location.

BASIC QUALIFICATIONS

· 3+ years of non-internship professional software development experience.
· 3+ years of programming experience with using object-oriented programming languages such as Java or Python.
· 3+ years of programming for Linux/Unix based platforms.
· 2+ years working with CI/CD infrastructure platforms (Kubernetes, Jenkins, CircleCI, AWS Code Suite, Azure DevOps, TravisCI, etc...)
· 2+ years experience working with SCM systems (Puppet, Chef, Ansible, etc...)
· 1+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems.


PREFERRED QUALIFICATIONS

· Passion for Amazon Web Services and cloud-based computing
· Strong collaboration skills and ability to work across multiple teams
· Experience contributing to or working with open-source software
· Design and familiarity with noSQL databases like DynamoDB or MongoDB, DynamoDB is preferred.
· Experience mentoring and training the engineering community on complex technical issues
· Deep hands-on technical expertise, excellent verbal and written communication skills
· A strong track record of project delivery for large, cross-functional projects
· Experience building complex software systems that have been successfully delivered to customers
· Experience with building high-performance, highly-available and scalable distributed systems.
· A willingness to dive deep, experiment rapidly and get things done.
· Bachelor’s degree in Computer Science, Computer Engineering or a related technical discipline.

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.