preface
What does a software developer do for a living? “Implement software” is most likely the answer many would give. But what does implementing software really mean? Is it only writing code? Not quite. While the code is the visible result of a developer’s work, the activity of writing it takes only a small fraction of the time. Most of a developer’s day is spent designing solutions, reading existing code to understand how it behaves, and learning new concepts. Writing code is simply the outcome of successfully doing all of these.
That’s why programmers often spend far more time reading code than writing it. Clean coding as a discipline grew out of this realization: it is more efficient to write solutions from the start in a way that makes them easier to read later. Still, not all code is clean, and not all systems are simple. You will always face situations where you need to dig into an unfamiliar solution and uncover how code really works.