I probably should not write about this in public and maybe if I don’t mention any names I will get away with it. As you may of read in the last post I now reside in Bristol having taken a contract down here with a company that are working with the government. Now I am sure if I tell you what part of the government they are working with you would be able to track me down and I really don’t want to cause rifts. I have been there just over a month at the time of writing and I have been trying to help out as much as possible and wanted to share my current observations with you.
The project feels like it has been continuing for some time, you can tell this by the way people speak and act about it. There are (from what I see) three major players in this digital quest lets call them Company X, Y and Z respectively. Let’s also say for arguments sake that I work for Company X. You would be right to ask “What on earth is the government doing spending money on these three companies?” Sadly I don’t have an answer to that. I am sure that all of them contribute in a some way towards delivering the project but how each fit in is still a bit of a mystery. However I will say that you get this distinct feeling that a lot of work has gone into it so far and a lot of this has been done and redone as Company X takes over bits from Company Y with further input from Company Z.
As a good analogy I turn to something I saw Gordon Ramsey do on Hells Kitchen where he makes chefs team up and each one has 10 or so minutes in the kitchen to work towards preparing and serve a dish of their invention. What can happen in this is that that chef A starts to make a dish, chef B takes over and changes that dish into another dish then chef C takes over and maybe changes the whole thing up and you can end up with a mess. What can make this work is down to one simple thing and that is communication. I’m not at all insinuating that it’s a mess in Company X because we are dealing with stuff implemented by Company Y and Z but I will say that the levels of communication need to addressed which at the moment feels like they are throwing stones over a fence with bits of paper tied to them.
To give you an example of this lets say Company Y built an API (I’m not sure who built it but let’s go with that). For the uneducated imagine an API (which stands for Application Protocol Interface) is a like a black box that you can throw messages to and it will perform certain tasks for you. However what Company Y didn’t do is document just how to use this black box. This was probably down to one or more of the usual reasons like not enough time, potential security risk, didn’t feel they needed to or no doubt lots of other reasons. Basically you have no instructions as to what the black box does and even how to make it do it but you know that it is useful. This makes my job a lot more tricky than it should be, with some good documentation I would be able to know what calls to make to get back the information I need but now I have to poke around in the source code to try to figure out how the black box works. Maybe it’s just me who finds this ridiculous, I certainly hope not.
Another major thing I have noticed are the very strong personalities here. My previous company was only 25 or so people big, we communicated a lot within the dev team, had one vision and always knew where the end goal was heading. In comparison we have the three companies mentioned (X, Y and Z) and input from the Government too, it’s quite a contrast. I have noticed how some developers will actively try to avoid doing things being laid down by one of the other companies or even the client itself. There are other developers out there who are not exactly loud but they are very quick to tell you of their credentials like they organise or work with this specific bit of technology or are part of some (probably) well known group. I’m very happy for the person that they have found a calling in life but really do you have throw it in my face all the time? This is the programming equivalent of people in gyms comparing muscles it’s posturing in the highest sense and I find it not only ridiculous but actually rather funny.
I find that some of the personalities also over explain things to me (like I’m a newbie). I have been in this situation before and they tend to explain the bits that I understand too much and the bits that I don’t too little and sometimes using overly complicated language. Using another analogy consider this. If every time you made boiled eggs for a certain friend you knew they would not always want the same type of boiled eggs. One day they want hard, another very soft, another the perfect yolk etc etc. Instead of just telling you how they want their eggs today they have a habit of telling you exactly what pan to use, how much water to put in, how to light the stove, when to put the eggs in, how long to leave them in for, how to take them out and what to do with them when you have taken them out. That is what it can be like at times, rather than working with people maybe they are used to telling people exactly how to do it which I see as a bit of a character flaw (control freak).
It might sound like I am having a horrible time here and to be honest if I said I love it that would be lying. However I think because of the shift in my headspace since travelling I can look at this from the outside and laugh. I never take my work home with me these days, I have way too many other things to do (like write this blog) which are far more interesting. It’s not that I don’t care either. I want to do the best job I can, if people want to throw spanners in my plans I will pick up the spanner and go and ask them why they did it. I don’t go to work to play politics, I go there to do a job to the best of my ability.