When I received an offer to lead a team developing a new module for a production ERP, two different paths emerged in my mind: deepening my existing technical expertise to become a 'Technical Lead,' or moving into an 'Engineering Manager' role by managing a broader unit. This decision was one of the most significant steps I took in my career, and today, I want to share my observations and 5 steps to help those at a similar crossroads define their career path. In this post, I will discuss the unique dynamics of both leadership roles and practical approaches to help you understand which one excites you more.
What is Technical Leadership (Technical Lead) and What Does It Entail?
Technical leadership refers to a role with deep technical knowledge that defines and guides the technical direction of a team. A Technical Lead typically continues to write code, makes architectural decisions, mentors team members technically, and is responsible for the technical quality of the project. In this role, knowing how systems should work down to the finest detail and being able to solve complex technical problems are critically important.
In my own career, especially while working on a production ERP, I frequently took on technical leadership roles in areas such as designing the architecture for new features, resolving performance bottlenecks in existing systems, or managing challenging integrations. For example, solving a WAL bloat issue in PostgreSQL or optimally configuring Redis's OOM eviction policy can be part of a Technical Lead's daily tasks. This role requires mastering technical details and clearly communicating them to the team; this can often be as challenging as explaining how a complex system works from scratch to a new developer.






