Engineer to Sr. Engineer/Tech Lead?

“I am currently a Software Engineer and aspire to become a Senior Engineer & Technical lead. How do I approach it?”
One of the engineers recently asked me this question, and I will share my learnings and approaches that may help someone in their career. These approaches are things that I learned from people who I worked with in my career, mentors, etc.
- Get stuff done and enable your peers: A tech leader is accountable for software delivery. It would be best if you consistently delivered value and quality outcomes. Keep delivering stuff and keep taking on new challenges.
- Discuss your goals and work on the development plan: It is essential to discuss your goal and aspiration with your manager and ask for support and sponsorship if you want to become a tech leader, then you need to have an open conversation and work with your manager on your development areas and be open to learning and improving.
- Be proactive: Best tech leaders identify problems and provide intelligent solutions and approaches. They take ownership of the issues and lead toward solutions. There will be many opportunities to improve the software development process, look for the valuable ones and keep proactively suggesting and improving the practices, enabling rapid delivery and advocating knowledge sharing.
- Understand and be aligned to vision and mission: Ensure you are aligned to organizational vision, strategy, product vision, and team mission. Look at the big picture, and think out of the box. Look one step up. If you are looking at your story right now, start looking at other peer stories, the backlog, the roadmap, the initiatives, etc.
- Solve many problems: Explore the capabilities, processes, products, and services your team owns, take new challenges and increase your depth and breadth of domain knowledge & skills needed. This will undoubtedly take time, but you need to keep doing it.
- Become comfortable with uncertainty and be open to change: Senior Engineers and Tech leaders are accountable for the software delivery, be ready for uncertainty on requirements and needs on new initiatives, and explore and identify things with the available information.
- Communicate with simplicity and care: You need to be good at communicating a technical solution to a business audience, doing presentations, giving technical pitches to leadership, demonstrating design diagrams, taking interviews, and providing feedback.
- Look for a mentor and mentor others: Explore and find a mentor who can guide you to become a better engineer, and ask for guidance. Try also to mentor interns or junior engineers to support their development. Sharing your knowledge helps you improve more.
- Be open to contributing outside your team's scope: Look for opportunities to contribute cross-team, grow your technical leadership network, and manage your time efficiently.
- Growth mindset: Accept feedback from your peers or manager, take time to understand it, and work on improving. Feedback is a gift. Try to be uncomfortable, and keep learning something new every week, be it skills, processes, practices, documentation, etc.
- Build Trust: Build trust with your management, leadership, stakeholders, customers, and team members. Be accountable and reliable to people who trust you.