When I was growing up, I had several school friends who would spend hours and hours in the Internet cafe (back when Internet cafes were still a big thing). I always thought that was pretty nerdy and would never have considered doing the same myself. Later, I became a student in the software engineering faculty, and I found myself having fun, spending all day in the computer lab writing small programs to chat with friends. I finally understood the appeal and the connection that technology could provide.
I spent a few years working as a TV journalist, and an editor of a newspaper fashion column, before moving into my technical career. My decision was influenced by my father, who was a university researcher in physics. I was always curious about how things work. I was encouraged to undertake an engineering degree. In hindsight, the experience of working in the creative industry makes me look at problems and my work through a very different lens, not only with a technical focus but also a human view.
Since my career change, I consider myself a 'nerd at the core,' and I am proud of that. I am constantly fascinated by new technologies and how they can change our lives. I feel very privileged to work in this industry, as we can make the real changes that can impact so many people. I want to make sure my work makes a positive contribution to people’s lives.
I have two children who have made me rediscover the beauty of the world. As my appreciation, I teach them how to write code for fun. And that has become an enjoyable activity. Now I teach my children’s friends too! I see coding as a method to help children develop problem-solving skills, as well as exercise their imagination - children are so creative!
The nature of tech lead- being both “technical” and “leader” - means you need to be constantly learning, and it is never-ending. Often I am out of my comfort zone. I find myself needing to be on my toes to meet the challenges that arise.As one of the most experienced developers, I should be able to guide juniors, to suggest the best possible path. At times I do not have much knowledge about the programming language being used myself. But my experience and logical reasoning mean that I learn quickly. However, being a quick learner is not enough. More importantly, I need to be a good teacher. A good tech lead is a good teacher. I should multiply the knowledge in my team by teaching my colleagues. Teaching others makes you better at your own job and makes you more prepared to answer technical questions.
If a product owner plays the role of a mini CEO, a tech lead must be a mini CTO. When I am a tech lead in a team, I always imagine I am playing a role in a tech startup, which is my team and I. For example:
Let’s look through a different lens - as a tech lead if I have to tell my team what to do, I am failing, and I need to do something about it.I think as a tech lead, it is more important to build a high performing team than to focus only on good delivery, (although delivery is, of course, crucial.) A self-motivated team can evolve the architecture, can shape up the product and can challenge the norms so improvements can happen - and successful delivery is an outcome of a high performing team.
A good tech lead helps the team as a whole, but also individual members of the team to become amazing. A good tech lead understands individual’s goals and helps them to achieve their goals by:
On a recent project, I got to see how machine learning models were developed and how it was used for real-world prediction. It was all very exciting. Recently there were hackathons from the government and health sectors to use data and machine learning for building a better and stronger community and improving people’s lives. I think with the amount of data we have and continue to collect; machine learning is changing the world in a profound way.
Being an effective tech lead requires good consulting skills. The main focus of a tech lead is to delegate, mentor, and develop the team. It requires good interpersonal skills, problem-solving ability, analytical skills, flexibility, and the ability to cope with pressure and challenges. All of the skills make a good consultant. Also, coming in as a consultant, I can have access to stakeholders and information broader than just technical. Having the right business context really helps me make better technical decisions. I see being a consultant and a tech lead as complementary. One makes the other one a much easier job.
Disclaimer: The statements and opinions expressed in this article are those of the author(s) and do not necessarily reflect the positions of Thoughtworks.