In 1999, I was working for a major bank in the UK, on a huge internet banking project. We had a team of over 200, with the project being run by one of the ‘Big 8’ (as it was at the time) consulting firms. My role was initially technical – I spent almost all of my time writing code. Over the course of the project, the seniority of my role grew; by the end, I was still writing code, but spent most of my time dealing directly with the business and project management teams.
My lasting impression of management at the conclusion of that project was very simple: these people have absolutely no idea what software development is and no idea how to manage a software development team. Don’t get me wrong, they were nice, friendly, earnest people. They were honestly trying to achieve the best possible result for the business and the project, but they were failing in so many ways to connect with the development group that I was just baffled. How could these managers, many of them with dozens of years of experience, be so bad at this?
I made a decision then to move into management and have spent the years since then managing technical teams at various levels of seniority. I’ve run small teams of software developers and large national delivery organisations, some with over a hundred technical staff.
While there are huge libraries of resources dedicated to the discipline of management and similar resources committed to efficient technical delivery, the area where these two overlap is threadbare to say the least. Commonly accepted management techniques are not effective when managing technical teams, causing management frustration. I’m hoping to share the benefit of my experience, to assist both the suits who need to manage geeks and the geeks who need to work with the suits.
I have a particular interest in assisting geeks who are taking their first steps into management. It’s a difficult transition to make – I hope I can help.