Here’s what’s particularly ironic: the very act of commenting on an
article about software development automatically means you’re not a
vocational eighty-percenter.
Segueing away from the points you’re eloquently making, you would maybe be surprised who your audience is. I’ve often been tempted to comment, but haven’t. However, the mere fact that I do doesn’t mean I’m even a programmer. I’m not – I run a lowly application support team.
However it does mean I have a professional interest in the making and running of software.
It’s apparent on a lot of programming blog that there doesn’t seem to be much awareness of the fact that for any reasonably large and complex running software application, there’s a slew of (hopefully) competent technical people who aren’t programmers. Some are on the software engineers’ radar (QA is, some bits of DBA may be, and I’m not talking about sysadmins, who have their own visibility). But the several teams of people keep the system running, diagnose things that are going wrong, make configuration changes, or work on resolving users’ problems too often aren’t.
And I see the quality of the software suffer for it. Because, thing is, we know stuff about the application the programmers don’t even know. We know what real-live data our clients put in there, what exactly they do with the system, and some of it has never occurred to the engineering side. We know what exactly breaks if someone uses Ukrainian characters that are not in Russian cyrillic, and why, and can provide details, as needed, in technical jargon (codepoints and charsets) or for the business user. We know what part of the UI slows down for only a particular account and have a very good idea why. I see the system in action every single day, and know what it does well and what it doesn’t, which low-priority bugs (because it’s just a UI glitch, isn’t it) are particularly galling to the user, where exactly an architectural choice multiplies the time I take on a maintenance task by 10. I also know what a buffer overrun error means when I see one.
Oh, I do write some code once in a while – a bit of SQL, not more than 100 lines, for my own team’s use, to check what’s going on in the DB; reworking a web page we use with its DB backend; a bash script to munge logs; a simple front-end to an API. And I get code thrown at me by users who want to talk to the API and have to figure out why it doesn’t work. But by no stretch of the term am I a coder.