Wilderness
Gus “Acorn/VoodooPad” Mueller on software development and The Wilderness.
It's a period of time where I'm pretty lost, and I don't know what to do. I have feature lists, I have open bugs to fix, and I have an outline of where the app is going. But I feel mentally incapacitated, like I'm getting nothing done.
I call this "The Wilderness".
I hear it talked about occasionally, though I don't think people really know what's going on. And I've seen it happen to other devs as well, from the hardly known to the super famous and successful. I've seen devs fall into it, never to return.
This merges several different sloughs of despond. There’s the pressure of deadlines, of colleagues and customers who are counting on whatever you’re building.
There’s the pressure of getting everything right. In software, every damn wrong note can bring the whole concert to a thudding halt. You can’t single that triple Axel. If you miss the blocker, there’s no running back to pick him up and no hope that Tom will step up in the pocket or Fran will turn it into a 12-yard scramble. This is made worse because people have been told that it's all easy and that intuitive, bug-free, defect-free software at $1.99 is the way everything ought to be. Some things just aren’t going to be intuitive because some things really are rocket science.
And some things are going to be wrong — and other things will seem wrong even if they’re right — because software design and implementation is one of those things that are rocket science.
And then there’s still the big problem I still call “being along with the molecule.” The craft of software is often research, and sometimes nature doesn’t yield her secrets easily. Sometimes, what seemed likely to work simply doesn’t. Sometimes, what worked well enough last year won’t work any more. We just had one of those in Tinderbox; a small bit of debris in the code that has literally no effect in Mavericks turned out to crash the Yosemite beta. This was only a little tricky to track down, but of course we didn’t know that when setting off into the wilderness. You never know.