The AWS Rust team is looking for an Applied Scientist to reinvent the way we approach programming language design. We want to meet developers where they are by making the Rust programming language more expressive, more capable, and easier to use. You will be part of a world-class team of academics and engineers collaborating in the open with the Rust project and community to develop deep insights into how developer’s learn and use programming languages. You will work to design and implement usability testing and teaching techniques that enable data driven decisions about the developer experience for ecosystem challenges like the portability of async runtimes and for developer tool initiatives like TurboWish, the Rust performance profiler.
The AWS Rust team is comprised of academic scholars and maintainers of the Rust language and compiler teams and Tokio stack, and we are working 100 percent in the open on the Rust project and ecosystem. We are a new model for a team. We prioritize the specific needs of engineers building cloud computing solutions. We lead the development of tools and mechanisms for building and operating services in the cloud, and we leverage our proximity to AWS services to gather insights that help us improve Rust.
AWS engineers are choosing Rust for its unique combination of fast, consistent performance, and memory and concurrency safety. The AWS Rust team helps Rust deliver on its promise. We focus on the developer experience, optimizations, and tools for the features our AWS engineers will use to build and operate services that take full advantage of the Rust promises of performance and safety.
As an applied scientist on the AWS Rust team, you will play a pivotal role in shaping the definition, vision, design, roadmap and development of features from beginning to end. You will:
· Research usability testing techniques for programming language design
· Research teaching techniques for programming languages
· Design and implement experiments that test the usability of programming language features
· Incorporate the insights from these experiments into engineering design proposals
· Incorporate the insights from these experiments into teaching tools and documentation for Rust
· Collaborate in the open with the Rust project and community
· Develop frameworks to scale the techniques and experiments you develop for broader application
This role can be based in Boston, NYC, Seattle, Bay Area, and other major cities.
Mentorship & Career Growth
We have a formal mentor search application that lets you find a mentor that works best for you based on location, job family, job level etc. Your manager can also help you find a mentor or two, because two is better than one. In addition to formal mentors, we work and train together so that we are always learning from one another, and we celebrate and support the career progression of our team members.
Inclusion and Diversity
Our team is diverse! We drive towards an inclusive culture and work environment. We are intentional about attracting, developing, and retaining amazing talent from diverse backgrounds. Team members are active in Amazon’s 10+ affinity groups, sometimes known as employee resource groups, which bring employees together across businesses and locations around the world. These range from groups such as the Black Employee Network, Latinos at Amazon, Indigenous at Amazon, Families at Amazon, Amazon Women and Engineering, LGBTQ+, Warriors at Amazon (Military), Amazon People With Disabilities, and more.
Our team puts a high value on work-life balance. It isn’t about how many hours you spend at home or at work; it’s about the flow you establish that brings energy to both parts of your life. We believe striking the right balance between your personal and professional life is critical to life-long happiness and fulfillment. We offer flexibility in working hours and encourage you to find your own balance between your work and personal lives.
Interested in joining this role or team? Reach out to Z Ali (email@example.com) with questions.
· M.S. or Ph.D. degree in Electrical Engineering, Computer Science, Mathematics, or related technical field
· At least 2 years of industrial/academic experience in computer science education or programming language design
· At least 2 years of experience with Rust and open-source technologies
· At least 2 years of experience in design of experiments
· Ph.D. degree in Electrical Engineering, Computer Science, Mathematics, or related technical field
· At least 2 years of professional software engineering practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
· Excellent written and verbal technical communication with an ability to present complex technical information in a clear and concise manner to a variety of audiences
· Exceptional customer relationship skills including the ability to discover the true requirements underlying feature requests, recommend alternative technical and business approaches, and lead engineering efforts to meet aggressive timelines with optimal solutions