Imagine your tasks/tickets/issues of a day were the courses of a meal. You’ll have a quick bugfix for starters, some light code review as entree and that refactoring task as mains. For desert it’s some sweet & sour documentation writing. Each of those tasks — pardon, courses —goes with a different plate, cutlery and drink.

At the moment most of us are cooking at home: our local development machines are our kitchen. We have to prepare each meal ourselves: install the right tools, in the right version, checkout the correct branch, make sure everything builds and then we get to start working. For the next course, i.e. task we have to start afresh. Only this time we need to make sure we’re not interfering with our previous setup. That’s a lot of pots, pans and ingredients to handle at the same time.

Compare that to eating out: you arrive at the restaurant, some of your friends are already there. No faffing with pots and silverware, all of you have the same setup and can dive right in. Once you’re done with one course, someone takes away your plate and sets up your place at the table perfectly for the next part of the meal. All you have to do is to focus on what matters: your friends, the food and having a good time.

Now, I know that writing software is not always as enjoyable as a good meal. But it would be a lot better if we didn’t have to clean the dishes every time we wanted to work on something else. Why can’t software development be more like a restaurant?

Turns out there are people working on this. It’s automation and dev environment as code that enables the situation described above: when you want to start working, the table is already set with the right tools for the job. If you want to share something during your task, your friends are right next to you enjoying the very same environment. And once you’re done, you can just stand up and walk away; cleaning up is part of the service.

Tools like Gitpod enable a tasty future for software developers. Best thing is, you can have a slice of that today.