There is often a trade-off between doing something interesting and being productive. Recently, I’ve been playing with Rust and I implemented a simple HTTP server based on RFC 7230. It was an interesting journey, but it took a lot of time in order to do a few basic things. After I finished with this server, one of my clients contacted me with an offer to write a simple JSON API. I really wanted to use my little Rust webserver, but I ended up using Spring Boot.
Learning new things can be entertaining, and it can help us in the long run. That’s good for me, but that would be horrible for my client. My productivity would drop, and it would be really hard to find another engineer to work on my Rust webserver. When it comes to business, it’s all about making money, and it’s really hard to make money if you’re not productive at what you’re doing. Backend software isn’t my main focus, so I contacted a few friends and asked them for advice on which tools I should use in order to be productive. The consensus were on the side of Spring Boot.