Are you passionate about software development, and about making the lives of your fellow developers easier? As a member of the Build and Artifacts team, you'll develop and improve mechanisms and tools for sharing code company-wide. You'll help curate the contents of Amazon's company-wide shared-code repositories. You'll develop tools to safely and automatically apply systematic transformations across code bases owned by hundreds of teams or more. You'll steward changes to libraries and tools that are deployed across the company to hundreds of thousands of systems. And you'll work with other teams in AWS Builder Tools to improve the daily lives of nearly every engineer at Amazon.
If you’re a creative thinker and you get excited by the idea of solving hard technical challenges to empower developers and ultimately help Amazon continue to build great software, fast, come join us!
Proficiency in at least one modern programming language such as Java, Python, Ruby, C/C++
Bachelor’s Degree in Computer Science or related field, or equivalent work experience
4+ years professional experience in software development
Computer Science fundamentals in object-oriented design
Computer Science fundamentals in data structures
Computer Science fundamentals in algorithm design, problem solving, and complexity analysis
Experience 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
Ability and motivation to take a project from requirements and scoping through launch and into maintenance
Experience communicating with users, other technical teams, and management to collect requirements, describe software product features, and develop and review technical designs
Strong knowledge of data structures, algorithms, distributed systems, and asynchronous architectures
Ability to quickly understand and make changes in unfamiliar code bases
At least 4 years of professional development in each of at least two programming languages
A strong understanding of system and application performance characteristics