The teams in web development are usually grouped by dedicated skills to implement the product. Still, one has to rule them all (actually, one has to take responsibility for the project at hand). Before you figure out who should be a leader in your team, I’d love to talk about the traits and skills that, in my opinion, a good team leader should have. Team values that potential leaders should know about and cherish. And I will share my experience as a Team Leader here at Bejamas, working on Jamstack projects, hoping that you might encourage yourself to try leading a team after reading the post.
The pessimist complains about the wind. The optimist expects it to change. The leader adjusts the sails. John Maxwell
This quote explains what being a leader means better than any definition that you can find at Wikipedia. It points out that the team leader’s most crucial role is spotting his team members’ good sides and showing them how to use them to succeed. Think of the team leader as a GPS to find the team members’ best skills and use them for the greater good.
Join Bejamas newsletter!
Get the exclusive Jamstack web dev case studies (and more) in your mailbox!
This skill is undervalued by many of us. As a leader, you have to clearly and precisely explain everything connected with the project, even if you think some parts are too obvious.
And listen to your team. You’ll be surprised by how many good suggestions or ideas the team has. A great leader doesn’t put himself above the team; instead, he works with them and encourages them to share their thoughts with him.
The leader should inspire his team. I don’t mean pep-talk slogans like: Yes, you can do it! Or You are the best! React quickly to a decrease in the productivity of your team and find the cause of it. In most cases, a difficult task is a cause. The role of the leader is to help find the working solution.
What may help? Do a code review, sending extra materials, or look for and show similar implementations. But let them finish the work by themself. When they finally achieve it, their self-esteem will increase significantly.
We all know that you have to be thinking outside of the box to understand your clients’ needs and fulfill their expectations, right? Please take a look at the short satirical video The Expert for what I mean when I say creativity.
A positive attitude can keep your team stay motivated and finish the work. Not every ticket, not every project brings you success at the beginning. Sometimes we fail. It happens. But the worst thing you can do is to give up. That should never happen.
Try to see positive aspects in your failure. There is always a lesson to learn from your mistakes and the opportunity to gather a team and do a brainstorm together.
The leader is responsible for both success and failure. It is great that you know how to guide your team to find positivity in a failure. But your work doesn’t end there. You are responsible for the team’s mistakes. You will have to take the blame. It is evident that the more mistakes your team makes, the higher the level of customer frustration will be. And this pessimistic accent leads us to the last skill.
We all have strict deadlines for projects. And sometimes those deadlines are impossible to achieve. When this happens’ we end up with an unfinished project and a frustrated client. When delays are unavoidable, the best policy is honesty.
Don’t be scared to inform the client regularly about delays or unforeseen issues. This gives the client opportunity to plan and reschedule the planned release.
To me, these are the traits of a dedicated team leader. But you can’t be a leader without a team. Knowing what each team member brings to the table is key to a functional group. And it is the team leaders’ job to find that out.
A lot can be achieved by working in unison with the team and sharing your knowledge and experience with them.
I won’t be repeating myself; I’ll sum up what I already said: a leader should encourage the team to share their thoughts with no stress.
Get everyone on your team engaged in every part of the project. The more they are involved, the better the work of your team will be.
The frontend world is a dynamic place, and to be one of the best leaders/teams/companies, you have to keep up with the trends. For us at Bejamas, discovering and sharing new features and new technologies is a huge part of the learning process. Personal development is correlated with creativity, and being open-minded to trends and changes allows us to find better solutions for our clients.
All members of the team should be working on achieving one common goal together. Take code reviews, for example. It would be best if you always had your code implementation reviewed. Not only a fresh pair of eyes may notice errors in code or approach, but in doing so, you’ll have an opportunity to learn and evolve your craft.
Enough theory. Let’s focus on the more practical side and show some examples.
I’ve started working for Bejamas as a Junior Frontend Developer almost three years ago. Since the beginning, I’ve worked on several projects, big and small, with everyone in the company and in different roles and seniorities. All of that helped me experience the difference between the individual approach to development and working in the team firsthand and understand the role of a leader and what is needed to run a project from start to finish.
In my opinion, direct contact between the developer and the client is the best path to successful communication. Usually, the client doesn’t understand how our work looks or what needs to be done to fulfill their expectations. We noticed that the more we describe our work, the more client understands it. It falls on the team leader to communicate this with the client.
Once the client understands the development flow, his requirements (the project’s scope) are better communicated and thus better prepared and estimated.
The Leader in Bejamas is also involved in the work of his team daily. We are available for our developers’ questions and feedback. We are also responsible for code reviews.
We are tracking project with the Jira boards in Scrum or Kanban. Every project is prepared by our Project Managers in collaboration with the client. Project Managers are responsible for filling our boards with tasks, but the leader’s role is to estimate those tickets. This is a responsible job because we plan the project deadlines and resources based on those estimations.
In code reviews, we are not only focused on developers’ mistakes, but we are trying to show them how they could have approached the problem more efficiently or how they can improve their code. Sometimes a small change (you may think - not worth doing it) may improve the website performance or decrease your code writing time.
Depends on the project status, sometimes devs have less work to do. In this case, they may be asked to jump into another project that requires much more effort. A leader’s role is to keep the code consistent even if we change devs on the project. Every developer has its own code preferences, but we are trying to unify or standardize them, so the project code looks clean and understandable for everyone.
The Leader is taking responsibility for the project. That is why we have to keep an eye on how our team is doing. If there is a delay or if they have some blockers.
For example, not every client is aware of how complex a feature they want to add to a released project is. Or what kind of impact it may have on the current implementation. Sometimes the small change from the client’s perspective may require a refactoring of the project. Leaders’ job is to think outside of the box and imagine all possible risks based on their requirements before the implementation. And give an opinion and idea on how not to get into the noticed risks.
I know it seems to be difficult, but if you start with a small team, e.g., with one or two people, you’ll have an opportunity to practice those skills step by step. I mentioned it before, but keep in mind that my perspective is based on work with Jamstack projects. The role of a Leader might be more complicated in different architecture or different environments. To sum up, I would like to share some tips based on what I have written above and based on our experience in Bejamas.
- Be involved in the client’s discussion and project decision-making process.
- Provide and receive regular feedback from the client.
- Be engaged in the client’s project.
- Don’t be scared to suggest more complicated features if those features are more useful from your perspective.
- Report the actual time you spend on the task, even if you had to spend more than estimated.
- Give the client access to your Jira to add comments on your tickets and see your work’s real progress.
- Update your progress. For example, update the status of the ticket in Jira or GitHub.
- Communicate in team channels or on meetings, not in private messages. This will help all the team members be up to date with project requirements.
- If you are working in multiple time zones, as we are, I recommend making a rule of everyday summaries at the end of the day. Your team members (and you) will write 1-2 sentences about what they did achieve and what not. I know you will say we have standups. But if there is a big-time gap between team members. Thanks to those small summaries, we can react quickly in case of any trouble.
- Try to write a good code, the kind that will make sure you do not receive tickets after the QA tests.
- Review your code before assigning it to the reviewer. This helps eliminate some of the mistakes and saves time you’d spend on back and forth messaging.
- Code review is your friend! This is a place to learn not only for developers but for the leader too.
As you can see, it is not that complicated to lead a team in web development.
If you have never been in the team leader’s shoes, I highly recommend you to ask your Manager for a small project to lead. Being a leader teaches you how to conduct people and how to be a better and more efficient team member.