Steve Morgan joined Caplin as Development Manager in August 2010
Q: Steve, welcome to Caplin. Where have you joined us from?
A: I was with Qualcomm for nearly 5 years. It’s a big US telecom firm that’s not well known in Europe – but chances are you’ve got Qualcomm technology in your phone! I helped develop some of their mobile application stores – big J2EE apps with Web 2.0 front ends. Before that, my experience was gained through a mixture of product and pro-services experience in telecoms, digital TV and process control.
Q: Can you tell us a little bit about your development background?
A: Mech Eng degree at Bath many years ago (we were the last year to do an analogue computing course!), but in software development of one form or another ever since. I worked on stress analysis programs in Fortran, some artificial intelligence applications in Lisp and Prolog, then real time embedded systems in C and assembler for a process control firm. I learned a lot about the importance of quality and reliability in software from that job – there’s nothing like having to explain to a customer why you’ve just shut down his gas platform, or screwed up a batch of his product! Then I spent a period running a software house, working on all sorts of projects mainly in the telecom and digital TV sectors in C++ and Java. My stint at Qualcomm started with core J2EE, but moved more towards the web front end technologies. I love the work the UX team at Caplin does – very similar to a group I worked with at Qualcomm.
Q: So what are the biggest challenges a Development Manager usually faces when joining a team?
A: Two things, I guess. First, getting to know the individuals – understanding what makes them tick, what motivates them and how to build their trust. Second understanding what drives the business and how I can help to improve it. In my case, I have an additional challenge in understanding the sector – I’ve not been involved in investment banking before, which is one of the reasons I was attracted to Caplin.
Q: You’re a specialist in using Agile methods for development, project management and process improvement. What have you learned from using Agile within organisations?
A: That’s a very grand introduction! I’m really just an engineer with a passion for making things in a cost-effective manner that people actually want to use. Over the years, I’ve tried just about every approach, made lots of mistakes, found some things that work, and collected together a whole set of techniques and tools that work in different situations. One thing I’ve learnt is that writing good software is really hard, and it’s a creative process. What you need to be successful are smart people who are empowered, motivated and prepared to take risks, and an environment that supports them – my job is to provide that environment and encourage the people to exploit it. The techniques that work in a specific environment depend on the people, their background and skills, the project and the environment, and you have to constantly experiment and adapt the process. I’ve been pretty impressed in what I’ve seen so far at Caplin, the Agile approach pervades the whole organisation, so I’ve got a sound foundation to build on.
Q: Favourite book on Agile development?
A: There are loads of good books around. On process, I still like Ken Schwaber’s original Scrum book, but Steve McConnell’s Rapid Development is also a great book that predates the formalisation of “Agile”, and contains many of the same ideas. On development, I think “Uncle” Bob Martin’s Clean Code is excellent, though one of my developers told me a few days ago he’d spotted coding mistakes in it. But you should use the books to give you ideas, not follow them religiously.
Q: In five sentences, tell us what a typical day in the life of the Development Manager at Caplin is like….including your preferred breakfast in the Caplin kitchen.
A: I start with a long journey up from Winchester, which gives me a chance to do a bit of reading, catching up on email, and so on, provided I get a seat. Breakfast is juice, coffee and croissants if there are any left. Our individual team scrums take place between 9 and 10, and I try to listen in to each team 2 or 3 times a week. The rest of the day is spent on a mix of talking to people, learning, mentoring & coaching, planning what we’re going to build next & how, process improvement and helping drive the solution of customer issues, but I’m still feeling my way. And the ubiquitous email of course… I follow Merlin Mann’s Inbox Zero and time management ideas, so I try to not keep dipping into it, and I do throw a lot of it away.
Q: First computer you programmed on?
A: I think it was a Honeywell at Ewell Tech in the mid 70’s, with switches on the front to load the boot program and a punched paper tape reader! We wrote Game of Life in Basic on an off-line teletype. My college project was real-time data acquisition using a 32k Commodore Pet in Basic and 6502 assembler. How things have changed…
Q: You’ve expressed interest in social media. How do you think it can help a development organisation?
A: That’s a really interesting question, because I have mixed views on the subject. On one hand, it’s easy for someone like me who hasn’t grown up with it to be sceptical – there’s tons of rubbish out there, lots appears to be generated to fuel the contributor’s ego (I hope this doesn’t fall into that category…) and its very time consuming to hunt down the stuff that’s valuable. I find it slightly ironic that social interaction is done through a machine, but I guess they said that about the telephone! On the other hand, you do occasionally come across some gems, and a well targeted and moderated blog can provide a real stimulus for innovation, and encourages people to help each other.
Q: Pet language?
A: God’s own (well K&Rs’ anyway) – C