The #rustreach program asked people to write down how they came to Rust and I’m happy to do that. Reach is a program to bring new people into Rust through a mentorship process. This post is mainly written for its participants, but others might find value, too!
Entering a community or a space is always a moment of orientation process and I hope I can give some insight into that. My path is highly individual, but yours will be, too. Own that. It’s great.
My background is mostly in Ruby - I started programming Ruby at university in 2003 and continued on that path for 10 years. Ruby was an old language back than, already - dating back to the early 90s. I have learned a couple of languages in between, but Rust turned out special.
I am certainly an early adopter of Rust. I picked it up as a hobby in the early versions, Rust 0.4 was the first version I tried out and around version 0.6, I started writing notable pieces of software in it. That was in 2013. Rust - for me - was the chance to see a language being built. I had no interest in writing a programming language, but I was curious how the process works. I’m still amazed on how agressively languages can change when compatibilty is no issue. Back then, all Rust code in existence would break regularly.
But there were two things I found very notable:
Rust was always focused on building a practical programming language more then a research language (obviously, the process means of integrating techniques means that you need to come up with your own things). It was interesting to watch the process and be able to code along.
In 2014, I got in touch with @johannh about running a meetup. We were both curious about Rust, but wanted to get in touch with other people who were interested. We both had previous experiences with community events. So we formed Rust Berlin and quickly thereafter the Rust Hack & Learn within OpenTechSchool, where - instead of coming and listening to a talk - you could pass by and hack on your own project. The Hack & Learn is still running every other week!
There’s a difference between programming Rust and being involved in the Rust project. For me, the difference is that project work somewhat goes above the sphere of your personal projects. Rust Berlin, I wouldn’t consider a part of my project work. Helping other people out with my experiences, I do. Shortly after the 1.0 release, Steve contacted me whether I want to take part in the newly formed community team.
I was very impressed by this. Most projects don’t have an explicit community team. Sure, there’s community workers, but they are rarely integrated into the project on an offical basis. Being recognised for my previous experience in that area and by a project had never happened to me, though. Looking back, this is also a strength of the Rust project: actively reaching out to people to participate. Beyond that, the ability to think about FOSS community issues in a far wider scale than I had before was just too teasing to be true. I accepted :).
Your path into Rust will definitely be different to mine! So next, I’d like to tell you why I am still around. And that’s because I think the Rust project gets a lot of things right. Some of these things weren’t always right and there’s always things that need to be fixed. A previous draft of this text had included some of the things that were broken. I decided to remove them, because they are fixed. For me, Rust - the project - is based on a couple of things:
A friend once told me that I see problems everywhere. And she’s right. But a stated problem is something you can work on. The Rust project, over the last years, has found a good working scheme in which problems are stated, inspected and subsequently fixed. I like that. And for me personally, that means my problems are taken seriously. My part of the trade is that I take all of the other problems with seriousness and allow them to have room.
When you start #rustreach, you’ll be taken into a project that is written in Rust. For that, you will mainly interact with your mentor and the library or program you will be working on. Sometimes, that means that the Rust project - the organisation building this programming language - will mostly be a secondary concern.
I would still like to encourage you to check us out a little. While there’s no “formal” way to join most of the teams, it’s mostly easy: show up and be willing to work on tasks. Or, even better, if you have a subject that is not covered by any of the groups, form one! It isn’t even as huge of an amount of work as you may think.
The barriers are much lower then you might think and tasks are aplenty!top