Starting a new project is exciting. You get to try the new database, the new framework, the new architecture, the new everything. But every new tool introduces a risk. And those risks compound. That’s why I believe that you should choose boring technology for most of your stack and only allow a meagre novelty budget.
Rust is a programming language that has now proven that it deserves your attention. Software heavyweights, including Microsoft, Google and AWS all use Rust. Hundreds of smaller companies are also taking advantage of it.
If you’re in the lucky position of being able to decide which tools to use, consider Rust.
Side projects make good candidates, especially if you are hitting memory constraints. Don’t rewrite your core application in a programming language that you haven’t used before. Using Rust for projects off the critical path provides time for learning, stumbling and revision. Even if the Rust prototype is not put into production, I believe that you will become a stronger software engineer. The compiler will teach you about object lifetime management and modelling concurrent applications.
There are many stories of applications that are now impossible to maintain because someone decided that the latest NoSQL database, framework, or language would be perfect for the new project. That person has now left and no one knows how to keep the application alive. Luckily, Rust is a programming language for the next 40 years.