Nếu bạn đang có nhu cầu học kỹ sư phần mềm (Software Engineer) và có dự định phát triển với nghề. Bạn sẽ cần biết lộ trình, con đường phát triển. Và trong con đường thăng tiến đó, bạn có thể sẽ may mắn trở thành Tech Lead. Vậy Tech Lead là gì? Tech Lead trông như thế nào? Vai trò và trách nhiệm ra sao? Làm sao để trở thành Technical Leader? Bài viết sau của chúng tôi sẽ giải đáp những câu hỏi đã được nêu ra.

Tech Lead là gì?

Tech Lead (Lead Engineer) xuất thân là một Software Engineer (kỹ sư phần mềm). Họ chịu trách nhiệm là một team leader dẫn dắt đội nhóm và điều chỉnh hướng kỹ thuật, các công việc được bên trên giao xuống. Tech Lead sẽ theo dõi, đưa ra những giải pháp tối ưu, xây dựng tầm nhìn, giải quyết bất đồng và quản lý toàn bộ chất lượng kỹ thuật.

tech lead là gì
Tech Lead là gì?

Một người Tech Lead giỏi là người có khả năng đưa ra những phương án kỹ thuật phù hợp, hiệu quả. Họ dứt khoát, chấp nhận đầu tư vào công cụ cải tiến liên tục, hệ thống phát triển nhằm đáp ứng nhu cầu công việc, hỗ trợ thành viên trong team đi đúng hướng, đạt hiệu quả công việc cao.

Không chỉ ở vai trò cố vấn, cung cấp, hướng dẫn team vào guồng, Tech Lead còn là người hỗ trợ trong kế hoạch phát triển sản phẩm – quy trình, hỗ trợ team phản hồi với các bên liên quan về system, technical. Thậm chí, họ còn phải thảo luận, hỗ trợ các PM, team leader để đảm bảo rằng các dev team và technical được lựa chọn phù hợp với dự án.

Vai trò & trách nhiệm của Technical Lead

Về vai trò

Trong team, tùy thuộc vào quy mô từng dự án và có 1 hoặc nhiều vị trí đảm nhận vai trò quản lý. Đối với những dự án lớn, trong 1 team có thể có nhiều người đảm nhận các vai trò khác nhau như Technical Lead, Product Manager, Engineering Manager,… Mỗi vị trí sẽ có trách nhiệm riêng của họ.

Ở trường hợp này, Tech Lead thường có trách nhiệm toàn bộ về mảng phần mềm. Họ sẽ tham gia nhiều hơn vào các cuộc thảo luận, quyết định về cấu trúc code, quản sát, quản lý chất lượng codebase và sự phát triển kỹ thuật của team.

Có thể thấy, dù trong nhóm có nhiều vị trí khác những Tech Lead vẫn giữ đúng chức năng là điều hướng, lãnh đạo về mặt kỹ thuật của team. Một Lead Engineer giỏi sẽ đồng hành cùng nhóm, code và hiện thực hóa những ý tưởng. Đồng thời, họ sẽ giải quyết vấn đề, xác định rủi ro và tạo sự tin tưởng, đoàn kết của team.

Về trách nhiệm

Tech Lead sẽ làm việc với tư cách là người quản lý dự án, sản phẩm ở mặt kỹ thuật cho team phát triển hệ thống phần mềm hay hệ thống máy tính. Họ sẽ trực tiếp làm việc với giám đốc điều hành hoặc khách hàng. Từ đó, họ xác định được yêu cầu về thông số kỹ thuật cho hệ thống, đảm bảo hệ thống mạnh mẽ, đáp ứng nhu cầu về các quy trình kinh doanh của khách hàng.

trách nhiệm của tech lead
Tech Lead có trách nhiệm quan trọng đối với các dự án

Tech Lead cũng là người phát triển sản phẩm sao cho phù hợp kiến trúc công ty hoặc theo đúng yêu cầu khách hàng. Họ làm cho việc tích hợp trở nên trực quan, đảm bảo hoạt động đồng bộ. Bên cạnh đó, họ cũng cùng tạo ra các sơ đồ toàn bộ kiến trúc mạng.

Cụ thể, Technical Lead sẽ thực hiện các trách nhiệm sau:

  • Xây dựng quan hệ với các nhà cung cấp phần cứng và phần mềm
  • Phát hiện những hạn chế với kiến trúc kỹ thuật và tiến hành dẫn dắt team sửa chữa chúng.
  • Sử dụng Apex hoặc Java để xây dựng phần mềm.
  • Outsourcing các task phát triển nhất định cho công ty đối tác.

Các kỹ năng cần có để trở thành Technical Leader

Ngoài những kỹ năng của một team leader, người quản lý cần có (như kỹ năng quản lý, giao tiếp, lãnh đạo, đoàn kết thành viên, tổng hợp thông tin, nhanh nhạy trong mọi tình huống,…) thì Tech Lead cũng cần trang bị cho mình đầy đủ các kiến thức và kỹ năng chuyên ngành phụ trợ cho công việc tốt hơn như:

Development

Develop là nền tảng của Tech Lead, họ cần biết cách code và nhận ra được đoạn code đó có chất lượng và đêm tới hiệu quả hay không. Và lead cũng phải là người giúp đỡ, gánh vác cùng team nếu có bất kỳ vấn đề trục trặc nào về kỹ thuật xảy ra.

Architecture

architecture

Một Tech Lead cần hiểu sâu rộng hơn về phần mềm, biết cách làm sao để xây dựng hệ thống tổng thể, phát triển, quản lý và vận hành chúng trong môi trường sản xuất được thuận lợi nhất.

Leadership

Leadership là điều cực kỳ cần thiết. Mọi quyết định, phương hướng bạn dẫn dắt cả đội đi có đạt hiệu quả và thành công hay không, phụ thuộc vào leader. Cả đội có đồng lòng, có trách nhiệm công việc, có thực hiện tốt hay không, ngoài tính tự giác và trách nhiệm cá nhân, còn phụ thuộc vào người dẫn đầu. Kỹ năng lãnh đạo tốt giúp tech lead huấn luyện, tạo sức ảnh hưởng và ủy quyền thành công cho người đứng đầu.

Sự khác biệt Tech Lead và Engineering Manager

Cũng đều là một vị trí quan trọng trong đội kỹ sư phần mềm. Nhưng 2 chức vụ này lại có sự khác nhau. Nếu Engineering Manager thiên về quản lý con người, thì Tech Lead lại thiên về trách nhiệm hệ thống hơn.

so sánh giữa 2 ngành nghề
Tech Lead và Engineering Manager khác nhau như thế nào?

Trong những công ty, nhóm nhỏ, Tech Leader có thể đảm nhiệm nhiều chức vụ, trong đó có cả Engineering Manager. Nhưng trong một hệ thống và đội ngũ phát triển có quy mô, độ phức tạp cao thì sự phân hóa trách nhiệm 2 vị trí càng rõ ràng.

  • Tech Lead giỏi về kỹ thuật và đổi mới, có trách nhiệm tích hợp kiến trúc, hệ thống, thực hiện cố vấn công nghệ áp dụng và liên kết, thực hiện trình bày thiết kế hệ thống, coding từ 30 – 70%, tiến hành điều hướng Patterns, Platform, Practices; theo dõi số liệu, giám sát và xử lý phần hệ thống kỹ thuật.
  • Engineering Manager lại thiên về lập kế hoạch nghề nghiệp, huấn luyện, lập kế hoạch để thuê nhân viên, phân phối team, tham gia các quyết định kỹ thuật, codein < 30%, tập trung vào chỉ số team và năng suất cũng như bảo vệ quyền lợi của team hơn.

Nói tóm lại, Engineering Manager sẽ thiên về quản lý con người trong team hơn, còn Tech Lead sẽ quản lý, dẫn dắt team thực hiện công việc.

Năng lực của Tech Lead

Để có thể trở thành một Technical Leader, bạn cần đảm bảo sẽ có đủ năng lực như sau:

Về Technical

  • Scope: Tech Lead sẽ hiểu rõ về source code, design pattern, architecture, domain,… cách chúng hoạt động như thế nào. Họ cũng có khả năng để build architect một product hay service theo yêu cầu khách hàn. Họ tham gia trao đổi để đưa ra những quyết định kỹ thuật tốt nhất.
  • Hoạt động kỹ thuật: Cần hiểu sâu và cải tiến không ngừng hiệu quả cho source code theo quy mô. Dù thay đổi theo bối cảnh của product hay services, nhóm/tổ chức,… Nhưng Tech Lead hiểu và áp dụng quy trình, nguyên tắc, theo dõi, đánh giá và liên tục điều chỉnh sao cho product hoặc services đạt hiệu quả.

Về quản lý dự án/con người

  • Scope: Tech Lead cũng cần có khả năng phân chia task hiệu quả thành các phần khả thi cho 3 người dev trở lên (từ dựng cấu trúc, chia thành từng phần,…). Lead sẽ xác định phạm vi, trình tự develop hiệu quả bao gồm cả tạo estimate task thành phần nhỏ đủ ước tính hiệu quả, cân nhắc xem ai hoàn thành tốt công việc và thực hiện trong bao lâu. Họ cũng cần phải phối hợp ăn ý với dev và team leader khác để thống nhất công việc.
  • Estimate: Lead Engineer thường đạt từ 70 – 80/150% trong việc estimate chính xác tasks/stories của họ và hỗ trợ người trong nhóm hoàn thành tốt công việc. Lead cũng hiểu target xác định đúng như thế nào, viết ra sao và dễ hiểu cho các thành viên khác. Tech Lead ước tính được thời gian hoàn thành, đáp ứng tiêu chí DoD của team, bao gồm cả việc xem xét cả quy trình hoàn thành chứ không chỉ là code.

Tech Lead luôn cải tiến team liên tục

teamwork
Tech Lead luôn là người cải tiến, dẫn dắt team đi lên
  • Tech Lead luôn không ngừng đưa ra những ý tưởng nhằm nâng cao hiệu quả công việc team. CEO Matt Long của Groove Technology cho biết rằng Tech Lead có trách nhiệm xem xét tổng thể, phát hiện hạn chế và đưa ra những đề xuất. Họ hiểu biết sâu sắc về product hay services, business và users mà nó hoạt động.
  • Họ cũng dẫn dắt từng thành viên trong team để phát triển đi lên. Họ mở những cuộc họp, sharing, training và thực hiện mọi điều để team cùng phát triển.
  • Tech Lead tiến hành phát triển đội nhóm thông qua kỹ năng giao tiếp, lãnh đạo và quản lý của mình.

Có thể thấy, cũng như nhiều Leader ở các lĩnh vực khác, Tech Lead cũng sẽ là người có trách nhiệm dẫn đầu đội kỹ sư phần mềm, cùng team thực hiện tốt công việc, là người chỉ đạo, cũng là người chịu trách nhiệm trước lãnh đạo và khách hàng. Họ hiểu và gắn kết thành viên team, tạo thể thống nhất team với lãnh đạo và khách hàng.

Xem thêm: