How convince employees to learn Rust ? Real problem for our company!

That is a great attitude to have for a new user but unfortunately egos tend to get in the way. From my experience, developers cooperate when the developers understand the value of the directive and also see little encumbrance to adhering to the directive. Rust is an unusual language so people need hands on support solving their day to day problems. Because once the developer hits that brick wall and knows there is an easy solution in their comfort language, they will almost always revert back to their comfort language.

2 Likes

I had great experiences with that with professional users. It's my day job to introduce new technologies to companies, btw.

[quote]From my experience, developers cooperate when the developers understand the value of the directive and also see little encumbrance to adhering to the directive.
[/quote]

You missed the paragraph above where I explained exactly that.

When it comes to encumbrance: I'm not very kind to people that get high pay and shy away from things because of pleasantries. Maybe it comes from having worked in places where you couldn't be as selective before.

If you need any actual experienced Rust developers, I've two years of experience with it myself.

Hiring Process

As Rust is not a language that you can just pick up in a day or a week, you should really have Rust experience be a requirement to get in the door. Have them demonstrate an example project or complete a test project. They must demonstrate working knowledge of all the basics. Having them create an Iterator to tokenize a string efficiently is a good test of Rust experience. Further demonstrating working knowledge of creating parallel code, and the ability to develop using Rust's test-driven development style is also key.

Retraining

In order to retrain C++ developers to use Rust, that will require motivation on their part, and time. You need to possibly create materials or link to existing materials and have them study it and complete all of the assigned test projects. Essentially, they are being sent back to school. They may be entirely unproductive for a month or two as they learn how to use and master Rust.

Only once they've gained enough experience should they start writing production code. You need to have strict control over the source code repository (perhaps using Gogs and being the sole maintainer that accepts pull requests to master), so that you can ensure that no one does anything silly like implementing something in C++ and linking that to Rust.

To make the process easier, the team should all be utilizing a good IDE like Atom with the Tokamak IDE plugin and Clippy integration. They should be writing code that will not produce warnings by Clippy for bad style. A lot of people are using VS Code, but every time I try it out, it's completely neutered compared to Atom's Rust integration, and code editing capabilities as a whole (pasted code is automatically indented correctly).

Summary

Essentially, the basic gist is that you need people that are motivated to use Rust and are willing to put forth the commitment to it. The average C++ programmer with an academic diploma probably doesn't have the correct aptitude or talent for learning a language on their own, and is apt to writing bad code that Rust would never accept, hence the compiler wars. Fighting with the compiler is a good sign that the developer needs more training with programming, and that what they are doing in C++ is unsafe.

1 Like