A Retrospective

Well if you have been following my tweets recently, you will know that I have decided to move on to pastures new after nearly 3 years working for one of the largest financial services companies in the world. Having been off for a few days now I’ve had a chance to reflect on my experiences and what I have learned from it.

When I joined, I hoped that being at the technical sharp end of the high-pressure trading market would provide me with valuable experience. I wanted to learn what it took to build large scale, n-tiered, fault-tolerant and highly performant software. I thought I would be building software to strict specification and detailed designs as part of a water-tight software development methodology. I also was led to believe that I would be working with other teams, identifying common funtionality and building reusable services and common infrastructure. I also wanted to help in setting up an brand new technology centre. Unfortunately, things didn’t turn out as I had hoped. Read on to find out why.

  1. Obsolete software – The software I worked on was old and decrepit. It ran on Java 1.3 and an obscure J2EE container. There was no specification or design documentation. The state of the code was horrendous. Wors’t of all, there was no scope to refactor it as it was due to be replaced over a year ago. Its still going strong today.
  2. Poor code quality – When the next generation of components began to be developed, all major work was implemented in the States by the people responsible for the previous mess. When it came over here, code quality was poor but management ignored the problem, even after I handed over a 20 page dossier of issues.
  3. Lack of development - There wasn’t nearly enough to keep a developer like myself happy. Every appraisal came and went with promises of work in the future only to dissolve into the ether of production support.
  4. Lack of process - There were dozens of processes, except when it came to software development. When given work to do, it rarely came with any kind of requirements and no one was interested in your attempt to write a design. It was a case of “just go and do it, btw how long will it take?”.
  5. Isolation - I was left to work alone for more than a year before the team I was promised materialised. Then we were all assigned to separate tasks that mean’t that we were a team in so far as we had the same managers. The work required little to no interaction with other teams.
  6. Management - It really is a manager’s playground. I had 6 different managers in less than 3 years. Often, 3 different managers at a time. They regularly went off for management meetings that never seemed to have any relevance to our team’s work.
  7. Bureaucracy- Every month seemed to usher in a new process or system to get help from the numerous different support teams throughout the world. Once you worked out how to do something, they would change the process on you! Then there were endless appraisals and irrelevant internal traning courses.
  8. Production support – Although I was a developer, most of my work consisted of supporting our numerous environments, from development to testing and production.

It wasn’t all bad though. I met some good people and got the chance to spend some time in The City to see how the other half live. I have learned that I am not interested in climbing the corporate ladder and corporate titles (VP I’m looking at you!). I have also realised that I want to stick to working for software development companies rather than in IT departments of non-IT companies. I have learned that I care too much about what I do to live with a mess of code and sloppy development practices. Most of all I have learned that I am happiest when I am coding and being creative.

4 comments ↓

#1 mj on 05.07.08 at 12:23 pm

I believe the only thing to add to this would be a Mel Gibson-esque…

“FREEEEEEEEEDDOOOMMMMMMMMMMM”

#2 mj » Blog Archive » Conor Moves On on 05.07.08 at 12:26 pm

[...] blog post about his reasons is absolutely tragic and highlights some of the issues faced by individuals working in large [...]

#3 Steve on 05.07.08 at 1:29 pm

Strangely reminiscent of my own experience at $BIG_COMPANY

#4 Five on 05.07.08 at 2:48 pm

I knew exactly what I was getting myself into when I joined said large company. Even I was taken aback at the lack of development work, considering the standards of development skills required to pass interview. Congrats, Conor, on surviving :-)

Leave a Comment