I’ve not developed with Rails for a long time, and generally take a different approach to technology in that I prefer compiled typed languages whereas David prefers un-typed interpreted languages. So I almost passed this talk by, but it is worth watching from a general technology perspective.
Rails is designed to enable a single developer to operate the entire web application stack.
No part-stack developers. The vision of Simple IoT is similar – a single engineer should be able to build and deploy an IoT system.
Another thing that is interesting is the perspective on compensation for Rails:
We’re not here in a transactional way. I’m building something for you and then you have to give me an equal and proportionate part back. No, we’re here to give each other gifts, with no strings attached, because we simply enjoy making gifts. I enjoy making these gifts, I enjoy making them for myself, I really enjoy sharing them, and seeing all the gifts that come back. A lot of those gifts are code, and as I’ve said we have 700 people that have contributed to the latest version of rails, and we have almost 7000 people who have contributed to Rails over the 20 years that we have been tracking contributions.
37 Signals (David’s company) uses Rails to build products that make money, but they don’t earn money directly from Rails. This seems to be a practical and sustainable way to interact with OSS. 37 Signals appears to contribute quite a bit of development to various Rails projects, but they are in no way offended by companies that use Rails and give nothing back. This is not hurting them at all.
David asks the question:
What fundamental improvements are happening in our industry with either hardware, software, or browsers?
He aggressively uses new web features to simplify Rails and new hardware capabilities (such as NVMe speed) to simplify application architecture. From 2009 to 2023, storage speeds have increased by two orders of magnitude.
There is no longer as much need for caching layers like Redis as there used to be in the past.
David embraces the idea of the “Renaissance Developer” – modeled after Leonardo da Vinci, who was active as a painter, draughtsman, engineer, scientist, theorist, sculptor, and architect.