97 Things Every Programmer Should Know

(Chris Devlin) #1

Collective Wisdom from the Experts 59


When you aren’t actively involved in things, there is an unconscious tendency
to assume that they are simple and happen “by magic.” While the magic con-
tinues to happen, all is well. But when—it is usually “when” and not “if”—the
magic stops, the project is in trouble.


I’ve seen projects lose weeks of developer time because no one understood
how they relied on “the right” version of a DLL being loaded. When things
started failing intermittently, team members looked everywhere else before
someone noticed that “a wrong” version of the DLL was being loaded.


Another department was running smoothly—projects delivered on time, no
late-night debugging sessions, no emergency fixes. So smoothly, in fact, that
senior management decided that things “ran themselves,” and it could do
without the project manager. Within six months, the projects in the depart-
ment looked just like the rest of the organization—late, buggy, and continually
being patched.


You don’t have to understand all the magic that makes your project work,
but it doesn’t hurt to understand some of it—or to appreciate someone who
understands the bits you don’t.


Most importantly, make sure that when the magic stops, it can be started again.

Free download pdf