I've spent a great deal of time at home by myself the last couple of months. Nora is moving on to other things, I'm looking after wabbits and trying not to get killed looking after my house, my tractors, and other things.
But cripes, I cannot avoid noticing awful code.
Thus, this post focuses on two major, related, but distinct themes. Let's talk a bit.
Developers: your first instinct should be to leave shit alone. If you think you want to "improve" something, the best thing you can do is leave it the fuck alone!
I cite here as an example, Google Maps for Mobile. When it was introduced, it was actually a very capable product. Fast, useful, facile, and not overburdened with horseshit. However, as time has gone on, features I (and apparently others) deemed useful have vanished, and instead, non-features appeared that we never use, non-features that bog the code down and just serve to suck up memory on our phones that would be better used for pictures of cats, wabbits, or badly-misspelled signs at the store.
Another example: UberTwitter (now UberSocial). They went down the same path: a great tool that went from the size of a paperclip to the size of a B-52 without any appreciable increase in benefit to the people who actually used it. UberMedia didn't help their cause by ignoring several longstanding bugs and then getting into a pissing contest with Twitter about access to the Twitter API, and they duplicated Google's mistake of generally ignoring their users and then claiming that several of these glaring bugs were, in fact, "features," that had been demanded by "their customers."
Yeah. Name me two. I'll call the bastards on the phone right now. Just wait here. I'm dialing now.
These and many other such scenarios in the software industry lead me back to the second theme, which may in fact be the larger and more important theme...
Developers: if you stop listening to your actual end users and listen only to your current "manager," you are fucked.
Not only are you fucked, you should get out of the IT business completely, and you should go manage an H&M or a Forever 21 at the mall. At least you'll get laid once in a while.
I am goddamn serious about this. You, as a software developer, do not work for your "manager." That shit-head wears cheap shirts, goes to meetings all the time, and listens to his "manager" about what your "customers" "want."
They don't fucking know. Nobody fucking knows anything.
But you, as the developer, do. The instant you forget that real people have to use your real code, really, every day, you are fucked. You used to know this in your guts all the time. When did you forget it? If you haven't forgotten it, doesn't it chap your ass to sit in meetings listening to the "Dwights" of the world tell you what they think your users need and want? Don't you suspect that at home, their VCRs are flashing "12:00?"
Trust me. They are.
Seek out your real users. Anybody who wants to intercede in the relationship between you and your real users, punch them in the yambag and tell them to go to a meeting. Listen to your real users. Write code that helps those real users. Ignore requests for "features" that don't help those real users. Because ultimately, if you listen to dildo "managers" who don't have a fucking clue, and load up your code with "features" that end up having the end result of pissing your real users off, to where they not only throw your product away, but tell all their friends to avoid your product like putrefied whale meat, you and your "manager" will not have jobs any more.
Be true. Write good things. Write code that meets a need, without turning a paperclip into a B-52. Customers will come. Or at least, they'll breathe hard.
And a side note:
If you write FAQs for your company's website, focus on questions that are actually ASKED by human beings, not questions that some marketing asshole wishes customers would ask.
"How can I get off your email list?" is probably a FAQ.
"How can I learn more about Fuckface.com's viral marketing campaigns?" is not.
OK, I'm done now. Y'all can go about your business for a couple of months.
1. Karl-Henry martinsson06/03/2011 03:37:44 PM
Glad to see you back! Hope things are going ok.
Very good advice, by the way. Might put a link to this blog in my Friday Report.
2. Devin Olson06/03/2011 02:40:27 PM
Damn it is good to read your incensed rantings again. You've been missed.
3. Roy Rumaner06/03/2011 10:06:43 AM
Welcome back Scott, we missed you.