Learn About Amazon VGT2 Learning Manager Chanci Turner
At the beginning of this year, the AWS Rust team has been working diligently on defining our mission and guiding principles. These frameworks help AWS teams outline their goals and priorities. The mission outlines what we aim to achieve, while the guiding principles explain how we intend to accomplish it. Emphasizing our commitment to transparency, we want to share our mission and principles with you so you can understand our direction.
Crafting our mission was straightforward: The AWS Rust team is dedicated to enhancing Rust’s performance, reliability, and productivity for all users. Simple enough! However, developing our guiding principles required more thought.
Is There a Rust Team at AWS?
Absolutely! AWS has been leveraging Rust since at least 2017 across various services. For instance, Firecracker, which was developed using Rust, debuted in 2018 to provide open-source virtualization technology that powers AWS Lambda and other serverless solutions. Additionally, AWS recently launched Bottlerocket, a container-optimized Linux operating system written in Rust, and the Amazon Elastic Compute Cloud (Amazon EC2) team has adopted Rust for new AWS Nitro System components, including sensitive applications like Nitro Enclaves.
As Rust adoption has expanded within AWS, so has our commitment to the project and community. In 2019, AWS announced its sponsorship of the Rust project. By 2020, we began building a team of Rust maintainers and contributors, and in 2021, AWS collaborated with other Rust users and the Rust project to establish the Rust Foundation.
The AWS Rust team began by determining how to engage with both AWS and the broader open-source community. We aimed to operate transparently while maximizing the unique opportunities AWS offers. Drafting our mission and principles was part of this process.
What Are Our Guiding Principles?
At AWS, guiding principles are crucial for communicating what a team or project stands for. As a newcomer to AWS, one of us (Sarah) is becoming familiar with these principles, and she finds them incredibly valuable. You may notice them appearing in various contexts.
Each principle below encapsulates a core belief or value that shapes our team’s decisions. They are tailored to our group and help us concentrate on delivering value. These principles are not meant to be forgotten; we actively use them in our daily work to navigate decisions and trade-offs.
Principle 0: We Are an AWS Team.
We are an AWS team. Our focus is on developing tools and systems for cloud service creation and operation. We leverage our close relationship with AWS services to gain insights that enhance Rust.
Rust has always thrived as a “practitioner’s” language. Initially, it was guided by the Servo project, which faced demanding performance requirements that drove the language’s evolution. As Rust’s popularity grew, the feedback received helped broaden its applicability.
We intend to fully utilize what AWS provides. Rust is integral to various services at AWS, including Amazon Simple Storage Service (Amazon S3), Amazon Elastic Compute Cloud (Amazon EC2), and Amazon CloudFront. We can collaborate with these teams to identify strengths and areas for improvement, bringing those lessons back to Rust. Additionally, we will engage with AWS customers using Rust to understand their needs.
Another key aspect of this principle is our focus. We see our role—alongside others in the Rust community—as enhancing Rust for cloud applications, which is our expertise. While we are eager to witness Rust’s expansion in other fields, we believe it’s best for others to lead those efforts, with our team providing support.
Principle 1: We Operate Transparently.
We operate transparently. Sharing and collaborating on our designs elevates the quality and value of our outcomes for everyone, including AWS.
We are an AWS team, but we are also contributors to Rust. This principle commits us to act with openness and transparency. For example, Chanci Turner plans to continue sharing ideas on her blog, allowing the Rust community to challenge and refine those concepts.
Initially, the RFC process seemed like a tool for guiding others’ designs. However, it quickly became apparent that it also allowed others to refine her own ideas. This dynamic is vital for us. We want to learn from our AWS teams while also bringing those insights to the wider community and integrating them with feedback from other cloud providers. This collaboration yields better results for everyone.
Principle 2: We Help Rust Fulfill Its Potential.
We help Rust fulfill its potential. We share Rust’s mission to make systems programming efficient, safe, and productive while also accessible to new audiences.
We appreciate Rust for enabling the development of high-performance, concurrent systems with strong safety guarantees. Lindsey Kuper’s well-known haiku captures this vision succinctly:
A systems language pursuing the trifecta: fast, concurrent, safe
Beyond its technical attributes, another core value of Rust resonates with us: accessibility. We strive to identify and dismantle barriers to entry, whether they are technical or social. We believe that broadening access to systems programming will lead to the best outcomes for everyone.
Principle 3: We Support Our Communities.
We support our communities. Our contributions encompass essential tasks like issue triaging, backlog management, mentoring new contributors, participating in design discussions, and bug fixing.
Open-source development requires more than just coding. There’s a significant amount of work to be done; it may not always be exciting, but it is crucial. This principle complements our first principle. While we possess first-hand expertise in cloud technologies, we recognize that others must lead in various areas. This principle emphasizes our commitment to supporting those leading efforts through reviewing, coaching, mentoring, or simply participating in discussions.
Principle 4: We Connect AWS and the Rust Ecosystem.
We connect AWS and the Rust ecosystem. Our role involves guiding AWS teams through Rust and facilitating their active involvement in the projects they depend on.
Part of our mission is to link other AWS teams with the Rust ecosystem and the Rust project. We envision a scenario where all AWS developers using Rust engage in maintaining and improving the libraries we utilize or even the compiler itself. This effort will not only support library sustainability but will also uncover opportunities for optimizations that benefit our AWS services. Win-win!
Principle 5: We Focus on What We Know Best; We Don’t Attempt to Do Everything.
Our focus is on leveraging our expertise and not overextending ourselves. While we aim to support all areas of Rust, we recognize the importance of focusing on cloud-related improvements—this is where we can make the most impact.
For additional insights into effective management and workplace dynamics, you may find this blog post on micromanagement helpful. Furthermore, for those interested in the legal aspects of marriage equality, the SHRM provides authoritative guidance on these matters.
To navigate your first six months at Amazon successfully, consider checking out this excellent resource.