Để trở thành một người lãnh đạo kỹ thuật, những điều sau đây là rất cần thiết
Khả năng cố vấn nhân viên ở tất cả các cấp thâm niên, từ một người đã rời khỏi uni được 3 tháng cho đến một người đã lập trình được 30 năm
Một kiến thức tốt về lĩnh vực phát triển của bạn. Điều này bao gồm: ngôn ngữ, khung, tiện ích, môi trường phát triển
Hiểu biết vững chắc về hệ thống quản lý vấn đề, kỹ năng quản lý dự án và kiểm soát phiên bản
Trở thành kẻ giết người
Biết cách tiến hành đánh giá mã kịp thời, những gì cần tìm và làm thế nào để giảm thiểu thời gian họ giữ và để thực hiện các thay đổi
Luôn cập nhật với những phát triển trong lĩnh vực phát triển của bạn. Ví dụ: nếu bạn không học các khung hoặc công nghệ mới từ .NET 2, thì hôm nay bạn sẽ thực hiện mọi thứ theo một cách khá ngược.
Cách viết bài kiểm tra đơn vị và giả, và để các nhà phát triển của bạn cũng viết chúng
Kiến thức về các mẫu thiết kế là gì và khi nào sử dụng chúng
Kiến thức về mùi mã là gì và làm thế nào để giảm thiểu chúng
Hội nhập liên tục
Khả năng lập kế hoạch dự án và phát hành
Tùy thuộc vào tổ chức của bạn và liệu bạn có kiến trúc sư về nhân viên hay không, có lẽ bạn sẽ cần phải biết những điều sau:
Khả năng thành phần hóa các dự án của bạn và chia nó thành các phần chức năng
Hiểu biết thấu đáo về bảo mật, bao gồm cách xử lý mật khẩu chính xác, tách hệ thống, bảo mật dữ liệu, v.v.
Các khái niệm doanh nghiệp như xe buýt dịch vụ, hàng đợi tin nhắn, BizTalk
Mẫu thiết kế doanh nghiệp
Kiến trúc dịch vụ / RPC như SOAP và REST
Các khung ORM như Hibernate, Entity Framework, Doctrine
Triển khai liên tục
Đám mây
Khả năng đề xuất các công nghệ chính xác để sử dụng cho một dự án. Điều này có thể khó khăn nếu nhóm / cửa hàng của bạn chỉ làm .NET, hoặc PHP hoặc Java.
Thiết kế ứng dụng theo cách mà các cải tiến trong tương lai sẽ dễ dàng được cung cấp
Nếu bạn sẽ trở thành một người quản lý phát triển thì bạn cũng sẽ cần:
- Kỹ năng phỏng vấn và cách tìm nhân viên phù hợp
- Làm thế nào để giải quyết vấn đề của mọi người với các thành viên trong nhóm của bạn
- Quản lý chỉ thị / mục tiêu kinh doanh và chuyển đổi những mục tiêu có liên quan thành thông tin cho nhà phát triển của bạn
- Khả năng ước tính thời gian cho các lập trình viên của các kỹ năng khác nhau
- Khả năng phân bổ nhiệm vụ cho các nhà phát triển chính xác dựa trên kỹ năng và khả năng của họ
Và cuối cùng, một số điểm được đề xuất khác:
Quản lý nhóm là một vai trò đầy thách thức. Bạn cần phải là người có thể trả lời bất kỳ câu hỏi nào, bạn cần biết sử dụng đúng công nghệ (trừ khi bạn có kiến trúc sư), bạn phải có kỹ năng quản lý con người và có thể tiếp cận được bởi nhân viên của bạn (đảm nhận vị trí quản lý). Ngoài ra, bạn cần có các kỹ năng ước tính chính xác để đảm bảo lợi nhuận của dự án và bạn cần có thể làm bẩn tay với mã của bất kỳ ai để xác định vấn đề và khắc phục nhanh chóng. Bạn cần tránh muốn tự mình làm mọi thứ và thúc đẩy môi trường làm việc nhóm không độc hại. Bạn cần liên tục đứng đầu trong nhóm công nghệ của mình và tìm hiểu những phát triển và kỹ thuật mới nhất, cũng như các xu hướng rộng lớn hơn trong ngành.
Bạn cũng nên thực sự biết ít nhất một nền tảng cơ sở dữ liệu và biết rõ về nó. Biết cách thực hiện sao chép, các thủ tục được lưu trữ, cách trình tối ưu hóa truy vấn hoạt động và cách thiết kế một lược đồ đúng cách và các trường để lập chỉ mục.
Bất kể vị trí chính xác, bất kỳ vai trò cao cấp nào cũng đòi hỏi bạn phải có khả năng giao tiếp hiệu quả. Nếu bạn không phải là một diễn giả tự tin, hãy nhìn vào việc làm một cái gì đó như Toast Masters (nói trước công chúng). Tìm hiểu làm thế nào để thực hiện và giữ liên lạc bằng mắt. Hãy tự tin. Ăn mặc phù hợp cho vị trí. Dẫn bằng ví dụ.