My first experience as a Team Leader
Minh-Tri Le on Jul 13, 2024
Hello everyone! After being away from writing for a while, I'm back and ready to get back into the swing of things. After a few years working as a Team Leader, I've learned a lot and I am very excited to share some of this journey with the community. I hope this post will be valuable to everyone.
Work with people - The importance of Soft Skills
When I become a web developer a few year ago, I didn't understand why people needed so much time to talk in meetings instead of just working on tasks. I liked do anything alone, focus on my work and solve problems until they were done. This approarch helpe me learn quickly and a lot during the first few years of my career.
As the company grew, I got the chance to become a Team Leader. I love learning new things, so I accepted the role and started this new part of my career.
As a Team Lead, things are different. You don't just work alone or with a mentor anymore. Now, I am responsible for leading the team, developing, documenting and even doing some architecture work. It's important to know each team member well, their strengths and weaknesses—and how to guide them to improve themselves and identify who is best suited for specific tasks.
Sometimes, this involves meetings or conversations where we listen and learn together, ensuring progress and making sure everyone on the team is happy with their work. This way, the project is completed on time and with satisfaction from the team.
I learn a lot in this, For now I don't think become a Team lead is a pain point and hard to handle anything or difficule working with people like before.
Estimate for everything
When I took on my first project, my boss knew that I hadn't previously led any other project. I just participated in the development and worked out some things that would facilitate development in terms of communication with management. The first question he asked me was: "How many people and what kind of will be enough to complement the project." I didn't know the answer right away, it was a very complex question.
Because the project was only in the outline, we had no idea of the stack, how much time it would be take to complete each task and other metrics of interest to the people above. It time is experience speak, I also did a complete reseach to be able to deliver the estimate the next day, as detail as I can. And lucky my first project as a Team leader delivery on time with client feedback happy.
After this, I kept learning and quickly adapted to new projects. I got better at estimating and giving advice to my boss about new projects and technology stacks. Estimating everything—from maintaining tasks to developing websites—became a key part of my job. I learned to consider every detail to make sure all parts of the project were covered. This helped us set realistic timelines and finish projects successfully.
Strategy thinking
I know there's a lot of discussion about the meaning and classification of terms related to experience levels, like "senior." Some say that "senior is defined by years of experience", others claim that "in some companies, you gain senior experience after a year". There are also those who say that "there is no clear distinction between junior and senior" or that "seniors only do code reviews and approve PRs". Some of these statements are comical, others have a grain of truth.
In my opinion, I think the key difference between a junior and a senior developer is strategic thinking. Here’s how I understand this distinction:
Being a senior is not just about technical knowledge, although that is very important. A true senior, or at least a good one, has Strategic Mindset. They can solve complex problems in both code and system architecture. But also have Visionary Thinking is the ability to conceive a clear and compelling vision for the future. This involves understanding both the current landscape and anticipating future trends. Visionary thinking drives innovation and sets the direction for the organization. . These are crucial aspects of being a senior developer.
Conclusion and a look at the past
I started my career as a development intern and, interestingly — and you might find it a little contradictory on my part — I didn't have any concrete experiences.
Much of the experience I gained came from personal projects and research by myself. It was a gradual process until I realized that my skills had evolved since those early days.
But yes, I worked intensely as a developer at different levels and had the opportunity to meet different types of senior professionals throughout my career:
- The very competent and effective senior, but uncommunicative, who solved problems without providing explanations about his approach.
- The senior is excellent at communication and teaching, but often overwhelmed with urgent tasks and no time to teach.
- The senior who was enthusiastic about over-engineering and centralizing technology, but who met deadlines and delivered what he promised.
The most important thing is that, despite their flaws (though balancing demands is very difficult), all of these professionals had something valuable to teach. These experiences helped shape my career and gave me a clear view of what works and what doesn't in systems development.