June 11, 2018

Drinking Tea And Surfing The Web

Updated: 28th October 2020

It's an interesting life being a Technical Lead as I discovered when I became one in an IT department. I simultaneously discovered that it is both a vitally important role and an oft mis-understood one.

At the instance of Benevolent Employer where I first made my discovery, the role of Technical Lead had absolutely no definition outside of a few required documents that you were supposed to create. Fortunately, it was realized informally within the company, that the role was where an experienced developer could bring their knowledge, experience and wisdom to a project. That they could positively influence every technical aspect from the architecture to the day to day activities of the individual programmers. It was this aspect of the role that I most loved.

I see two distinctly different, opposite yet inter-woven, aspects to the role of Technical Lead. Jocko Willink, of Echelon Front, would call this a dichotomy. If it wasn't too blindingly obvious, I would call these aspects Being Technical and Being a Leader. Instead, with a little British understatement, I'll call them Drinking Tea and Surfing the Web.

Surfing the Web

It is no accident that the first word in the title Technical Lead is technical. As a Technical Lead, you are the technology hub of the project. Sure, there are architects and business analysts and other specialists to draw upon, but each of these people come to the table with their own perspective foremost. Many of these will be orthogonal and each will assure you that they are more important than the others. This is where a Technical Lead begins to earn their keep, weaving the disparate ideas and requirements together into a coherent whole that will meet the needs of the customer.

So many considerations on any given project. How do I write applications that are both lightweight and comprehensive? How do I write a web application that runs on a server, yet is responsive to activities on the client's computer? How do I meet the business need for no passwords while keeping the security department from going into meltdown? How do I get high performance, on-demand behavior out of a system that has to share it's server and database resources with many others? The answer is carefully. And that carefully can only come from being an experienced senior developer who has "been there, done that, got the t-shirt".

The role of Mentor comes for free when you are a Technical Lead. When you take programmers into areas that are new to them, you are the first stop on their road to understanding. This is perhaps the part of my role that I enjoy the most. I love to teach. It's in my blood; my father was an instructor in the British Royal Navy and my brother is a teacher. If I know it, I want you to know it. The challenge with this is that in our ever-changing industry, I can't possibly know everything that my programmers are going to ask. Understanding this, I long ago gave up worrying about saying "I don't know" when the team would ask questions, because I will always follow it up with the words "but I'll find out".

The fastest and most efficient way to learn almost anything these days is through the Internet. Equipped only with a web browser and a search engine it is possible to find almost any information you could possibly want to know. This is especially true in the I.T. industry, because we built the web. Yes, I know that the fundamental technology stack of the World Wide Web was invented by a nuclear scientist - a British one at that - but it was built by the I.T. guys. A non-trivial part of what I do these days is to surf the web to learn things so that I can take them into account on the project or teach one of my programmers something.

Drinking Tea

The role of Technical Lead is a leadership role, not a management role. That is, you don't say to your programmers "we need this, go and do it", rather you say "this needs doing, let's go". Perhaps this is a subtle difference, but I feel that it's a real one. Don't send your programmers to work towards a goal. Blaze a trail to the goal and equip them to be able to keep up with you as you go.

John Maxwell, of Injoy, teaches us that "Leadership is influence". Experientially, there are few truer statements than that. Influence is the ability to lead someone to perform a task that they may not have originally wanted or expected to do.

Influence, like trust, is only ever earned. To have real influence is to care about your team and be seen to care. Because a Technical Lead is typically not a manager or in the direct chain of command of their programmers, there is little to no opportunity to direct people in their tasks through rank or position. Rather, a Technical Lead must operate through influence and guidance. To quote John Maxwell again, "He who thinks he is a leader and has no one following him, is just out taking a walk".

As a Technical Lead I care for my programmers through my ability to speak and relate to them. This is often referred to as a soft skill in modern management-speak. There are many ways to care, but two classics are listening to them and spend time with them. Very few people actually listen to anyone any more. Most of what passes for listening by people is them waiting for a break in the other person's speaking so that they can start talking. I've surprised many people by actually listening to what they said.

Spending time with someone is a very powerful thing. The effect is increased if food or drink is consumed at the same time. I make no claims to understand exactly why, but I recognize that we human beings are more amenable when we get together to consume food and drink. Take opportunities to do this with team members. The classic coffee break is always a particularly good time. Grab a cup of coffee (or tea in my case because I'm from England) and sit down with your programmers and just get them talking. Take off your Technical Lead hat and just chat, programmer to programmer, geek to geek. You'll learn what's on their mind and they'll learn that you want to know when something is bothering them, so that you can try to do something about it.

Drinking tea and surfing the web

I guess you either love being a Technical Lead or you hate it. I love it. It's a great mix of solving hard technology problems and working with people. Or, as we might say back home in England, it's drinking tea and surfing the web.

Tags: Observations