A bit of inspiration for building YOUR Platform.

What is the first thing you should implement?

Cliff Brake September 06, 2024 #update

When building a new system, what is the first thing you implement?

There are a lot of approaches -- one is to implement a minimal proof of concept.

However, I think an easy way to update software in any part of the system (Linux edge devices, microcontrollers, cloud applications) is something that should be done as early as practical.

Requiring a technician to go on-site with a computer and specialized software does not count.

Neither does a multi-step manual process of manually building something, scp'ing files to a server, manually restarting stuff, etc.

Deploying new software to any system should be easy and quick.

A single click, or putting a single file on USB disk and rebooting a device, or merging to main and continuous delivery (CD) delivers our new software to the cloud.

We may think nice update mechanisms are for our customers in production, and they certainly are.

But update tooling also helps us during development.

An easy way to update systems encourages us to do it more often, because it is easy.

We iterate faster.

Fixes and improvements are deployed instantly.

We test more systems during development.

We can easily adapt as we learn more about the problem we are trying to solve.

We can involve more non-technical people in development and testing.

What helps us scale in production also helps us scale during development.

Instead of doing update last, do it first -- as an integral part of YOUR Platform.