Are you a seasoned Python developer, and are you passionate about improving the lives of your fellow developers? As a member of the Artifacts and Languages team, you'll design and develop tools to help Python users within Amazon stay up-to-date with the latest language and library versions. You'll provide guidance to teams that need to migrate away from older Python versions as they approach end-of-life. You'll drive the architecture of tools and libraries that tie Python development into Amazon-specific infrastructure. And you'll propose and develop improvements to the Python language and libraries, to contribute them back to the open source community.
If you’re a creative thinker and a Python evangelist, and you are excited by the idea of solving hard technical challenges to empower Python developers at Amazon to build great software, fast, come join us!
Proficiency in Python
6+ years professional experience in systems engineering and/or software development
Strong understanding of software engineering best practices
Computer Science fundamentals in object-oriented design
Computer Science fundamentals in data structures
6+ years of professional software engineering or development experience in Python
Master’s Degree in Software Engineering or related field, or equivalent work experience
A thorough understanding of key differences between Python versions, and of the challenges of upgrading between them
A strong understanding of Python application and library performance analysis and optimization
An established track record of contributions to open-source Python projects
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