Coding vs. Cleaning

Writing software requires a number of different mental activities. Developers have to keep track of many things in their heads. A lot of details are involved and a great deal of discipline is required.

It’s hard!

There’s a lot of stuff developers have to be aware of and think about in a level of detail that isn’t normally required in the everyday world. At the same time, we have to abstract, we have to implement, we have to design—and we have to do all these things every day.

Separating out these different mental activities into different tracks can help developers get more mental clarity, but that’s hardly the only benefit. The designs you come up with when you do this kind of development are far better, far more resilient, ...

Get Beyond Legacy Code now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.