This is a story about software development...
Maybe I'm the problem, but wherever I go, the projects I work on are delivered on time (or early!) on budget, and they work. Everywhere else in the IT industry, projects are late, overbudget, and they are a disaster zone: security problems, performance problems and full of bugs. Maybe I'm the muppet though, for reasons I'm about to explain.
My approach to large complex software projects, is to decompose the problem into smaller easier to handle pieces. If the problem can't be decomposed into small chunks, it's probably not going to succeed. As a non-muppet who I admire once said, you wouldn't build a heart pacemaker or some other piece of technology which was a matter of life-and-death, with a design which couldn't be built and tested with certainty that it would perform its safety-critical functions perfectly. Heart pacemakers and suchlike are highly complex, sure, but they are built from lots of very thoroughly tested and well-built smaller components, which work together.
A watch, is of course, a very complex piece of mechanical machinery. The idea that we are just cogs in a big machine is a good analogy: the machine is fucked without one of the cogs. A good machine has exactly as many cogs as it needs; no more no less. Another non-muppet who I admire is oft-quoted as saying that everything should be made as simple as possible, but no simpler. No non-muppet ever said "I like this, but wouldn't it be better if it was more complex?".
I know that arrogance and delusions of grandeur are - unfortunately - big problems that I have to deal with, as a result of my mental illness: bipolar disorder. I'm sure there are plenty of quiet, unassuming and humble people out there in the world - somewhere - who suffer from bipolar disorder, but I'm one of the more common ones: I have a lot of confidence in my skills and abilities, which is frankly justified, because I don't think I'm a muppet, because every project I work on is a big success. But, as I said before, maybe I'm the muppet.
Of course, there's no "I" in team but there is a "me". There's also a hole in the "A". If your team doesn't have an a-hole in it, you're the a-hole. I often think that I'm probably the a-hole. Etc.
I know that we're all supposed to think of ourselves as the humble tiny cog, meaning that we're replaceable and not very important. I know that we're supposed to believe that our individual contribution is negligible. Frankly, that's a load of horse shit.
Sure, if you just want to turn up at a place for a few hours, in order to get money, and you really don't give a shit about what you do there, so long as you don't hate it so much that you kill yourself, then yes, you probably are "just a cog in the machine" in the way that most people mean. However, if you care about delivering successful outcomes and take pride in your work, then you too are a cog in the machine: that is to say, the machine is fucked without you.
Of course, capitalism has attempted to turn all workers into de-skilled automata, instead of highly sought after, valuable craftsmen. Instead of having some highly skilled scientists, mathematicians, engineers and suchlike, who are experts in their field, and experts on the particular projects they are working on, capitalism would prefer it if everyone was replaceable at the drop of a hat, so that anybody who's not kowtowing to their paymasters can be unceremoniously ejected from the workplace.
In my particular profession - software engineering - capitalism has succeeded to some extent, in that vast quantities of extremely poor quality code is produced, most of which will never be assembled into any kind of working system, delivering any kind of tangible benefits as intended, because fucking muppets are in charge, and muppets think that they're the brains and they just need a bunch of programmers to be typists for their 'perfect' requirements.
Maybe I'm a muppet, because I could accept a meagre wage, doff my cap at the muppets and pretend like they're not muppets. I could pretend I'm a lowly programmer instead of a highly skilled, experienced and seasoned veteran software engineer. I could pretend like I don't see the utter stupidity. I could allow the projects I work on to be late. I could allow the projects I work on to go overbudget. I could allow the projects I work on to fail. If I just wanted money, why would I care? I'm a muppet -surely- for not shutting my mouth and just taking the money.
Of course, lots of people care; lots of people want the projects to be on time, on budget and to succeed... but only the skilled craftsmen - the engineers - can make that a reality. No amount of spreadsheet monkey muppets can turn a failing project into a success, but one or two excellent engineers can.
Anyway... I guess I'll be looking for a job again soon. The muppets don't like it when I attempt to do things the right way and make their goddam project a success, weirdly, and they can't wait to get rid of me when they think they don't need me anymore. About to be unceremoniously ejected from the workplace, I think.
Tags: #computing #bipolar