Table of contents
Being a developer in a high pace startup environment, it is obvious that you might have spent time thinking about what would be the optimal career path for you and what you can do to get there. From a survey of about 50 engineers, we noticed that some of the most common questions were around the transition from a senior engineer to a tech lead; and being successful as one.
Last week, I spoke with Natraj Choudhury & a few other tech leaders discussing these questions. We discussed the evolution of a developer’s journey into a tech lead, the practices that could help one progress further ahead in the path. Natraj has over 2 decades of experience in building products and spent more than a decade now with tech startups. Before becoming the CTO of a fast-growing startup Zolve, Natraj was an Engineering Leader and Chief Architect at Ola, India’s largest ride hailing service.
Here are some of the key take aways from the conversation:
Becoming master of one’s craft: Be it frontend, backend, DevOps or data engineer, having a strong grasp of your skillset and proving it as an IC is essential before trying to jump to the wagon of “managing people”. Having that experience helps in building trust and empathy with your junior engineers.
Talking to customers: As an engineer, it is easy to drown into the rabbit hole of “solving a hard problem”. But as you evolve into more senior roles, you realise the most critical part of being a good engineer is to ensure that the customer’s use-case/needs are met. The practice of talking to customers to understand their needs, their feedback and challenges helps get a strong grasp of the product and reduce the whispers/context gap.
Data-driven decision making: Being proactive about tracking impact of the changes on metrics and goals helps a lead take the most efficient path to reach business objectives. For instance, if you are working on an allocation or business logic that could impact a critical flow, it becomes paramount that every decision in the business logic was written to maximise returns for the company. This data-led objectivity also helps in ensuring the maker-checker balance.
Be curious about the big picture: As an engineer, in most scenarios, you are not the smartest person in the team — there are always senior engineers with more or at least “different” experience. Asking questions on design decisions helps you understand constraints, design choices and situational context. If you’re working with any open source tool, spend time on the codebase to see how other (good) engineers go about building complex systems.
Be curious about the big (business) picture: Two ways here: (a) Understanding the different what-ifs and tradeoffs that you’re making in use-cases / experience with the current scope. (b) Talking frequently with folks in the office beyond your team / other engineers -- might be unsaid but this gives a lot of tribal knowledge about challenges.
Getting non-technical mentors: As an engineer, you might have senior team members who give you frequent feedback on your technical capabilities. At the same time, it is critical that you spend time finding a good non-technical mentor/advisor to you earlier in the career. This helps in building the acumen for understanding business, product & stakeholder management.
Building trust: Trying to grow non-linearly / fast requires being able to pick up projects that might be beyond your current capability. To pitch yourself to pick one such project, proactively participate to pick projects beyond your comfort zone. While these do have certain amount of risk, putting in the effort to execute even one such project could give a sense of confidence & trust in the team to let you take independent decisions in the future.
Hope you enjoyed reading. For any more topics or further discussions, feel free to DM me. To get notified for future webinars, sign up for this newsletter.