This article was originally posted on the Capgemini Engineering blog
On election day I went to Westminster. Not for political reasons, but to attend the Lead Developer conference. I’d been meaning to go ever since hearing good things about it from my colleague Tom Phethean, who went to the inaugural conference a couple of years ago. It seemed like it would be right up my street - for a while now I’ve been thinking about where my career goes next, as I follow the seemingly inevitable career path of writing less code and having more meetings, and trying to figure out how to focus more on getting the best out of others. Also, Capgemini were sponsoring, so I knew there’d be some familiar faces there.
Although I’d arrived early, the queue was big, and growing, but in spite of that, I got a seat in time for the start of the first talk. Patrick Kua from Thoughtworks touched on some valuable points on the difference between developers and leads, not least the idea that leads need to encourage a focus on constant principles and help people to grow into roles that enable leaders to delegate. Patrick's point about valuing principles over tools reminded me of Andy Clarke’s talk about the modern designer’s canvas at Smashing Conference 2014 - while technology is always changing, and it can be hard to keep up with the pace, those basic underlying principles remain evergreen, and they're the things we should invest our time in learning.
It was reassuring to hear someone as confident as Patrick talk about issues that I've often faced, such as the difficulty of stepping up into a lead role, or the fact that "there will never be enough time". In the face of that, the Eisenhower Matrix of importance and urgency seems like a useful strategy.
Another interesting point Patrick made was about the importance of being aware of cross-cultural communication factors, such as those described by Geert Hofstede’s cultural dimensions theory - a theme which was developed further by Katherine Wu in her thought-provoking session on Ask vs. Guess Culture Communication. Katherine described a helpful framework for thinking about cultural differences, although it’s a complex subject, and I wonder if a one-dimensional spectrum provides enough nuance. I know that I can often shift between the two styles, depending on the situation, and #VeryBritishProblems can arise within a single cultural context - there's diversity between people from the same country, and adding different cultures into the mix gives us even more to think about. It’s definitely important to be aware of the cultural background that has shaped you and the people you're talking to - perhaps the lesson is that we often need to be more explicit and intentional in our communication, and make sure that we don’t end up in a situation where different people are guessing differently - as Katherine mentioned, you should never assume that you know what other people are thinking.
Another speaker whose session really got me thinking was Adrian Howard, who introduced another theme that kept coming up throughout the conference - the importance of listening and being respectful of your colleagues. As Anjuan Simmons put it later in his excellent talk about Leadership Lessons from the Agile Manifesto, you should "preserve dignity at all costs - especially for people who don’t agree with you”. Another message that came through from a few speakers was that, as Adrian put it, "the manager’s job is to build the organisation, not the product”. I couldn’t agree more with Anjuan’s suggestion that "as tech leads, you’re going to build more than just software" - every team has a culture, and it’s important to be conscious in shaping that culture - this is what Andrew Harmel-Law and I were aiming for in our software engineering team manifesto.
Adrian made another point that really resonated with me: as a leader, "your job isn't to have all the answers - it's to find out where the problems are and help people solve them themselves". This is a message I’ve been doing my best to spread for a while, although not quite so succinctly. There was a lot in Adrian’s talk, and it’s instructive that he focussed on the importance of active listening, rather than just waiting for our turn to speak - an idea which came up again later in Erika Carlson’s talk on giving feedback.
As is so often the case at conferences, I feel that I need to watch the talks again to process them - that's partly the point of writing this blog post. There's something about hearing someone speak that brings ideas to life far more effectively than the written word can - as my colleague Phil Hardwick discussed in a previous blog post, even the best ideas need some help to get lodged in our brains. Another speaker whose talk was full of good stuff was Maria Gutierrez, explaining the importance of taking time to plan, and making learning part of your day - I like the idea of talking to your children about what you've learned that day, and I've started trying that with my daughter.
That was followed by a real change of direction, as Rob Allen gave a measured and thoughtful description of the features of a good API - after all the talk of humans and our feelings, it felt slightly odd to be talking about technology, although Rob did include the important message that APIs should provide "code for computers, messages for humans".
In an entertaining, interesting, and hyper-caffeinated talk, Cate Huston of Automattic made a very strong case for the value of a regular and predictable release cycle - something I can vouch for from my own experience. She also pointed out that one sign of a healthy team is that "people will hold each other accountable and hold themselves accountable to the team”, and that "there is nothing more toxic to a culture of accountability than blame” - a point that I'd wholeheartedly endorse.
The final speaker for day one was Nickolas Means - a good storyteller, although he almost lost us by geeking out too deep into military aviation history in his tale of The Original Skunk Works. It was worth staying with him for the payoff, a powerful but fairly simple message: teams succeed when they spend their time on the things that did matter, and sometimes you need hacks to get you where you need to go. I hadn’t come across Kelly’s Rules before, but they really rang true with me - to paraphrase a few in particular:
- use a small number of good people
- you need to trust your team to make good decisions
- the team should have always have a clear focus on the top priority
- there should be no more process than is needed
- mutual trust is vital
On that note, the organisers brought out the drinks, although I was keen to get home to ask my daughter about what she’d learned that day.
Day two started with Kevin Goldsmith talking about the value of learning from failures, drawing on lessons from Clippy and Spotify (where there is even a “fail wall”) and drawing an important distinction between two meanings of "fail-safe” - failure avoidance (which is almost impossible to achieve), and minimising the impact of failure. He also echoed Cate Huston's point about blame, advising us "don’t punish failure, punish not learning from failure", and reminding us of the importance of doing retrospectives for everything, whether they were a failure or a success.
Birgitta Boeckeler was next, underlining once again the importance of creating a common understanding in your team - in this case through creating just enough of the right kind of documentation. That common understanding can often be difficult to achieve on remote teams, as they incur "a tax on communication", as Mathias Meyer from Travis CI discussed, but while it may be necessary to make more effort, “less oral communication means more accidental documentation”. He also made some interesting points about the influence of open source on company culture. While Capgemini are a big corporation, our team are rooted in and [committed to open source][open source], and I'm certainly aware of how that has helped to shape us, particularly in areas such as transparency.
On the subject of open source, Patrik Karisch introduced an automated accessibility testing tool - something I've been meaning to investigate for a long time, although I think there will always be value in real user testing.
Next we heard from Carly Robinson of Slack on Mentoring Junior Engineers. I've been sold on Slack as a tool for a long time, and the more I hear about their company, the more I like them. Carly spoke emotively of the need to cultivate empathy, respect, and intellectual humility in order to build a positive culture of learning. I hope that we do reasonably well by our higher apprentices and graduates at Capgemini - this is an area we're certainly keen to encourage.
After another good lunch came the politest and most perfectly timed evacuation of a building I’ve ever witnessed. Thankfully it was a false alarm, and we were able to get back inside in time for coffee before starting the afternoon’s talks with Randall Koutnik from Netflix, discussing a couple of questions that keep coming up for us at Capgemini - what senior means and how to create a meaningful career path for software engineers. He made an interesting distinction between solution implementers, problem solvers, and problem finders, and echoed Carly’s reminder of the importance of mentoring junior colleagues.
The values of respect, feedback and trust came up again in talks from Crystal Huff and Jill Wetzler, who both made compelling arguments (from different perspectives) that the tech industry isn't doing enough to promote diversity - active inclusion is very important to us at Capgemini, although I think there's still room for improvement.
The election didn’t have as much impact on the conference as I’d expected, although Jenny Duckett of GDS was unable to speak because of purdah (which I'm glad to know I wasn't alone in needing to look up). Sally Jenkinson made a very able last-minute stand-in, making some salient points on the difficulty many of us face in coming to terms with our own prejudices and embracing a new identity as we evolve into leadership roles, juggling the tactical with the strategic.
Tom Booth made some interesting points about the importance of a supportive relationship between teams and the necessity of embracing change, before Lara Hogan rounded things off with some useful advice on Leading by Speaking - reminding us that being in the spotlight isn’t just about standing on a stage, that almost everyone is anxious about public speaking, and that practicing helps, as does celebrating with a donut.
Overall, it was a great conference - well organised, with helpful friendly staff, decent food, and a very high standard of talks. One of my favourite things was the live captioning - it's great to be able to look at a screen to see what you've just missed, and it was a real-world reminder that accessibility isn't just for people with special needs, but about making things more usable for everyone. As with every good conference I've been to, I've come back with my mind buzzing with ideas, and an ever-growing reading list. I'd definitely recommend it, and I hope to be there again next year.
[open source]: https://capgemini.github.io/tags/index.html#Open source