But I think we like this idea because it makes us feel special, and I don't believe we're as special as we think we are. A talk I found on YouTube some time ago has convinced me that a lot of interruption aversion we feel is caused by not breaking our work into small enough chunks.
This in turn is caused by not understanding the scope of what we're doing. Very often we just dig in, thinking it'll be a small change. An hour later we're left with 10 uncommitted files with changes all over the project.
I'm not denying that you have to keep a lot in your head when programming. A change in one place does have effects on other parts of the system, requiring a fairly complex mental model. But I do think that you can improve your resilience to interruptions if you:
- Come up with a solution to a problem before you start writing code, and think about which parts of the system that solution will impact.
- Divide the solution you came up with into small chunks, so you can take them one at a time.
This is currently a "Do as I say, not as I do" story. It's something I'm trying to improve on, but with time, we can get there.
If you want to hear a much better explanation than I just gave, check out the YouTube video I mentioned:
Was this as convincing to you as it was to me? Are there other ways we can be more resilient to interruptions?
CSS custom properties have a ton of use cases. They have all the power of traditional variables, only they follow the cascade like we expect in CSS. Plus you can get clever with their values and combine them with other CSS technology to do very interesting things.