Software is Farming

Many businesses fundamentally misunderstand the nature of software. They treat creating software like they are making a better insulated mug, or writing a book, or creating an even cuter squishmallow.

Design it
Create it
Sell it
Done

But this is not how software works.

Software is like farming. You are a steward. There is a natural seasonality to the work. And the work will continue as long as you own the land.

🪴

You may start with a potted houseplant.
You water it once a week.
Easy-peasy.

🪴🪴🪴

If you are not a complete failure and manage to keep your plant alive, you may decide you like this hobby. So you buy a few more plants. Your watering schedule is a bit more complex, and you may need someone to check on your plants when you are out of town, but overall this is fun and enjoyable.

🌱🌱🌱🌿🌿🌿🐛

Eventually it comes time to repot your plants. You may propagate some into a planter in your backyard. Now you need a hose or a small irrigation system. You must occasionally pull weeds and keep bugs away. Weather is now an issue. Maybe you build a small hot-house to protect the plants?

🌾 🌾 🐛 🌾 🌾 🌾 🌾

🌾 🌾 🌾 🌾 🌾 🌾 🌾 🚜

🌾 🌾 🐛 🌾 🐛 🐛 🌾

You fall in love with these plants, buy an acre of land, and start farming them. Now you must procure a tractor, a plentiful source of water, and labor to harvest. Bug problems may scale to infestations. And now your plants are fully outdoors and you must contend with seasons and weather. You need to find a market and sell to customers. You may find a few happy customers who tell you they love your plants. You will certainly get many unhappy customers who tell you what a wretched person you are because your plants die after they take them home and forget to water them.

This 👆 is software.

Instead of land, you have computer infrastructure.

Instead of tractors and farm hands, you have software engineers.

Instead of harvesting, you deploy code.

Instead of farmers’ market, you have app stores and sales funnels and acquisition and retention.

Instead of weather, you have outages.

Instead of bugs, you have . . . well, bugs.

And weather. Let’s not forget to talk about the environment. The environment changes with software all the time. Vendors make changes and you must respond. Customers’ tastes change and you must adapt. The business environment evolves and you must evolve with it.

This is what I do for a living. I steward software, from 🪴 idea to 🌿 product to 🌾 business. It can be a lot of fun, and is highly rewarding. But software is not easy; the job is never done.