Focus. A great team manager must be hyper-aware of the goals that the entire team must achieve, while working to make sure every member's individual aims are aligned to that overall group effort. A deep understanding of the client or project will go a long way to make sure the solution built is in line with the most important requirements, and that scope creep is avoided!

Initiative. Anyone involved in leadership must naturally take charge. If you want to manage a team, you need to be able to take quick decisions without consulting anyone else, or explore possible avenues which have not been considered yet. A developer who takes initiative and makes suggestions has a high chance of being a team leader further down the line.

Supportive. A competent manager is all about enabling the team. As a team lead, you understand that you cannot solve problems in a vacuum, so you need to develop your people by guiding and coaching them to grow and improve, and constantly create new synergies with other teams. Always take time off to speak to individual team members and understand what they're struggling with, and notice what they really perform well at so you can delegate future tasks of that type to them. Another style of supportive team management that works is regular "huddle" meetings: these are short (15 minutes or less), regular (daily or almost), and let team members update each other on progress.

Leadership. Many people forget that leadership is not just about assertiveness. Your true value will lie in how well you work with others. Work on your communication skills: you need to excel at breaking down complex concepts into actionable instructions so that they are understandable by both technical and business users. This is a skill that gets you to become a go-to person in those important projects. It would also be helpful to work on your confidence, as leaders cannot afford to lose control of their own teams. One technique that almost always works when your team seems to be losing confidence is to challenge them!

Creativity. Do not limit yourself to the approaches, technologies and methodologies that are familiar to you and your team. If you show the ability to think creatively from your early days, your rise to leadership will be faster and you will be more effective in the role. Constantly research new technologies, and focus on the needs you're helping to solve, rather than the nitty-gritty of project spec sheets. This will allow you to go beyond arbitrary limits and truly challenge the limitations of your team.

Milestone-driven. In an ideal world, we would be able to create projects on our time. However within a highly competitive industry, team leaders are expected to deliver and respect agreed time frames and budgetary constraints. With increased responsibility, you will be directly accountable to clients and managers.. One way to accomplish this is to develop a deliverables mentality and culture. For example, you can start ending your emails with what you expect to accomplish and what others need to accomplish so that expectations are met. You might also look into implementing project management methodologies that have been popularized by hugely successful teams at companies like Google - for instance, using OKRs to make sure all the team is in sync.

Vision. Finally, you should be the one who looks beyond the next few months and who comes up with ideas that are challenging and exciting. While being realistic is paramount, you could be the next leader to push the boundaries and accomplish more than what is expected. Having a vision is not enough, however. You also require clarity. Deeply understand your team's medium to long term goals and communicate them to everyone around you. Turn your work from a job into a mission, and you will motivate others and inspire them to act by following your lead.

Combining all these traits together with your experience and know how will make you an invaluable asset to any project. Remember to never stop learning, even if you make it: all great leaders have mentors of their own.