All Posts Filed in ‘Work


Being Paid To Learn? Surely Not…


You may find it hard to believe but throughout my whole career I’ve never had any form of training. I don’t have any certificates that say I can write software, no professional accreditation, nothing. Never been on so much of a “how to turn a computer on” course. It’s amazing I’ve gotten this far with my sweet-talking alone…

That’s all about to end though. I’m going to be spending the next 3 days being trained on SQL Server 2005. This is the first company I’ve ever worked for that has actually followed through and put me on a training course! Of course, I don’t harbour any grudges. I’ve always been from the “pick up a book and read it” school of learning and it’s stood me in good stead thus far. I’ll be interested to see if this whole training thing is all it’s cranked up to be. I’ll keep you posted.


New Job High


I find that whenever I start a new job it can be quite a whirlwind experience and this time has been no exception. I’ve met lots of people (the vast majority of whose names I’ve immediately forgotten – I’m sorry). I’ve been shown around various departments and given an overview of what they do. I’ve listened in on customer calls. I’ve seen a lot of software being used. I’ve learned rather a lot about the products the company sells. In short I’ve been given a lot of information in a short period of time.

My approach has been to not try to take too much in. I’m looking at it as an opportunity to get an appreciation of how the company works and meet people. It’s hard to start somewhere and literally know nothing. Not knowing who to talk to if there are no teabags for example. Not knowing who knows what. Who wrote what. Who decides what happens next.

But I’m not worried about that, in time it’ll all become clear to me. I don’t need to learn about everything and everybody in the first week (at least, I’ve not been told there’ll be a test). What I will say is that early indications are very good. I’ve been around long enough to know the sort of atmosphere, the people, the culture I’ll be happy in and fit well into and so far this looks like the right kind of place. Now, whether they’ll feel the same way about me is entirely another matter! 🙂

In other news… This is my 200th post! I’ve long been at the stage where I can read something I wrote 2 years ago and think “I don’t remember writing any of that”. Ah well, here’s to the next 200! (Did I hear a collective groan there? I think I did…)


What That Says About You

Leave a reply

So today is my last day at my current job and I start the new one on Monday. Despite what my CV may say, it doesn’t feel like I leave companies that often and so it felt very strange coming in this morning for the last time. I’ve been here for a year and a half and have made some really good friends. When you spend 5 days a week, 8 hours a day with a group of people giving that up can be quite a shock to the system. I’ll definitely miss working with them but intend staying in touch with a good few.

So anyway, in a short presentation I was given a card signed by a lot of my colleagues which I found very touching. Whenever leaving cards come around to sign I do it without a great deal of thought but to actually receive them is quite a different matter. I also received a gift voucher for sporting goods (a dig at my battle with injuries and talk of my glory athletic days). The next three things probably say more about how I’m viewed than anything else…

I got a huge gobstopper (given to me to shut me up because I like to talk, which I do), a picture frame so I can put a photo of myself in it and a mirror so I can check my hair on regular intervals! Nobody believes me when I say I’m not vain (honestly, I shy away from mirrors, really!), but the humour with which the gifts were offered was nice.

So it’s onto a new place, new people, new challenges and starting again from scratch. I’m looking forward to it. But I’m going to miss the people here. Not the place, the people. I’ve always said the most important in life is to communicate with others and by doing that you make friends along the way. And after sharing time and experiences with them it’s hard to let go. But nobody said life was going to be easy! The show must go on…


Working From Home


Up until I sprained my ankle the other week I’d never actually done a day’s work from home before. I’d always thought it would be great. No phones ringing every five minutes distracting me. No colleagues annoying me, distracting me or letting me annoy and / or distract them. Better equipment to work on. A place to relax and think (my lounge, garden or shower). Nobody micro-managing me who should really have something better to do. No office politics. Proper coffee on tap (I can do anything those eastern European kids in Starbucks can do):

My Coffee Machine

So I worked from home for a few days while I couldn’t walk and it turned out I was absolutely right. In a career where hours at a desk doesn’t in any way equate to productivity, I spent less time at my desk at home but managed to do around 5-10 times more work than on an average day in the office.

I thought maybe it was a blip and when I came back my productivity began somewhat higher than I left. Until the distractions started to intrude again and I’d find myself never getting in the flow at all. A day later and it was back to normal. I’ve just spent another day working from home as I really needed to get a particular task done and guess what? I got a hell of a lot more work done than I ever could have in the office.

The downside of course is the lack of human contact. Instant messaging and phone call aren’t quite the same as your basic social interaction. The best compromise? My own office with a door that closes and a phone I can leave off the hook. This concept is nothing new in the IT industry and neither is the fact that virtually no software companies offer developers offices with doors that close.

But I find it very interesting that most employers aren’t interested in increasing productivity and would rather have people spending hours at their desks – not necessarily doing much work – than working less hours in a better environment getting more done. But then again, mediocrity rules in most places. And most IT-based companies are either losing money hand over fist or could be doing a lot better. Alternatively, maybe I’m being a prima donna again?


Full Product Lifecycle


I’ve had a few job interviews lately and as is usual in interviews a fair portion of time has been directed at going over my professional career. I’ve spent most of my time and the most interesting part of that career at my last job. Going over the four years and a half years (punctuated with a six month gap where I left to pursue other interests) reminded me of how much I’d learned, how much I’d experienced and how it has prepared me for anything the world of software engineering can throw at me. It’s a good story so I thought I’d tell it now for posterity – it was a once-in-a-lifetime trip.

New Beginnings

Back in 1999 I left Scotland after working for a University for a couple of years and entered the real world. I joined a company that had been a start-up spun out of the University of Manchester and had just been acquired by a large American company. The product was an optical inspection system for use in the electronics industry. By using Statistical Appearance Modelling (SAM) the underlying software could be trained to recognise what an electronic component looked like and therefore by looking at an image of a Printed Circuit Board (PCB) on a production line it could spot any mistakes and flag them so that they could be fixed before the PCB went further down the line. The beauty of the machine was that it consisted of two banks of simple video cameras that didn’t have to be precision-placed, the software was clever enough to make sense of what it saw and measure component locations very accurately and repeatably. It also meant the machine could be easily and cheaply manufactured. So myself and two other developers were hired to help get this product to market.

We fixed a few bugs, put the product out and made a million. Right? Wrong.

DSCF0883Calming The Waves

The first thing I and my new other new recruits had to do was port the existing software from UNIX to Windows NT. In fact I started a month before the other guys and my first task was to set up a Visual Studio environment for the software which was around 700,000 lines of code! Talk about in at the deep end. After a fair bit of pain we managed to get the software to build on Windows but getting it to work, not crash, draw the GUI correctly and a million other niggly things meant we had to spend a considerable length of time before we had anything that could go onto a customer site.

We had to stabilise the software and get our release process under control. We were at times guilty of hastily firing out releases to potential customers and shooting ourselves in the foot when it all went wrong. We were in start-up mode and we needed to slow things down and get more organised. It was a slow and at times difficult process but by sending people out to developer conferences for ideas, reading books on lifecycle management, trying to score well on the Joel Test (as well as reading loads of his articles) and buying some good tools we managed to create a process that made our lives easier. Eventually we managed to score 10/12 which we were happy with.

Decisions Decisions

But what the books and courses don’t tell you is how to make judgement calls. You’ve got a customer demanding a particular feature before they’ll sign a purchase order. You’re working towards a release that has some other fixes and features some other customer has demanded. All the while you’re looking further ahead to where you want the software to be in six months time. So what do you do hotshot? Do you just put the fix into the main trunk, build an installer and send it to the customer? Do you go back to your most recent stable release, branch and add the fix, then do some testing and send it out? Do you hold off for your next service release and roll it into that? Wait a minute, rewind. Have you figured out how high-impact the fix is and how likely it is to destabilise the software? How risky is it? Is there a better way to give them what they want? Do they really know what they want? If we do this will they really buy? Oh the questions.

And while we’re at it, how many branches of development do you want to have going on at one time? How do you decide what fixes and features are going into upcoming releases? In fact, how do you decide what your product needs to succeed?

To be involved in the decision making process and realise that writing software isn’t all about tight algorithms or clever use of design patterns is eye-opening. We were all plugged into the fact that at the end of the day we had to sell kit and therefore make money. That was the bottom line and every decision we had to take was directed towards that goal, not mere intellectual pursuits. So if you were going to hold up a major release for a service release to a key customer to put new functionality into the rework interface, it had to make financial sense to do so.

Smooth Operators

Of course as time passed and we learned by mistakes, we got better at the decision making process and having procedures and systems in place made our lives easier (no signing documents in triplicate to change a line of code for us). Eventually we didn’t even have to think about it, it was second nature. When customer demands would come in or our technical director would have a brilliant idea, it all went into the system and we’d calmly put it all into our roadmap.

In fact, early on we used a piece of defect tracking software that became the centre of our lives. TestTrack Pro was that tool. We began by putting only defects into it and managing the fixing of bugs with it. But soon we put everything into it – specs for new features, refactoring ideas we’d have, literally anything that we wanted to do. Then when it came time to dish work out, that piece could be assigned to the relevant person. When it was done then they would mark it as fixed and release it to testing. Likewise when deciding what would go into a release, you could look through all the outstanding work in one place and specify which release it should go into. Simple. Being competitive people we could always keep track of who had fixed the most bugs and try and get one-up on everybody else.

The Proof Of The Pudding

We put in a hell of a lot of hard work with many good times and many bad times (I’ll never forget when we started on a bug fixing run where there were literally hundreds of bugs we had to fix before release – we got through them though in the end although at times it seemed we’d never finish). We finally managed to produce a very competitive product that actually did exactly what it said it was going to do. The proof is that despite closing down our office – effectively ending development on the product – it continues to sell to a market that demands to see a product roadmap before buying.


For me it was a four and a half year voyage from start-up company with the raw materials in place to creating a world-beating product. For others who were there from day one it was a seven year project from having an idea, securing funding, creating a viable product and selling it to a company before going on to having a world-beating product. At the end of the day it was mission accomplished. We did it and learned so much.

From a personal point of view I had a chance to do it all. Most people only experience small parts of a product’s lifecycle but I was lucky enough to see it from start to finish – and right up close. I got to be a tester, a configuration manager, a GUI expert, a decision maker, a designer, a continuation engineer, a terrible table football player and of course a software developer. And I loved it (more so after I’d left for 6 months and grown up before coming back for my final stint).

The Things You Never Lose

There are several things I’ll take away with me from the last four and a half years. One is friends. I have no doubt that in 20 years time I’ll still be in contact with most of the guys I worked with (unless I or they are dead of course). I think that when you work that closely with people for so long you either end up hating them or being friends with them – with me it’s usually the latter.

Next, I’ll take the working practices with me. We had a pretty well organised system that was both scaleable and was very successful for us, as well as making our lives easier rather than harder (not a Methodology with a capital ‘M’). I know for a fact that most software companies are terrible at managing the development process and I know one way that works.

I know that the way I’ve learned to approach problems – whether it be a random crash that can happen once every five minutes or five days (I must write about that one some time), a tricky piece of development, trying to design a way to solve a user’s problem or learning a new technology – seems to work. I’ve never come up against a problem I’ve not been able to solve and I don’t see why I’ll find one now. Basically, I have confidence in my abilities (no, I didn’t say arrogance, okay?).

I’ll always remember that at the end of the day the decisions you make when you develop software need to make sense from a business point of view. After all, the business reason for writing software is to make money. It’s an important lesson that can be all-too-easily forgotten when your head is buried in code.

And finally, I’ll always remember that I can never learn everything. Working with such a good team demonstrated on a daily basis that no matter how good I thought I was at something, there’s always room for improvement. And if you don’t strive to improve and instead stagnate, you’re dead in this business.


Idle Hands And All That


Being out of employment just now has taught me a lot about myself, and it’s only week three. A lot of people I know who hate their jobs complain that they either have to deal with irate people all day or don’t get the chance to use their brains or both. They complain about a mundane existence where they do the same thing day in day out, never feel any kind of progress or achievement and seem to be trapped in a rut and they hate knowing that.

Up until now I’ve been pretty lucky. As a software engineer I get to be creative. To solve problems and overcome challenges. I get to work towards objectives and feel an enormous (or not-so-enormous) sense of satisfaction when a software release goes out or a customer gets to use a new piece of functionality that I’ve written that makes their life 10 times easier. I could pick up a new tool or technology and apply it to something I’m working on and feel I’ve progressed. It’s mostly an intellectual challenge but being part of a motivated team working on the same product gives a sense of community and spirit that – despite impossible time-scales, irate customers or pointy haired bosses (been lucky with those too) – makes the whole thing worthwhile. The fact that I’m always learning helps to keep my brain going too.

However now that I’m out of work I don’t have any of that. But after many years of doing the job, it’s become as much a part of me as my hair and teeth. I don’t feel that my job or having a job provides my identity (for instance, if I won the lottery I would have no qualms about never working again), but I’ve quickly come to realise that without purpose I’m a bit lost.

I can’t just sit around all day watching interior design programmes. I can’t surf the net all day for porn, gossip, news or music (even with a broadband connection – who says Yorkshire is in the dark ages?). I can’t wander around shops for hours looking for nothing in particular. And I definitely can’t sit on the sofa drinking myself away to oblivion. I need something more than that. I need a reason.

It’s only now I realise that to be a halfway decent software engineer you have to be highly motivated and self-driven and love problem solving. You need to be able to work on your own as well as part of a team. You need to be constantly trying to learn and improve. And you have to be determined, have phenomenal attention to detail and be able to hold lots of things in your head at the same time. Or at least I do. In essence, you have to really be the person you describe on your CV (that’s resume for you North Americans). It’s not bullshit after all, it’s only now that I’ve been taken away from my job that I can really appreciate what drives me and why I enjoy it.

So until I can persuade the right company that I am as good as I say I am (which is another story entirely) I need to keep doing what I’ve been doing for all these years. I need to write some software. I was writing software long before I chose it as a career and will probably be doing it long after I finish. Oh, if only I’d had this drive for football I might be rich by now! Okay, I admit that’s pretty unlikely.

So as well as job hunting I’m going to write some web-based software I’ve fancied having a shot at for a while but never had the chance. If nothing else it’ll keep me away from watching House Invaders, To Buy or Not To Buy, Big Strong BoysTrading Up, Cash In The Attic, Countdown and all the rest…


That Starbucks Feeling


It’s a sad state of affairs when the highlight of your day is making a hot beverage. It’s an even sadder state of affairs when the highlight of your day is reading about the highlight of somebody else’s day which is making a hot beverage. So if you’re in this unfortunate situation then this is for you. And if you think this site’s content is going downhill then bear in mind that I’m just killing time until I go to New Zealand in December – I promise it’ll get interesting thereafter!

Tools of the trade

A heaped teaspoon

Add cold water and stir

The finished product

Tasting the merchandise


Everything Must Go


As Andy has pointed out, bad things are afoot (follow the link to see a rare photo of me). After spending the last four and a half years on and off working for a great company with top class people in a beautiful area, it’s all coming to an end. We just found out that our American parent company has decided to close us down. I’ve managed to avoid the sword of Damocles before but not this time – we’re all in for the chop.


On a positive note I’ve had the pleasure of growing up as a professional software engineer with a team of superstars. We all had different skills and personalities and we got to the stage where we automatically worked together fluidly with all of us pulling in the same direction. I moved down to Yorkshire wet behind the ears and here I am now capable of taking on any software project knowing that I’ll succeed because of what I’ve learned and experienced here.

The sad thing is that we’ll all be going our separate ways. These people are my friends, almost like a family. We’ve been through as many ups and downs as any family unit, we’ve made mistakes together and learned together. We’ve taken the good and the bad and laughed in the face of adversity. Now we’ll probably never work with each other again. I guess that’s the worst thing about closing down an office – the end.

We’ve not found out what the redundancy deals are yet and how long they might offer as a period of “transition” but in the meantime I have to start job hunting. I love where I live (did I mention that I’d just bought a house?) so I’m going to stay put but I’ll be happy to work in places as far-flung as Leeds, Harrogate, Blackburn, Manchester and anywhere in between.

I’ve been in this game for over 6 years and most of my development experience is on the Microsoft platform using Visual C++, of which I like to say I have near mastery. I’ve got a lot of experience using the flashy new .NET framework and I’ve picked up so many other bits and pieces of skills over the years that I could easily write a thousand words on them alone! Nevertheless, I’m always happy to roll my sleeves up and work hard. And as you should have worked out by now from reading this site I’m an optimistic sort and tend to not get down and negative. If you know of any interesting work kicking around then don’t be shy, let me know. This is your once in a lifetime chance to hire me and see if I’m the same in person as I am through this website. Serious and semi-serious offers only please!


The Life Of Nine To Five


When I was a lazy student getting up at 12pm and attending the odd lecture or two, I looked at people working 9-5 and thought what a nightmare it would be. In fact I dreaded having to do that. I imagined a life of living for the weekends. Having to get up on weekday mornings, going in on a Monday counting the hours until Friday night and freedom to do what I wanted to do. I thought that I’d not be able to do anything on a week night as I had to be in the office the next day. My daylight hours would be spent chained to a desk dreaming of my student days.

In short, I didn’t want that life. I loved the free time afforded to me from being a student. It let me do the things I enjoyed like mountain biking, running, sleeping and avoiding daytime television. But here I am years later working 9-5, Monday to Friday. Is life the way I imagined it to be? Am I distinctly unhappy, constantly looking forward to the weekend? The answer is “partly”.

Whenever people discuss taking a year out to go travelling, the best advice is generally to do it between University and “real life”, otherwise you’ll never get around to it. And this seems to hold true for most people I know (myself included so far). The argument always went that you’d get sucked into working life and feel it’s too large a risk to quit your job, travel and then try to get another job again afterwards. People get too comfortable and I can well understand that. Of course, there are many exceptions to the rule, but majority rules (I realise that I’m not too hot on wordplay, but there you go).

I always assumed that I’d get on the career ladder and try to get myself up to more senior roles, more responsibility, more pressure, longer hours and more money. But that’s not the way it’s turned out at all. And given the choice between my current life and the life of a student, I’d take this one every time. It’s got a great deal to do with actually enjoying my work and earning many times more money than I did between ages 18-24. And it’s got a lot to do with the fact that I want different things out of life.

For one thing I’m not career minded. All throughout my younger days it seemed that a “career” was all that mattered after education. But now, as a software engineer, I think to myself “what’s the point?”. I’m not interested in things like promotions and long term goals and objectives. I’m more interested in what I’m doing just now and next after the thing I’m doing now. I enjoy problem solving and I spend every day solving various problems, some that take a few hours, others that take a few days. I get to be creative and use my brain. I get to work alongside people I like and respect. I also get paid for the privilege. What more could I want?

So I work from around 9am to 5pm Monday to Friday. Big deal. If I hated what I was doing I’d be watching the clock all the time and be annoyed that it’s dark in the evening and my working life consumes most of the daylight hours. But I’m not. Sure, I look forward to weekends but by playing football at lunchtime a couple of times a week I manage to break up the 5 days somewhat so it just flies by. I spend weekday evenings either doing sporty things or watching TV (and occasionally writing website articles), so it’s not as if I’m so knackered that I have no life outside of work.

I guess that when I escaped University I found the world I was entering into to be completely different to the one I imagined. I got lucky and got a good job and moved to a lovely part of the world. But I believe that you make your own luck. So I’ve either lowered my expectations on life and am making the best of a bad situation, or I’ve got a better perspective on life and am making the best of a good situation. I think I prefer the latter, and it feels more real to me. I guess the moral of the story is that students don’t know a damn thing about real life until they actually enter it for real.


The Atlantic Divide



Sometimes I wish I’d been around in the era of the telegram. Communication systems were primitive and people would be all excited to receive a telegram from a loved one on the other side of the world. It almost made the planet seem smaller and the person was just around the corner. Of course in the modern day we’ve got mobile phones, the internet and video conferences to make the place seems small and I think some of the wonder of communicating has been lost along the way.

And that takes me neatly on to my point. Communication. Many argue that language can be a barrier to communication, and that can certainly be the case. But I reckon that culture is a far larger barrier and language can preclude that, and I’ve got an example to demonstrate it. I work for an American company, based in Minneapolis. We all speak English over in the UK, and they all speak English over in the States. We speak the same language. So there shouldn’t be any problems with communication. In theory.

But reality doesn’t quite work that way. We’ve had lots of problems, and everybody that I’ve spoken to who has worked with Americans has had the same set of problems with eerie regularity. But although it’s easy to generalise and blame our American cousins, it’s not their fault. And I know for a fact that we drive our counterparts mad sometimes, acting in what seems to them to be wildly unpredictable ways. And again, it’s not entirely our fault. The problem is that we all speak the same language and just assume that we’re on each other’s wavelengths. But that’s sometimes not the case.

I do recognise that everybody is an individual and therefore I can’t just refer the “The Americans” as though they are an army of clones, but attitudes and behaviour patterns tend to be very similar within a geographical location. However, America is so darned big and multicultural that there are a great many cultures within the whole country. So rather than generalise, I’m refining my discussion to the Americans I work with and have come into contact with (although not on an individual basis) so you can’t accuse me of being a generalist or a racist! Plus it wouldn’t be fair otherwise.

When I first started working with my American colleagues I treated them exactly like everyone else and quickly realised that they had a sense of humour (one generalisation gone), some were very clever, some were not so clever, and they were all different characters with different interests and lives. Much like anybody else. But as I’ve worked with them more I’ve come to realise that while our language is common, their attitudes to business and they way they talk and think is somewhat different to my UK colleagues. My favourite analogy concerns NASA. To put a man on the moon the USA spent billions of dollars, thousands of people and years of carefully controlled planning and execution before meeting their objectives (which they admirably did). Had Britain tried to do the same you can bet that a group of maybe ten people would have designed the rocket on the back of a cigarette packet, worked for a year or so out the back of a shed, made the rocket out of bits and pieces lying around the local dump and after a massive final push, have sent the ramshackle rocket on its course (after a few false starts when the rubber bands broke). It’s a totally different ethos.

And it’s this difference that has been most obvious to me. The people who colonised the USA may have come from Europe originally, but the European and American cultures rapidly diverged from that point on. It was only a few hundred years ago that this took place but already as nations we seem to be motivated completely differently. And it’s not a bad thing. The French and the English are a completely different race (and not easy bedfellows in general). But we know that’s the case because they speak different languages (note the use of the word ‘they’ as I am in fact Scottish). And the English and French are just as different as the English and Americans. It’s just that you don’t immediately realise thanks to there being no language barrier. So having realised this I can respect it and be less dismissive of my colleagues in future. And remember, just because you can’t see something doesn’t mean it’s not there.