About this Entry

This page contains a single entry by andygeers published on April 25, 2008 3:03 PM.

Tips for taking over someone else's code was the previous entry in this blog.

Geero's Recommendations - June 2008 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Powered by Movable Type 4.01

Lessons Learnt From the First Job I Ever Quit

| | Comments (0)

What I learnt about myself from my time at Trinity Mirror

On 4th September 2005, in God’s great sovereign plan, I started work as a software engineer in the Digital IT department of the Trinity Mirror newspaper group, working on their online titles. It was a surprising move, in some ways: my passion has always been for computer graphics and games development, and it’s fair to say that web development had only ever been a sideline for me up until that point. My priority at the time, however, was to get a reasonable job that would enable me to still have a life outside of work so that I could get involved in a church where I’d be built up and equipped to serve Jesus in the long term, and Trinity Mirror seemed like it would offer that. In the event, it exceeded my expectations in every way, and any doubts I may have had quickly vanished. As a green young developer with little experience of the realities of programming in a real-world team it was a privilege to work with the very talented group of developers they had working for them, and I shall be forever grateful for the masses I learnt there about how to make great software, working on sites like Adzooks.co.uk and the rebranded Liverpool Echo and similar regional newspaper sites. They taught me the joys of agile methodologies like Extreme Programming and Scrum; they taught me the importance of actually talking to your customers and not just assuming that you know that they want or even that they know what they want; they taught me how (and how not) to write maintainable code (or at least why it matters!); they certainly taught me the utterly incomprehensible choice of a language that is Coldfusion; but above all they instilled in me a deep routed desire to avoid the cheap and easy hacks and implement the right solution in the right way.

So what changed?

For various reasons I’ve been getting increasingly itchy feet for some months now, wanting to move on from Trinity Mirror. Whilst it’s not appropriate to go into the details here of exactly why, I’d like to share with you the following lessons that I’ve learnt about myself through the perspective of my growing discontent:

  1. I’m a sinner. My colleagues will have had no problems identifying my many flaws, although I suspect they might think nothing of that which I consider most serious: my lack of thankfulness to God. It’s a testament to the depths of human depravity that when there were so many absolutely awesome things about this job I still managed to grumble my way through my last few months.
  2. Building something people want is way more interesting than exposing them to more advertising. Paul Graham is always going on about the fact that the best way to make wealth is to build something people want, but I’ve discovered through experience that it’s also the most satisfying kind of work I’ve ever done. I’ve only really just worked out why it was that working on Adzooks.co.uk was consistently the most interesting and enjoyable aspect of my job, and it’s this: when working on Adzooks, we were focussed on giving end users a more useful and more satisfying experience, often without any clear means of monetising it. The less satisfying projects were the exact reverse. There are some incredibly boring ways to make money out there, and also some awesome products with no strategy for making money whatsoever – but they’ll find a way some day. If I didn’t already, I certainly know now which of those I’d rather do for a living.
  3. I work best when my productivity levels are easily seen (for better or for worse). This is really a corollary of number 1 – I’m a sinner, who is both lazy and proud, and my behaviour in the face of changing circumstances has revealed that ugly truth. The loss of a great manager who was always aware of what I was up to and gave frequent feedback; a growing team where the contributions of individuals is harder to spot; a form of Scrum where the perception is that as long as you deliver what you committed to at the start of a fortnight there’ll be no questions asked – all of these things slowly began to sever the connection between how hard I worked and my standing within the team. The standard set for me is to “obey in everything those who are your earthly masters, not by way of eye-service, as people-pleasers, but with sincerity of heart, fearing the Lord” (Colossians 3:22), and yet instead people-pleasing seems to so often be the driving motivation, with sincerity of heart barely getting a look in. It’s easy to work hard when people will praise you for it; it’s far, far harder to keep pressing on when the hope of the Lord Jesus’ commendation is the only motivation on offer. On judgement day I shall have no defence but to plead the blood of Jesus who died to defeat such sin – and praise God for such a hope! For one day, by his grace, this sinful nature of mine will be overcome, and I shall be free to serve him perfectly as I long to do. In the mean time, give me small teams! Give me feedback! Give me high visibility of my productivity.

Finally, do I have any parting words for my co-workers?

  1. A huge “thank you” for everything. You’ve been great. It’s been marvellous fun. We’ve drunk a lot of tea.
  2. Be the change you want to see in the codebase. Don’t just grumble about the state of legacy code, get on and refactor it. Live the dream! Make things just a little bit better every day, placing your mark on the world. Be a garlic programmer.
  3. Never be content with mediocrity. You’re all smart, talented people. Yes, even you. Don’t settle for things the way they are – always be looking for ways to make things better. Read everything and anything you can get your hands on – you’ve got some great books on that shelf of yours! Question everything – why did that break? What could I have done differently to prevent it? What am I going to do differently to prevent it happening again? How will this change I’m about to make affect how hard this code is for other people to maintain?
  4. Make plans for eternity. Jesus may seem like a humorous joke to you at the moment, but one day you will die, and on that day you will meet him as your judge. “Of this God has given assurance to all men by raising him from the dead.” (Acts 17:31) I know it seems unlikely, but if it’s true then it’s so profound that it changes everything – isn’t that worth spending a few hours of your life to at least look into it?

Farewell, Trinity Mirror!

Comments