Imagine a kitchen. The counters are cluttered. Clean dishes on drying rack, the dishwasher full, but also clean. A smattering of dirty dishes in the sink, it’s not filthy but you certainly wouldn’t eat out of it. A random pan sits on the stove top, caked with rice which was reheated a day ago in a random red sauce, so it’s a bit cakey. If you pushed aside some of the clutter, you might be able to make room for your cutting board. Some stuff you could maybe carry to en empty table, far afield of where you plan on doing your work.
Do you barrel through the clutter and start working? It seems like this straight path is the fastest way to getting done, but really… will that prove efficient. And If not now, when will you take the time to clean and organize? Just think about it in terms of how easy or hard it’s going to be to work. Is it going to be worth it, or are you going to get so aggravated and taken out of your flow? Does working like this increase the probability of you absolutely losing your shit at some point?
There’s a reason, I think, why many chefs and cooks are hyper organizational and clean. Of course there is such a thing as a health inspection. I think something gets inside of the brain, the notion that a dirty station is an inefficient station. If you can’t keep your shit clean, then you are not going to be able to move quickly, and the propensity for mistakes increases.
So, where am I going? Developers let their kitchens get dirty. Dysfunctional. Disorganized. We let clutter accumulate, partly because we don’t have to deal with the health issues, partially because our clutter is both less obvious and more mental. Certainly invisible to anyone who doesn’t know how to read code, which lowers our accountability. A dirty kitchen is noticeable to anyone with a working pair of eyes and olfactory senses.
Professional kitchens don’t wait for one big day to clean up their shit. I don’t even think the can if they want to. They clean as they go. They clean at the end of the night. They, essentially, clean incrementally. They don’t leave their dirt behind when a task is finished. They clean it up. So what makes developers so special that they can leave their dirt behind? That they can’t clean?
When we approach a module or a folder, we might see things we consider dirty. We should clean those things. If we walk into a dirty work room, we should clean before proceeding to work. Then we should also be conscientious about cleaning it afterwards.
It is useless to be working in a kitchen, cleaning, when no one else in the kitchen cleans up. Then, you’re just a sucker in a dirty ass place that’s bound for failure. When the culture is centered around making things clean, you have a source of pride and a building block for your grander ambitions.