I had a great time at the CodeCraftConf, and I’ll be writing up my thoughts on the other sessions shortly, but for the benefit of those who attended the technical leadership session and those who were interested in the questions, I made a few notes on each question to reflect suggestions, and discussion points that we covered, as well as a couple of additional questions that came up during the conversation. Feel free to use them as inspiration for running your own session around these questions.
Before that however, I just wanted to give a few thoughts on guiding a session, for anyone interested in running one themselves.
The best questions are open, and not technology specific. I also found that phrasing similar questions in different ways can help to draw out additional detail. I had the questions reviewed by a couple of trusted friends in advance, to make sure they covered enough ground and were good starting points for discussion.
I chose the first question as an ice breaker, as it was something I felt anyone interested in the topic could give a short answer too. Don’t be precious about the order of questions. Know what’s coming up so you can pull questions forward when the conversation naturally flows into it.
Try and pick up the subtle cues for people who want to speak, and use your authority as guide to try and spot them. This may often mean liking away from who’s currently speaking.
What is a technical lead?
Build your relationships
How to build software better
Facilitate not dictate
Coach / mentor
Person I go to when I have a problem
Encourage communication and collaboration
Challenge and grow the team
Arbitration and negotiation
Scrapper – fighting external stakeholders in behalf of the team.
What are the most important behaviours for technical leads to exhibit?
Calm under pressure
Don’t have to know everything. Knowledge is an inverse hierarchy, it collects at the bottom.
Drawing out quieter team members
What most inspired you about your previous technical leads?
Clarity on code knowledge
Removal of fear
Encourage learning from mistakes – mistakes happen, so learn from them when they do.
Protect from blame – collective ownership, no scapegoats
Guiding rather than fixing – not grabbing control of the keyboard
Tailoring messages to the audience
Why do you want to be a technical lead?
“I didn’t want to be a technical lead ”
Drift into it
Job description makes it uncomfortable / or gives you ammunition when scrapping
What scares you most about being a technical lead?
Responsibility – easy to make big mistakes
Not keeping up with technology
Friction with the outside and non-technical stakeholders
Being reactive vs proactive
How do you measure success as a technical lead?
If nobody needs you
Happy management – no meetings
What one thing would make your life as a technical lead easier?
Open minded developers
Customers who know what they want and what the requirements are
Unified working practices and strong management
Ban the word “just”
100% utilisation is bad
More time to just think
The right work environment
Flexibility and respect
The right tools
How much coding should a technical lead do?
Structured time boxes
Lead on one project, developer on the next
1/3rd – 2/3rds coding was the accepted range in the session, but some unhappy leads were doing less
What responsibilities are you happy to delegate, and what do you want to control?
Delegate everything. But know it will be OK.
Control to make sure the delegated work is complete and the team feel supported.
Map delegations to the team
Delegate by negation – military strategy :
– “I will do this”, give leader option to refuse, then carry on
– This style can take a while to get used to
How do you plan for your own absence, so you can rest on holiday?
Good team mix – senior vs junior
Choosing your staff
Building the right relationships internally and externally
What qualities do you want your team to have, and how to you help them get that?
Ran out of time to cover this question, skipped to a combination of the following two.
How do you deal with conflicts in the team?
How do you deal with external pressures on the team?
Project Manager should be the political front to the outside world
Have to work in partnership with the PM
Compassionate, put yourself in their shoes
Smaller teams are easier
Additional questions :
What happens to the project when the technical lead changes?
Do you need a tech lead? Are techniques like voting to resolve conflicts enough?