This is a story about beans...
IT projects routinely go over budget and fail to meet their deadlines. IT projects routinely fail spectacularly. The worst projects of all are government IT projects, which very often get cancelled, having failed to deliver any value at all.
Anyway, on an unrelated matter...
IT projects that I work on are a bit different. I like to deliver things; I don't just want to work and not worry about whether anything useful is getting done; I'm not happy to let projects fail. It'd be easy to get carried away with my own ego and delusions of grandeur, but I make a difference to whatever organisation I work for, on whatever projects I work on.
Sometimes I get the sense that I've over-estimated the value of my contribution. Sometimes I feel like maybe I'm the tiniest of tiny cogs, and my contribution is negligible. Perhaps it's a co-incidence that I can get big complex IT projects over the line, when more usually they waste a heap of money and then fail. Perhaps I'm getting carried away with mania, which is deluding me into thinking that I do anything useful at all.
A colleague of mine repeatedly says that it's easy to create a great piece of complex software if you're the only person who designs and builds it, but I think he's wrong. Sure, I really don't think it's a good idea to have 100 people working on a piece of software that could - and should - be written by just one person, however, a lot more can be achieved by a small high-performing team than a single individual.
A commonly recurring theme with my bipolar disorder has been episodes of irritability, impatience and general intolerance for asshats in the workplace. Quite regularly, when tight deadlines loom and I'm feeling exhausted, my desire to work with "dead wood" people who make things worse, not better, reaches its limit and I really want the 'team' members who are slowing everything down to butt out, back off, step back and watch the professionals at work.
What about this 'team' stuff then? Am I even a team player?
I refer you back to what I said about small high-performing teams. In order for a project to deliver a high quality end product on or before the deadline, it's often necessary to have fewer people, not more. It's the bane of my life, having dead wood in the team. I'm absolutely a team player... I just don't want the dead wood around the place, messing things up and slowing everything down.
I should qualify: I'm fine with team members who are there to listen and learn; I'm fine with people who are developing their skills; I'm fine with people who are quite junior and in the early stages of their career. If you've been doing software development for decades and you're rubbish at it, then no, I really don't want you in my team. One thing that particularly irks me is very highly paid consultants who are rubbish at software development. If you're slow and dreadful at your job, despite being massively overpaid, stay the f**k out of my way and don't slow my projects down.
Is it so hard to hire good people? Is it so hard to identify the underperformers, especially when their output is out of alignment with their remuneration? Surely it's a simple cost:benefit analysis, where some individuals are nowhere near worth the money, and in my opinion are actively damaging to both projects and morale.
I wonder how much better things would be in the workplace if highly paid consultants who aren't worth the money were booted out, and the projects were delivered by underpaid graduates who are little superstars, producing huge amounts for very little cost. Actually, I know the answer because I've worked on those teams - with the right guidance, the graduates will deliver every single time.
The lack of meritocracy and the ageism in the working world is particularly galling in the IT industry, where archaic knowledge and experience has zero value. Perhaps my young graduate colleagues might benefit from a little senior leadership and a good architect, but whatever mistakes they might make are irrelevant because they're so damn quick. It's criminal that an overpaid and underperforming consultant might earn 5 or 6 times more than a bright and productive quick-witted graduate; graduates proven to be 5 times more productive.
Why do I learn so much from my graduate colleagues, but so little from overpaid consultants? I have learned lots of quicker, more efficient and more modern ways of doing things, when my older colleagues are just doing the same dumb s**t that they've done for years. Sure, it's been uncomfortable to have to re-learn vast swathes of stuff, but the benefits are obvious, having bitten the bullet and decided to take my younger colleagues seriously; to treat them with the respect they deserve.
What about respect in general for my colleagues? I respect my colleagues who have decided to take permanent jobs and be underpaid. I respect my colleagues who've chosen to avoid the cut-throat and stressful world of the job market, and instead opt for long careers with a single organisation. I respect that there are different life choices and needs, that some people need job security, and that very few of us had the opportunity to learn IT skills as a child, to the point of those skills becoming innate and instinctive. I respect that it's a very good idea to hire highly paid consultants, in order to upskill your permanent members of staff. It's part of my job, to train, coach and mentor my colleagues who are permanent employees of the organisations I work for. It's part of my job to be patient with the permanent staff members and to help them reach their full potential.
I spend a lot of time worrying about whether I'm just telling people what to do, and whether I should take a more pre-considered approach where I allow my colleagues to think for themselves, rather than just being typists while I dicate instructions. Is there any value in me instructing somebody to do something I could do myself in a fraction of the time? Should I just race ahead, and then spend time explaining what I did and why, once the deadline is safely dealt with? Would it be better to simply let my colleagues watch me work? I know that it's very hard to think for yourself if somebody is telling you what to do, and that if I was doing people management I would avoid any micromangement like the plague, because it discourages independent thought, learning and initiative-taking. I know that the kind of people I want to work with are ones who can work independently and solve problems for themselves, but I work in an unusual situation where there are tight deadlines, but I'm also expected to train my colleagues to be self-sufficient to some extent, which is impossible in the timescales.
Explaining to management that more people does not equate to more productivity, and that the deadlines are not realistic to be able to get all the work done AND do all the training and handover that's necessary to make me completely redundant, is an impossible task. I'm eternally plagued by the mistaken notion that one day, there won't be any more need for IT professionals because all the IT work will be finished and the IT people will all be redundant - this has proven to be the most ridiculous nonsense, but an enduring fantasy of f**wits in every organisation.
I should qualify that I really like my colleagues, although I'm a bit frustrated with one or two very highly paid consultants who aren't worth the money. I should qualify that I really like the organisation I'm currently working for. I should qualify that I really like the project. It's all interesting and people are nice and even the management are pretty good, which is rare. There's not much pressure and the deadlines are not realistic, but they're achievable, which is usually a miracle for an IT project, especially in the sector I'm working in. I have no real complaints or criticisms of any colleagues or the organisation and its management team, not that this would be the place to air those grievances, of course.
I write a little tongue-in-cheek, because I know that colleagues from two different parts of the UK are reading this from time to time, and I wonder what they will think if they happen to read this particular post. I cringe of course at my arrogance and my delusions of grandeur, but I also struggle to know whether I'm making a significant contribution, or whether I'm just a tiny insignificant cog in an incomprehensibly huge machine, so I'm prepared to poke the bear a little.