June 11, 2018

Drinking Tea And Surfing The Web

(One from the archives. I wrote this in May of 2005. I think it still stands.)

A treatise on the life of a Technical Lead in the I.S. industry.

It's an interesting life being a Technical Lead as I discovered when I became one. The first thing I discovered is that it's simultaneously both a vitally important role and an often mis-understood one.

At my current instance of Benevolent Employer, the role has absolutely no definition outside of a few required documents that you're supposed to create. Fortunately, it's realized informally, that the role is where an experienced developer can bring their knowledge and wisdom to a project, to positively affect every technical aspect from the architecture to the day to day activities of the individual programmers. It's this aspect of the role that I love.

I see two distinct, yet inter-woven, aspects to the role of Technical Lead. If it wasn't too blindingly obvious, I would call these aspects Being Technical and Being a Leader. Instead, 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 development 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 you will be assured that each will be declared more important than the other. This is where the Technical Lead begins to earn their money as they start bringing the disparate ideas and requirements together into a coherent whole that will meet the needs of the customer.

How do you write applications that are both lightweight and comprehensive? How do you write a web application that runs on a server, yet is responsive to activities on the client's computer? How do you meet the business need for no passwords while keeping the security department from going into meltdown? How do you get high performance, on-demand behavior out of a system that has to share it's server and database resource with many others? The answer is carefully. And that carefully can only come from an experienced senior developer who has "been there, done that, got the t-shirt" to use one of my favorite No Fear(TM) sayings.

The role of Mentor comes for free when you are a Technical Lead. As you take the 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 recently joined the same as an Education Officer. 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. I long ago gave up worrying about saying "I don't know", because I pretty much 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. Especially in the I.S. industry, because we built the web. Yes, I know that the World Wide Web was invented by a nuclear scientist, a British one at that, but it was built by the I.S. 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 so that I can teach one of my programmers something.

Drinking Tea

The role of Technical Lead is a leadership role. It is 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. You don't send your programmers to work towards a goal, you 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". Outside of the scriptures of the bible, I cannot think of any truer statement than that. Effectively, influence is the power or ability to cause someone to perform a task that they may not want to or have expected to do.

The only way to have real influence is to care 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".

A Technical Lead cares for their programmers through their ability to speak and relate to people. This is often referred to as a soft skill in modern management-speak. There are many ways to care, but two classics are to listen and to spend time. Very few people actually listen to anyone. Most of what passes for listening by people is waiting for a break in the speaking so that they can start talking. You will surprise many a person 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 human beings are more amenable when they get together to consume food and drink. There are few opportunities to do this in a work environment, but the coffee break is a good one. Grab a cup of coffee (or Tea in my case) and sit down with your programmers and just talk to them. 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, phrased another way, it's just drinking tea and surfing the web.

Tags: The World Of Work Software One From The Archives