![]() Over time, we grew the team considerably (increasing the engineering headcount by nearly 10x), and the size and complexity of the codebase grew considerably as well.Īs the team and codebase grew, I felt that, over time, we were paying an increasingly heavy tax for continuing to use Rust. Rust was used primarily because a couple of the founders of the company were Rust experts. This project was a cloud-based SaaS product that is, more-or-less, a conventional CRUD app: it is a set of microservices that provide a REST and gRPC API endpoint in front of a database, as well as some other back-end microservices (themselves implemented in a combination of Rust and Python). My primary experience from Rust comes from working with it for a little more than 2 years at a previous startup. But I think that Rust is often used in situations where it’s not a great fit, and teams pay the price of Rust’s complexity and overhead without getting much benefit. Right up front, I should say that Rust is very good at what it’s designed to do, and if your project needs the specific benefits of Rust (a systems language with high performance, super strong typing, no need for garbage collection, etc.) then Rust is a great choice. Weigh carefully whether the velocity impact is worth the benefits of the language for your company and product. What I do want to talk about, however, is how using Rust will almost certainly involve a nontrivial productivity hit that could be a major factor if you are trying to move fast. This post isn’t about how Rust is bad as a language or anything of the sort. I want to be clear that I am a fan of Rust for certain things. So, I’d like to share some of the pros and cons that I see of using Rust in a startup setting, where moving fast and scaling teams is really important. (Just to get the flame bait out of the way, Visual Basic is the best language ever!) But I’ve had a number of people ask me about my experience with Rust and whether they should pick up Rust for their projects. I hesitated writing this post, because I don’t want to start, or get into, a holy war over programming languages. ![]() ✍︎ All of the art for this post was generated using DALL-E. But think twice before picking it up for a startup that needs to move fast. Using Rust at a startup: A cautionary tale Using Rust at a startup: A cautionary tale
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |