Skip to main content
 

Harsh

5 min read

This is a story about being horrible to people...

Hand wash

One of my bosses, from 18 years ago, has been a source of inspiration. He is - or at least he was when I knew him - one of the bluntest, rudest and most intimidating people you'd ever be likely to meet. I have never aspired to be rude, mean or to treat people badly, but I don't suffer fools gladly and I get rather impatient and intolerant of the hard-of-thinking.

It struck me that I had written quite a lot that could be misconstrued as harshly critical of my colleagues. I wanted to address that.

Firstly, I do suffer from bouts of delusions of grandeur, as a result of my bipolar disorder. I can quite often, during episodes of mania, decide that I'm a virtuoso; a genius. There's little to burst my bubble, in terms of evidence, in that I can easily point to multiple great achievements throughout my career, and I haven't yet been defeated by a technology challenge. This means I'm good but not necessarily great. I have no idea what the distinction is, but my brain tells me that I'm great when I'm in one of those moods. In fact, my brain tells me I'm the best and in the absence of another person who makes me feel inferior, it's hard to deflate my ego and get my rampaging delusions of grandeur under control. I'm sure that I'm not the smartest person in the room but without concrete evidence to the contrary, I can get carried away.

It sounds like I'm making excuses; blaming my mental illness. Well, I do try to stay humble and keep some perspective. I do try to stop my head from swelling too much; stop my ego from getting out of control.

Secondly, I'm under a lot of pressure. Work is not just a job to me - it's an opportunity to prove that I'm not a no-good waste-of-space washed-up has-been useless junkie alcoholic homeless bankrupt mentally ill enemy of society. If I can prove beyond all reasonable doubt that I can make a substantial, exceptional contribution to a major project, then I will have a massive achievement to point to as proof that I have some worth, which will help my self-esteem enormously.

Thirdly, I'm equally capable of being a "dull-eyed dim-witted brain-dead zoned-out zombie trudging along with the herd". I'm equally capable of becoming demotivated and just turning up for the paycheque. I'm equally capable of doing a half-assed job. I'm totally capable of being very unproductive. I can spend forever procrastinating; not producing anything useful. When I make disparaging remarks, I'm not criticising individuals - I'm criticising the dreadful effect that working in a big organisation has on people, in terms of robbing them of any opportunity to learn, develop and get passionately involved in a project where they feel like they can make a difference.

I do see incompetence, which annoys me, but the people who I am angry with are the highly paid consultants who claim to be experts, but are clearly a waste of money. It annoys me that I work with brilliant graduates and rubbish consultants, when the graduates are so underpaid, which is unfair. It annoys me that I have to waste my time cleaning up mess made by people who should be the best of the best. It annoys me that I have to do extra work, because of a highly paid consultant's incompetence, when the organisation and the team really would be much better off without them.

When my brain gets accelerated up to top speed, I can be incredibly productive, but I can also be incredibly mean. I start to believe that I can do everything myself and that everybody else is just an annoyance; a hinderance. That's wrong. That's a symptom of my illness. I do need my team. I do need other people. I am glad to have my colleagues... well, most of them anyway.

I can say all sorts of stupid regrettable things when I'm suffering an episode of mania. I can be really mean and harsh when I'm in full swing. I really hope that nobody's suffering too badly when they feel the sharp end of my tongue. I really hope none of my colleagues are reading this and thinking that I believe they're useless idiots, because the truth is that I think almost all my colleagues (with the exception of one or two aforementioned overpaid consultants) are brilliant people who I'm really lucky to work with.

I know that it doesn't matter how much of a brilliant engineer you are, if you can't get along with people then your skills are useless. People with amazing technology skills are plentiful, but the valuable ones are the people who place nice with others. I know I struggle at times, and I really hope I haven't done too much damage and that my colleagues can forgive me.

 

Tags:

 

I Will Work Harder

6 min read

This is a story about overwork...

Pound notes

It occurred to me that most working people use their monthly take-home income to work out affordability. Everything is paid for monthly by most of the wage-slave salarymen and women, across the country. Each month, there's a rent or mortgage payment, a car payment, a loan payment, a mobile phone payment, a broadband internet payment and myriad other monthly payments. Everything is worked out based on whether those monthly payments are affordable, as opposed to thinking about the value of the thing in question.

Instead of thinking "I can't afford a £250,000 house because I only earn £25,000" people think that they earn £1,711 per month, and so that's the maximum they can pay in monthly instalments. If the mortgage is £1,000, the car is £150, the loan is £100 and the other stuff is £250 per month, then that's £1,500 total, leaving a balance of £250 disposable income every month. That's how wage slaves do the maths. That's how wage slaves calculate what's affordable.

I'm a bit weird.

I own my car. I own my phone. I buy things. I don't pay monthly.

If I was to think about my monthly net income - after tax - and then live a lifestyle which was in accordance with that income, then I wouldn't be driving a rusty 14-year-old bottom of the range old banger of a car. I wouldn't be living in a rented house. I wouldn't be worrying about the affordability of things, because my monthly net income is vastly more than my monthly net financial commitments.

This is, of course, provided that I'm well enough to work.

My health has proven unreliable. My mental health has been a huge obstacle to steady reliable dependable consistent work, day after boring monotonous terrible day. My ability to work cannot be taken for granted.

So, I work as hard as I can, whenever I'm able to. I earn as much as I can, while I'm able to.

I don't make any financial commitments. I don't take on any debt.

This means that I enjoy none of the fruits of my labour.

I have zero status symbols to remind me that I'm very good at my job, and I'm handsomely rewarded for my efforts.

Perhaps one day I will buy a house and a shiny new car, but I always think "what if I get sick?". I can't stand the thought of having giant financial obligations, such as a mortgage and car repayments, if I'm too unwell to be able to work. My life has enough pressure and stress in it without the added headache of needing to earn a certain amount of cash every single month, lest my home and car get repossessed and my credit rating get destroyed.

It's pretty soul destroying, working really hard but feeling, weirdly, really poor. Everybody is zooming around in fancy flash new cars, paid for in monthly instalments, while I pootle along in my rusty banger. Everybody is doing home improvements to the houses that are owned by the banks and building societies, while I'm in a rented house with ugly curtains and in desperate need of being redecorated.

I suppose I have nothing to complain about, because I'm making very rapid progress. If I'm lucky, then I will start to get on top of everything and my financial situation will improve with incredible speed. I need a load of luck, because my income looks like it's going to come to a screeching halt at the end of the month, as things currently stand. The demands for my cash skyrocket if I have to leave where I live to go somewhere where there's more jobs - I will be paying double rent, double bills, and I will have two deposits, all of which drains my limited funds.

Because I want my life to be better, I will work as hard as I possibly can to get into a better situation. I'll work from the moment I wake up until the moment I fall asleep, 7 days a week, if somebody is going to pay me decent money. It's only because I think it would be detrimental in the medium-term and result in a net loss of earnings, that I don't work every hour I possibly can. Somebody would query my timesheet and gigantic bill if I started working 100+ hours a week, although I could very much use the money.

I had this situation in 2015, during the same time of year. I was authorised to work unlimited overtime, so I worked 7 days a week. I burnt out and became very mentally ill. Things did not end well.

I've worked very hard to build a good reputation for myself, and I need to preserve that. I need to hang on to the gains I've made. I need to avoid losing my mind. A quick glance at my blog from 2015 tells me that I had a catastrophic breakdown around the middle of October 2015, so I will aim to get to Christmas without incident. I will aim to calm things down. I will aim to look after myself. I will aim to be sensible with how hard I work and how hard I push myself, and attempt to maintain some stability.

I really need to take a holiday.

When the clocks change, that's a terrible time for me. The end of daylight saving is dreadful for me.

It would be ideal if I could secure my contract so that I know I have a source of income, and I could take a holiday around the time that the clocks go back. That would be ideal. That would be perfect for my health. That's what I need.

I don't think it's going to be possible.

I need to keep going.

I need to keep working as hard as ever.

I need to work EVEN HARDER because I have to get through this difficult period where my contract is ending. I need to get my contract extended or find a new contract. I need to find some work locally or else move to Bristol or London. I need to keep the money rolling in. I need to keep going.

It's been a very long, very hard road. I'm very tired.

 

Tags:

 

Ticks in Boxes

3 min read

This is a story about form filling...

Vote

So my project is delivered and the giant form-filling SurveyMonkey exercise has begun. Today was supposed to be exciting, but it wasn't. It was boring. If I do a good job, then this part of the project is boring. If I do a good job then everything's supposed to work and run smoothly. I expect there will be problems, but at the moment there aren't any, mainly because nobody's doing the damn survey.

It's a little anti-climactic. I got up super early this morning, hoping to see the first users using the system, but there've barely been more than a handful of people who've stumbled upon the system. It won't be until tomorrow or the day after that people are notified that they have to do something, and their survey results will start flooding in. After so many months of hard work, it's a little hard to sit and watch a flat-line graph, showing virtually zero activity, the whole day. What a disappointment. At least things are working though, so far as we can tell.

I can't go into too much detail, because I'm bound by codes of conduct, privacy & confidentiality contractual clauses, and indeed other rather scary-sounding laws which restrict me from spilling the beans, but the good old general public are about to be asked to do a cool SurveyMonkey, and this is jolly exciting... except it isn't because nobody's doing it yet.

I'm exhausted.

It's been a long old slog to get to this point.

With so much nervous anticipation, it's hard to maintain the same level of energy and enthusiasm when nothing is happening. I found myself nodding off at my desk so I had to come home early. I'll try to get an early night and lots of sleep, in the hope that tomorrow is a more exciting day, providing some adrenalin to carry me through an otherwise pretty anti-climactic period.

It's supposed to go smoothly. It's supposed to go well. There aren't supposed to be any problems.

But.

Having worked so hard for so long, to meet a very tight deadline, I really don't quite know how to re-adjust to life without that pressure; without that goal and sense of purpose. It's difficult changing mindset, from push, push, push, to now wondering what fire is going to break out that will need to be put out; what crisis is going to emerge?

Still very obsessed with work and project, but the waiting is now mostly over, and we'll soon know whether some bold decisions I made have paid off, or whether they'll cause terrible problems and turn out to be disastrous.

 

Tags:

 

Unprofessional

3 min read

This is a story about trash talking...

Post-it note

I have spent a whole bunch of evenings talking with a colleague. We have talked for hours. I suppose I have become somewhat habituated into gossipping with this buddy of mine. Regularly throughout the day, if there's anything which would be unprofessional to talk about with my regular colleagues, I can chat to this other colleague, because they read my blog and we talk like friends; I trust them, that my mad rantings and ravings will go no further - it's a safe space.

Then, I wrote something in the wrong chat. Instead of my message going to my colleague, it went to my entire team, plus some others too. What I wrote was deeply dubious, even by my usual standards, in that I named somebody specifically by name. What I wrote was really unprofessional.

I deleted the message, but people saw it.

It wasn't there for long but everyone saw it.

I'm mortified.

It's my own stupid fault for breaking my golden rule of not naming any names. It's my own stupid fault for breaking my rule of wearing the corporate mask the whole time; never letting down my guard. I let down my guard and I let it down badly - I shot from the hip, and I said something really dumb.

I'm now catastrophising. I'm assuming that all my hard work is undone. I'm assuming that I'm hated now, by some very influential people at work. I've acted super unprofessional, and it won't be forgotten.

Ugh.

I was doing so well.

Except I wasn't.

I was aware that my ego was becoming quite unwieldy. I was giving myself far too much credit. I was starting to believe my own bullshit. I was starting to really think that I was hot stuff; a big deal. That's a sign of sickness - a clear indicator that I'm in the grip of mania. Why wouldn't I be manic? How else could I cope with the pressure of the deadlines; the stress of the project? The heavy drinking was another bad sign - evidence that I was self-medicating heavily to try and control my mood.

I feel stuck in a terrible pattern. Yet again, I feel sure that I'm the architect of my own destruction; that I'm undermining all the hard work... that I'll be left with my reputation in tatters.

I'm catastrophising.

Having abruptly stopped drinking, I'm bound to be feeling anxious about everything, but I'm convinced I've committed an unforgivable cardinal sin and my name is mud now, at the office.

 

Tags:

 

Functional Alcoholic

5 min read

This is a story about demon drink...

Bucket

I have placed a ludicrous amount of pressure on myself, having decided that I'm going to create a great reputation for myself by being a major player in a massive important project, for a big organisation. I've been attempting to be all things to all men, and be in all places at one time. I have been attempting to be manyfold times more productive than anybody else, in order to demonstrate beyond all reasonable doubt that I've been a major contributor and driving force behind the success of the project. I've staked my name and reputation on a successful delivery.

How do I sleep at night?

Vodka.

I bought a bottle of vodka on Monday and now it's all gone. I never drink spirits. Except I have done this week. A whole bottle.

I know this is a bad sign.

This is how alcoholism starts.

Alcohol is a terrible coping mechanism. I was very drunk last night, except somehow I wasn't. I carried on drinking even though I wasn't getting any more drunk. I woke up and I was worryingly OK.

I should have been throwing up.

I wasn't.

It's not the drinking that's so much of the worry, it's the getting used to it. When I can neck a bottle of vodka over the course of 3 evenings, and still turn up to work and be productive, then I'm on a collision-course with disaster. Not the kind of disaster where I turn up for work in a dishevelled intoxicated state - that would never happen - but the kind of disaster where I end up dying of liver failure in my 50s, having been an alcoholic for more than a decade.

I think spirits are a step too far. Spirits spell disaster. The hard stuff is dangerous.

It's been shocking, the effect of strong alcoholic drinks - I've not found a limit where I start to feel unwell, and the hangovers are too unbearable, which is very dangerous. I also have failed to find any point where I think "I've had enough" or "I'm adequately drunk". Strange, that I would never reach a point where intoxication becomes unpleasant; aversive. That's worrying.

So. No more spirits. No more vodka. I need to stop that particular stupid idea immediately.

I do have an enormous amount of stress, which is reaching its peak. The deadline is almost here. The end is nigh.

I'm not sure how my colleagues in other teams are coping. I'm not sure how people who have a lot of responsibility, professional pride and reputation at stake, are coping right now. One colleague who's worked at the same organisations that I have - notably JPMorgan and HSBC - alluded to having a similar hard-drinking predilection. Alcoholism is ubiquitous in the Square Mile. Alcoholism is notorious in banking. I've lost numerous friends and colleagues to alcoholism, from that world. It was practically a rite of passage to end up in The Priory, all paid for by JPMorgan or whoever, in order to dry out and then come back to work.

It's ridiculously demanding work, delivering huge IT projects for gigantic organisations. The alcohol goes hand-in-hand with the project work, because otherwise people's blood pressure would be too high and the stress would be unbearable. Work hard, play hard. It's all good fun, until somebody dies 10 or 15 years later from alcohol-related illness.

I've been patting myself on the back, but nobody's really officially recognised my contribution, as yet. Why should they? So many people are working hard. So many people are involved. So many people are stressed and under pressure. Why should anybody single me out as special, in particular?

I veer between feeling confident and pleased with the project I've been involved in, and feeling that there's something really fundamentally wrong which is going to ruin things. Some nights I go to sleep content, and wake up excited to improve things. Some nights I can hardly sleep with worrying about an unresolved problem, and I wake up with anxiety, not knowing whether I'll resolve the problems satisfactorily.

Taking the edge off every night, self-medicating for my insomnia and anxiety, I have been drinking far too much. I drank bucketloads over the weekend. This week has been ridiculous for alcohol consumption. It's terrible.

This whole period is terrible for my health. The pressure is relentless. The workload is relentless. The demands I place upon myself to perform and excel are huge; I'm so determined to achieve something great, to prove to myself that I'm still a talented and capable engineer, who can deliver huge projects on time with high quality.

I keep telling myself that I need to keep pushing myself, just a little longer. The finish line is in sight. Not long now.

 

Tags:

 

MMORPG

2 min read

This is a story about co-operative play...

Java

What's the game I'm playing right now? Well, it's called "get the massive software system to work before the damn hard deadline". It's a multiplayer game. It's fun.

I've spent all evening chatting to some genuinely delightful colleagues. Instead of trash-talking the overpaid fuckwits, I should be raving about what a pleasure it is to work with some brilliant individuals.

I'm not so sure I would go as far as to say "I love my job" given that earlier I very much wanted to down tools and give up until the morning, in the face of overwhelming technical obstacles. I was inclined to wait for a couple of more skilled individuals to be on hand to offer some real, tangible, useful assistance, but I lucked out on being able to take a couple of nice shortcuts.

The joy has come from the camaraderie of working with the select group of individuals who really care; who really know their onions and are used to working under pressure, having to solve nasty problems with a gun to their head and a crazy number of people breathing down their neck.

The chips are down. This is sink or swim time. This is where shit gets real. I love it.

Earlier I thought "is it only Monday?" and I thought that I should give up and take it easy, because it's going to be a long week. Then, I got creative and found a way though. I've been doing work-related stuff up to 10pm but I don't care, because we're making progress; we're kicking ass.

This is fun. It's sociable.

 

Tags:

 

Just Another Highly-Strung Prima Donna

10 min read

This is a story about arrogance...

Badge

I have spent huge chunks of my career helping the rich to get richer, not doing anything useful for society at all. I have suffered as a wage slave, working a bullshit meaningless job, doing nothing except making the world a worse place. I have been denied the pleasure of being a builder creating something real and tangible.

I'm very jealous of the engineers who get to work on useful projects - helping to feed, house and clothe the masses. I wish I was working on something more worthwhile.

The project I'm working on is quite simple really: ask a bunch of people a bunch of questions, and gather the answers so that they can be analysed. I suppose you could call it "big data" if you wanted to use an over-hyped phrase that's in vogue at the moment, but really it's just a big survey; an opinion poll.

I've developed software for nuclear submarines - that was my first full-time job. I've developed software for trains and busses. I've developed software for every school in a whole country. I've made computer games that were played by half a million people. The computer games were the hardest.

As an old-school programmer, I slaved away at my keyboard, creating the graphics, sound, music, and endlessly playtesting my games, to make them as good as possible before I released them to the general public. That was hard work.

But it was rewarding.

The challenge made it rewarding.

It was rewarding because it was difficult.

Creating an online survey is not difficult. I expect you could do one in a few minutes, using something like SurveyMonkey.

So, how do you make your day job interesting if the project is not challenging? Well, there's a lot of challenge in getting anything done in a big organisation. It's a million times harder to do anything when you're inside a big organisation, and things go painfully slowly. The interesting part is in trying to build anything at all, in the first place, and in trying not to build something that sucks, just because big organisation software always really sucks.

One programmer can make a game in one month. Two programmers can make a game in three months. Ten programmers can make a game in two years. And so on. And so on.

I'm not saying my colleagues aren't any good. I'm just saying that trying to learn computer programming as your day job, working for a big organisation, is pretty much impossible. The only way that anybody ever became a good programmer was by first being allowed to work on a whole self-contained project themselves, and having to support and maintain the code; having to deal with angry users reporting bugs; having to be up in the middle of the night figuring out a mess that they created. You can't learn that stuff if you're just a junior member of a big team.

It does make sense to break a system up into components which are then assembled to create the finished product. It does.

What does not make sense is dividing up a piece of work which could be easily accomplished by a single developer. It does not make sense to have 8, 10 or even 12 programmers all trying to work on the same piece of code. It is not fast. It is not efficient. It does not produce a good end result.

However, would I like to have to support and maintain my code after the project is live, on my own?

No.

Of course not.

Whenever I have finished something which was big and complicated, and hard work to complete, then I never want to see it ever again. However, if I'm the person who created all the code, then I'm the only one who knows how anything works, and it's a very difficult steep learning curve for any poor unfortunate who has to come after me to unpick my work.

In this regard, I suppose it's necessary to have a bunch of people, so that the 'hero' code warrior doesn't saunter off into the distance, leaving some other poor person to carry the can.

So many times in my career I have inherited somebody else's mess.

Which is why the pleasure and professional pride I derive from my work at the moment, is in the effort I put into making a system which is simple and easy to maintain, and easy to support. There's a temptation as a good developer, to be really smart and do things in ways which seem very elegant and beautiful to the trained eye of a highly skilled engineer, but are completely impenetrable to your average journeyman junior programmer, just learning the ropes. I take huge pride in creating deceptive simplicity. Yes, it's great to show off how smart you are by creating something complicated, but it's so much harder to create something that looks simple.

I am intolerant of the incompetence of a highly paid consultant who I have to suffer. "Why would you put that there?" "Why would you do it like that?" "Why didn't you read that comment?" "Why are you making such a mess of everything?" "Why have you introduced all this unnecessary complexity?" are questions I want to yell at my incompetent colleague all the time.

My junior colleagues are, well, junior. I can't get mad at people who are just learning. I have patience for learners. I spend a lot of time coaching and mentoring, helping my junior colleagues to learn and develop.

My graduate colleagues are stupendous. They have amazing ideas. They produce great work. They are smart and a pleasure to work with.

Why oh why oh why do I have to work with somebody who doesn't deserve the massive consultancy fee that they charge? It angers me that they are lagging behind the graduates and dragging the project into the dirt; making a complete pigs ear of everthing. It would be so much better if they weren't on the team, because they are so slow, and what they do produce all has to be re-done, so it creates a huge amount of extra work for me. Their work is riddled with bugs and defects. Their work is shoddy, so their contribution is not welcome: it's counter-productive.

Of course, I shouldn't rip into colleagues on a public platform. But, they ruin my day and undermine all my hard work, threatening the success of the project, so why the hell shouldn't I let rip? They're costing the organisation a shittonne of money, which is a complete waste of money in my opinion.

Anyway, I often think "would it be better if everybody just stepped aside and watched me work?". I think "would it be better if I designed and built the entire system, on my own?".

No.

No it would not be better.

I would finish the project, but I wouldn't want to support it. I wouldn't want to maintain my own code. I wouldn't want to ever look at the code ever again. I wouldn't want anything to do with my code or the project. That's not fair on the poor sods who would have to support and maintain my code.

It's also not fair for just one person to have all the enjoyment of creating an entire system, and then to ride off into the sunset believing that it's a job well done, when software is considered to be an asset - all the code will be preserved and future development teams will be forced into attempting to re-use it, when really it should be thrown away. Decrepit old systems, where all the original developers have long since left the company, should never be resurrected, but they always are. Idiot management always wants to adapt a system for a purpose it was never designed for, and that nightmare always falls on some poor unsuspecting underpaid junior programmers, who will have a horrible life, being forced to work with somebody else's code and never being allowed to create their own system.

Sure, the arrogant part of me wants the glory - the heroics - of creating some massive complex system as a one-man team. I don't want the faff and the hassle of having asshat overpaid idiot incompetent consultants, messing up my stuff. I don't want to be slowed down by people who aren't as experienced and quick.

But, I know it's better for everyone if we do things the "modern" way.

I wish I had been born earlier, so that I could have been one of those programming gods who created an entire video game, but I suppose I had that glory. The first iPhone was my opportunity to create retro games, in just the same way that the early video game pioneers did - a bedroom hacker. I grabbed that opportunity and I loved it, except I also learned that I never want to ever touch my code again when I'm finished - I want to release something and then forget about it.

In this era of the web, people expect products to be maintained. Software no longer ships on cartridges, floppy disks or CDs. Software can be updated via the internet. Software is delivered via browsers. Software is constantly being updated by the developers, like websites are constantly updated, so software development had to change to reflect this. Software development is now a team sport, but I came from an era when a prima donna like me could do everything on their own.

I fear this essay has revealed an unpleasant side of my character. I fear that I've crossed lines that I should not have done. I fear that my arrogance is on display very badly.

Still, I had to share this. It's my habit to share things that are bothering me, and/or that I feel very strongly about.

It's a difficult time, because there's a lot of pressure and stress. I feel like yelling "shut up and stand back" and "hold my beer" while I roll up my sleeves and get things done. When I come under extreme pressure and things are going wrong, I retreat into my comfort zone: working in isolation. Nobody was with me when I learned how to debug. Nobody was with me when I figured out how to solve complex technical issues. I had to figure those things out on my own. Nobody comes to me with the answers: I have to figure them out, and I do that on my own in isolation. When I get stressed, the last thing I want is any "team" - the team adds no value in those difficult situations where there's a dreadful gremlin in the system, and it does take some one-man heroics to find and fix the problem.

I've written vastly more than I intended to, because I'm very highly-strung at the moment; the pressure is immense; the deadline is imminent.

I can hear colleagues' angry voices in my head:

"You're not the only one who's worked hard on this"

"You're not the only one who cares"

"You're not the only one who's made a valuable contribution"

"You're not as good as you think you are"

"You're arrogant"

"You're full of yourself"

"You think you're so great, and everybody else is inferior"

"You're not a team player"

I know I would have had a breakdown a long time ago if it wasn't for the team. I know that the project would not have been as much fun if it hadn't been a team effort. I know that it doesn't end well when I reach the finish line and collapse; that it's not a good way to finish a project, when there are ongoing requirements for support and maintenance. I know that arrogance and delusions of grandeur are a problem for me.

Anyway, this is how I've spent my weekend: worrying about work.

 

Tags:

 

Managing the Managers

4 min read

This is a story about work...

Devops

Building software is no longer about programming. Programming is something that I learned as a child. Programming is quite literally child's play to me. Modern software development involves very little programming. Modern software development is all about delivering massive projects, with massive teams, in massive organisations, and none of this has anything to do with programming. Remarkably little programming gets done by programmers.

I would be surprised if the average number of lines of code written by a programmer in a big organisation was more than a handful a day. In fact, I picked a colleague - a programmer - at random and looked at how many lines of code they've written in the past year - an average of 8 lines per day. That's not a lot of programming.

So what do programmers do all day if they're not writing code? Well, most of them are sitting around scratching their heads, wondering where the problem is in millions of lines of code that they didn't write.

Why are programmers looking at other people's code, trying to find the problems?

Good question.

There are people out there who write lots of code, but most of them are software architects and devops engineers: these are developers. Developers don't just write code though. Developers create systems. Developers know how all the different moving parts fit together to create an entire system. Developers can design, build and assemble the components of gigantic software projects, into working systems. Sure, some of it involves programming, but none of it requires writing programs. Programs are for children. Children write programs. Programming is child's play. Developing software systems is grown-up work, done by developers.

There's a general belief that a programmer is an interchangeable commodity. If you don't like one programmer, fire them and hire another one who "speaks" the same language. Of course, this is idiotic, because programmers in big organisations write 10 lines of code or fewer per day. Most of what is useful and valuable is the specific knowledge which relates to an organisation and its software systems, which only the experienced team members know. Throwing more programmers at a problem makes things worse, not better, because they don't have a clue about anything, except how to read code... millions and millions of lines of code which they didn't write. There's nothing worse than somebody else's code.

The diagram above shows how software is shipped these days. If we were back in the 1980s then the diagram would show copies of a diskette being made and physically distributed, so that people could install it onto their PCs themselves. How software goes from a programmer's computer to your computer is kinda important. How do you think it gets there? Well, there's a lot of magic behind the scenes. The diagram shows the magic trick, but it's so incomprehensibly complex that it remains as good as magic, even though I showed you how the magic trick is done. This is just one tiny part of being a developer: understanding how to actually get software onto people's laptops, tablets and smartphones.

There are a million things a developer knows. They know about the cloud. They know about databases and data. They know about servers. They know about security. They know about performance. All of these subjects are vast. There are experts in every one of those subjects, and there are myriad experts in the specifics of each field. There is an incomprehensibly mountainous amount that a developer needs to know.

So, managers, stuff your spreadsheets up your arse. You have no skills, experience or knowledge which is relevant or useful in the field of software development. You are allowed to exist because you are a shit umbrella, nothing more. You are doing your job if you stop anybody from annoying the developers and programmers, allowing them to do their jobs, and you are being insufferably irritating if you attempt to intervene in the business of software, because software is hard.

Yes, software is really really really hard. It's harder than Excel pivot table macros, or whatever the hardest thing you know is. It's waaaay harder than that, managers.

So, butt out.

Shut up.

Let us do our jobs.

Engineers left to their own devices will produce wonderful things. All the things we take for granted in the modern world are a result of engineers being left alone to get on with building cool shit. None of the wonderful things would have come into existence if the engineers were bothered by some know-noting busybody bloody managers, who tried to interfere.

 

Tags:

 

Team Player

4 min read

This is a story about leadership...

Design

As well as productivity - how much an individual produces - there is another contribution to a team which is harder to value. We have all suffered the micromanagers who are an annoyance and a distraction, slowing us down and stopping us from doing our jobs, but there are also people who do provide some useful function in a team, beyond their basic labour.

There are some people who aren't particularly interested in the big picture, and are very happy to go in the same direction as anybody with a big mouth and a certain overconfidence, who seems to have a vague idea of what direction everyone should be going. There are some people who are happier, more secure and more motivated if they're in a team with individuals who appear confident and knowledgeable. There is a great deal of value in having some authority figures in a team, to turn to in times of uncertainty in doubt, provided those people provide reasonable answers and can be trusted to be correct most of the time.

We might assume that there would be a power struggle, if two people tried to lead a team, but clearly this is untrue, because most of us have many masters. In a family, there are two parents, plus any other busybodies who decide to assert themselves, believing they have a valid opinion on the matter of childrearing. In most office situations, there are usually several people who have some degree of authority over us, who provide us with our objectives and otherwise place demands on our time. Generally speaking, we muddle along, even when we receive conflicting instructions from our higher authorities. Further, leaders will co-operate to achieve their goals - this is much more common than constant conflict, especially in organisations, where an argumentative person is not welcome.

I wrote yesterday about self doubt I had about whether I was suffering from delusions of grandeur, and I considered only my productive contribution as a builder - a labourer - as evidence that I'm a useful member of the big project I'm working on. Having given the matter further thought, I decided that there is also a lot of value in the role I play as a knowledgeable authority on a vast amount of subject matter. Although again it's anecdotal evidence, because it would be an insult to my colleagues to actually gather the hard data, I do seem to notice a reasonable footfall at my desk, of colleagues who are seeking my opinion or assistance.

Why do I fret about this stuff?

I thought a lot about why I'm so obsessed with my contribution to a massive project, and the answer is fairly straightforward: it's vindication. After many years where I felt sick and useless, that my skills, experience and abilities had rotted and withered, and that I was incapable of maintaining sustained and stable steady reliable productivity, my self-esteem was destroyed and I was full of self-doubt.

need this big achievement. I need this feather in my cap. I need to prove to myself and the world that I can pull off an impressive piece of work and that I'm still highly capable, competent and employable; that I'm worth the money; that I have value.

Whether it was homelessness, financial problems or mental health problems, I have felt very close to ruin and destruction for many years, and I started to believe that I truly was useless, and that I deserved to be ejected from society, to end up trampled in the gutter; kicked, spat on and tossed in the trash.

Having worked very hard for a long time on an extremely complicated project, and played a valuable role, this potentially vindicates my belief that I'm still a competent, capable and valuable person to have as part of a team, delivering gigantic software systems for huge organisations. I needed this proof that I don't deserve to be thrown into the dustbin, like a piece of human trash. I needed some concrete proof that those who wrote me off and left me for dead were wrong to do that.

That's why I work so hard and that's why it's important to me to believe that I'm making an exceptional contribution.

I absolutely do not want to rob my colleagues of their share of the glory or deny the value of their contribution. I completely recognise that it's been a huge team effort, and that I'm just one tiny cog in a big complicated machine. However, I do need to feel like I did something pretty damn good, for a guy who nearly died 2 years ago.

 

Tags:

 

Work Colleague Reads My Blog

7 min read

This is a story about being a team player...

Pokemon

A week ago I started writing, and by the time I had finished I was very angry - I had worked myself up into a rage. A close friend wrote to me immediately and said that I should reconsider what I wrote. Then, my work colleague who reads my blog replied to me. This was the moment I had been dreading: exposing myself as a lunatic to my colleagues. The mask had slipped.

My angry tirade was not directed at my workmates or management. My angry words were nothing to do with my workplace or the organisation I'm involved with, but sometimes I do write about the project I'm working on.

I suffer with imposter syndrome a great deal.

I feel very proud that I've made, what I feel is a significant contribution to a major project, but I'm also paranoid that I'm not that much of a big deal. I am, after all, just one member of a very big team. The project is costing hundreds of millions of pounds, and I'm just tinkering with one tiny part of it... and I'm just one tiny little insignificant speck. I need to curtail my delusions of grandeur, I think.

I attempt to use hard numbers to give myself some perspective: how many pieces of work have I played a significant role in delivering, versus my colleagues? How many technical obstacles have I managed to overcome? How many times have I unblocked team members and found solutions to problems? How many times have I saved the team from missing its deadlines?

Of course, I don't know the precise answers to all those questions, and to even gather the data seems to diminish the efforts of my team-mates. How arrogant of me to assume that I'm the driving force behind the success of the team I'm just one small part of. How grandiose. How awful.

I'm mindful that I don't even have the head honcho job title; the big cheese. If things screw up then I am comfortable in the knowledge that it wasn't my ultimate responsibility. There are colleagues who have the heavy burden of responsibility, which must surely slow them down and cause them to be hesitant, lest they tarnish their professional reputation. It's easy for me, mucking about doing whatever the hell I want, without a care in the world.

There is adequate evidence for my own success, productivity and achievements to go to my head, swelling my ego, without being completely delusional and unjustifiably arrogant. It would not be true to say that my contribution is ordinary; average.

My colleague has counselled me on a couple of occasions to not become obsessed with work and the project. I think that's great advice, and particularly meaningful and relevant to me, having burnt out and become sick due to overwork in the past. I know that I've got a completer-finisher personality, so I will definitely make it to the finishing line, but at great cost to my mental and physical health. I spend my evenings and weekends attempting to switch off, to have some work/life balance, but I struggle. My thoughts always gravitate back towards the project.

My thoughts often wander into the territory of wondering what my colleague thinks of me, particularly in regard to my arrogance and loathsome view that I'm some kind of hot-shot hero. I wonder how much I'm coming across as a terrible team player, entirely fixated on my own glory and somewhat denigrating the good work of my colleagues.

In reply to these doubts and worries, I have an anecdote which seems appropriate. I threw away part of the system, believing that it had been implemented in an unnecessarily complex manner. I was very pleased with myself for immensely simplifying the system, and the hard numbers were fantastic, in terms of performance improvement: a process which took several days was now running in 20 minutes. Then I started to think about the future, as the original system designers must have done, and I realised that what I had done would never work in a couple of years time: it was great for now - a huge improvement - but it was no good at all for the known future requirements. I started to think long and hard about how I would make the system support the anticipated future requirement, and I arrived back at where I had started, with a system which looked just like the original one I had thrown away. I had followed the same thinking and arrived at the same conclusion as my colleagues, and had perhaps wasted a lot of time and money making mistakes which I didn't need to make, because somebody had already thought everything through.

There is a huge temptation to believe that one could do a better job than those who have gone before, given that things often look easy and obvious to an outside observer. In my experience, once you do get the opportunity to try and improve things or implement your own ideas, then you discover all the many pitfalls which caused those who went before to have to compromise and kludge, leading to systems which look, to the outside observer, as though they could be easily improved.

It's almost an insult to my colleagues that I ripped up their work and started again with a blank piece of paper, except that's really not what happened. The new incarnation of the system is entirely based on the old one, driven by reverse-engineering. I didn't start from the original requirements and then attempt to build something brand new. I started from the requirement to make the system faster, easier to maintain and able to support new requirements, and I cherry-picked the bits that I liked - I whittled away all the 'noise' but kept the backbone. I kept the old system, but I got rid of all the layers of dust that it was caked in; I got rid of the rust and grime which had made it rather difficult to see the core functionality. It's the same system - I just stole the fundamental parts and put them into shiny new clothes. I hope my colleagues can see that their work lives on. I know that I would take it personally if I felt that something I was proud of was being thoughtlessly cast aside by a mindless vandal.

I don't know if my colleagues will ever forgive me for being such an arrogant sh1t. I don't know when my day of reckoning with reality will come, and I will come crashing down from my grandiose delusional state, and be forced to realise that I'm just a teeny tiny cog in a very big and complicated machine, and that my contribution is at best negligible. I don't know if I'll be able to avoid further insulting, diminishing and demeaning the work of my colleagues; upsetting them by suggesting that what I've done is good and what they'd done was somehow flawed or defective... insulting their legacy and insulting their hard work.

Perhaps I'm just not a team player.

 

Tags: