Thursday, October 06, 2005

Talking about software company structures – Part 2

Yesterday I talked about the role of engineer. Today, I’ll talk about the role of “Lead”. A lead’s responsibility is to “own responsibility of a project level deliverable” In a small scaled company a Lead would own the tasks of technical deliveries, assuring the quality of the technical deliveries, communicating with the senior designations and customers with regards to the technical verifications and status updates and setting expectations.

A technical lead should be well competent in technology and should poses good leadership skills. He/She should also be a fluent communicator. Responsibility of component collaboration level designing and over seeing the specialized designs of engineers lies with the Lead. He/She should have a thorough understanding of the technologies and architectural frameworks and designs used in the project. He/She should mentor engineers and harvest a healthy productivity from them. Involvement of a Lead in coding could be less due to these responsibilities. But he/she should be able to mange time well and contribute to the project as much as possible among other tasks.

This role also could be expanded in to three designations as we discussed for the engineer role. An assistant/associate lead would lead a 5~10 member project; a Lead would own a 10~20 member team while a Senior Leads could lead a much larger and complex project and also empower themselves to act in higher roles.