Showing posts with label coding. Show all posts
Showing posts with label coding. Show all posts

Friday, June 29, 2012

There but for the grace of the angels go I.

So if you have a RBS, NatWest or Ulster Bank account you probably don't need telling that something went very, very badly titsup last week. Stories of people being stuck in jail as their bail could not be paid, people temporarily homeless as solicitors couldn't hand over keys on house transactions and so on and so forth.

It appears the cause was a screw up in operating the software which schedules the processing of the various software programs that makes up the bank's "books" as it were. When I first started in IT I was a junior programmer writing those kinds of programs on a Burroughs mainframe for what was then The Midland Bank. The overnight suite must have been over 150 discrete programs all of which had dependencies on others and the RBS suite is almost certainly no different and probably much more complex and relies on a lump of code called "CA7" to ensure everything runs when it should. Now it seems some change was made within CA7 that didn't work and needed to be "backed out"; this sort of thing happens all the time in software releases and before releasing any change to a production environment you always, without fail, have a backout plan. Regrettably for RBS a junior numpty, hired on the cheap and operating out of Hyderabad  (RBS having saved money by sacking all the UK based very experienced staff) rather than removing the change removed everything, completely wiping the schedule database.

Oops.

This fiasco will probably end up costing RBS, in other words me and you the taxpayers, upwards of 500 million quid when everything is taken into account. How's that cost saving working out for you RBS?

I do feel sorry for the junior numpty though; that must have been the longest stomach-churning "Oh fuck. What have I just done" moment in history. And I defy anyone in IT to say they've never had one.

Mine was back in those junior coder days, wrangling COBOL on the overnight batch systems. Late on friday there was some urgent patch needed to a part of code that handled automated cheque book issuing (back when people used cheques our code worked out when you were running low and ordered a new book to be printed and sent). I made the change but didn't really have time to test it but it was a two line change and I told my supervisor this.

"Are you sure it's OK? You sure you put that full stop in the right place?" she said whilst putting her coat on. Clearly she didn't intend to check it.

"Yes, definitely" said a supremely confident dragon and uploaded the code and clocked off.

I woke on Saturday morning with the gnawing feeling something was wrong. I could see the code in my head. I could see that full stop. It was in the WRONG FUCKING PLACE!

I'd terminated an "If... Then... Else" structure too early.

I have ordered every single Midland Bank current account customer a new sodding cheque book at a cost to the bank of tens of thousands of pounds.

After regaining control of my stomach I started to contemplate what my new career would be because it certainly wasn't going to be computer programming. Maybe herding yak in Tibet would be more my line.

Monday came and I went in to face the music. All the team looked at me as I walked in. I waited for the hammer to fall.

It never did. In inadvertently screwing up that if/else structure I'd caused some other part of the subroutine to fail and so no books got ordered at all. The code could be patched (and I did the patch) so the missing sends would get picked up on the next run. I'd dodged a bullet and, 25 years later, I'm still wrangling code and not yak.

Don't think that chap in Hyderabad is going to get that chance.



Monday, August 01, 2011

Jaded

I wander back to my desk this afternoon having made myself a cup of tea to find the team leader of the mob across the corridor from us (let's call him Berk for now) excitedly chatting to my project manager.

What is the cause of all this excitement.

Well it turns out that Berk has had this brilliant idea (that he's nicked from Failbook - so you know this isn't going to end well) to get a team together to deliver some application to our users in one 24 hour period, that is starting first thing in the morning, working all day and then pulling an all nighter.

I was just about to say "what the fuck have you been snorting Berk" when I see my PM nodding his head faster that the Churchill Insurance dog on crystal meth. "Wow yeah, it's great, we can really show what we can deliver."

What you will deliver if you go ahead with this is a pile of cack built of compromise, quick hacks, hard coded "variables" and so many fudges you could open a branch of Thorntons; further more said "product" will perform like a mastodon on quaaludes and have all the grace and functionality of a 1960's era Trabant. And this abomination you are going to put onto a trader's desktop 24 hours after the project starts and expect them to use it live??? Jesus this just has "EPIC FAIL" written all over it in eight foot high neon pink letters.

I just could not believe sane IT Professionals were seriously going to go ahead with this - this fuckup in the making already has a venue booked where the 8 "volunteers" will be doing the coding - but there they were, thinking this is the greatest thing since the invention of the database. Bert has even got the head IT manager to stump up for the pizzas and coke.

I think they could tell by my expression that I wasn't really buying into this plan so Bert tried "Well we'll be strictly using Extreme Programming techniques! Paired programming! Test driven development!" - Yeah cut your hands on keyboards by 50% before you even start, why not handicap the team even further by paying someone to come round and kick them in the goolies every hour whilst you're at it. "Oh and I'm going to be making a time lapse film of the 24 hours" Hey and why not put that Benny Hill "Yakety Sax" music over the top of it, that'll make us all look like the highly trained and experienced artisans we are won't it.

Anyway after a while my PM started to realise that I wasn't going to stop making my "If Berk says one more fucking word he's getting a dose of the breath weapon set to 'Heart of the Sun'" face and decides to save Berk from immolation and goes "Oh maybe this would be a good thing for our graduate coder of all of 2 years experience". I nod and project passive-aggressive body language making it clear that everybody better leave my workspace right now and leave the grumpy dragon to his tea.

I don't know, maybe I've been too long in this gig and I'm just jaded. I just cannot see this being anything other than a stupid stunt to raise Bert's profile which will end up being a complete train wreck and will take a hell of a lot longer than 24 hours and more than 8 people to put right. Maybe when I was younger this might have seemed interesting to do but at my age there is no way on this little ball of mud and rock that at my age I am going to voluntarily put in a 24 hour shift, certainly not for a day off in lieu and a "bonus" of a 50 quid M&S voucher and a mention in some "What IT did this week" bit of the company website nobody reads anyway.

Wednesday, January 19, 2011

Did we really write software like this

For reasons that will become clear in a later post I have had a call to download some rather old software. It didn't work at first as I needed to download an old friend, the Visual Basic 3 runtime (vbrun300.dll). My god I have not needed that file for years, I remember when we used to have to carry it round to stick on user's Windows 3.1 boxes to get the piece of crap we'd just written (which invariably was some front end to an Access database) to function.

If you were around then you probably remember VB3 applications as loads of amateurs wrote them they all looked the same: all battleship grey, a mess of MDI windows and as user friendly as a root canal operation - mind you a few "pros" wrote them like this too. This is the app I just downloaded in all its glory.



Jesus what a fucking mess!

Mind you this was probably cutting edge in 1995.