Ai nên đào tạo lập trình viên mới? Lập trình viên cấp cao hay cấp cao? [đóng cửa]


15

Trong nhóm của tôi, chúng tôi thường yêu cầu các lập trình viên cao cấp nhất đào tạo / cố vấn cho các lập trình viên mới toanh. Tuy nhiên, chính những lập trình viên cao cấp này là những người đang làm phần lớn công việc thực sự quan trọng.

Tôi đã cố gắng tranh luận với người quản lý của mình rằng thật hợp lý khi có các lập trình viên cơ sở, những người đang thể hiện năng khiếu cao, đưa các lập trình viên mới dưới cánh của họ. Trước hết, nó sẽ giải phóng các nhà phát triển cao cấp để làm việc với các sáng kiến ​​quan trọng hơn (không phải việc cố vấn không quan trọng). Tiếp theo, nó sẽ mang lại cho các lập trình viên cơ sở một chút tự hào về công việc của họ rằng họ sẽ được tìm kiếm cho một trách nhiệm như vậy và họ có thể học được điều gì đó trong giảng dạy. Cuối cùng, nó sẽ tiết kiệm tiền của công ty, vì các nhà phát triển cao cấp có chi phí lớn hơn nhiều so với đàn em.

Ông chủ của tôi đã thất bại trong việc bị thuyết phục vì đây là cách nó đã làm việc với đội ngũ này kể từ đầu thời gian, rõ ràng. Giả sử rằng quyết định đã được đưa ra rằng một số loại đào tạo / cố vấn là bắt buộc, bất cứ ai cũng có thể cung cấp cho tôi một số lý lẽ tốt hơn hoặc cho tôi biết tại sao tôi sai? Nhóm của bạn làm gì?

** Tất cả chúng ta đều có thể đồng ý rằng thâm niên không nhất thiết phải biểu thị năng lực nên chỉ giả sử bởi "lập trình viên cao cấp" tôi có nghĩa là "lập trình viên hàng đầu".


1
Tôi ước rằng tôi đã đặt câu hỏi này là "Lập trình viên hàng đầu so với lập trình viên trung cấp đến trung cấp". Một số câu trả lời tuyệt vời mặc dù.
smp7d

Bạn có thể chỉnh sửa nó mà bạn biết ...
ChrisF

ha, sẽ không công bằng cho những người đã trả lời.
smp7d

Tôi nghĩ bạn đang nói về tiêu đề ...
ChrisF

Chà, nếu họ luôn làm theo cách đó thì đó phải là cách đúng đắn để làm mọi việc.
SoylentGray

Câu trả lời:


11

Tôi đã có tình huống này tại một công ty trước đó. Các nhà phát triển cấp cao, chỉ một số ít, đã cố vấn cho số lượng các nhà phát triển cơ sở ngày càng tăng đến mức họ không thể thực hiện các nhiệm vụ khác được giao cho họ. Sau một thời gian, các nhà phát triển cấp cao đã đưa nó lên với người quản lý của chúng tôi và quyết định rằng các nhà phát triển ở đâu đó giữa đàn em và đàn anh sẽ đóng vai trò cố vấn nhưng đối với các vấn đề khó khăn, họ có thể hỏi các nhà phát triển cao cấp.

Nó làm rất được việc. Trước đó, một số nhà phát triển cấp cao đã bắt đầu tìm kiếm công việc mới vì họ không bị thách thức trong công việc. Sau đó, họ đã có thể làm việc trên các tính năng mới và hoàn thành công việc. Các nhà phát triển cấp cao của bạn nghĩ gì về tình huống này?

Theo quan điểm của tôi, trở thành cấp cao không chỉ là về chuyên môn trong lĩnh vực, tiêu đề trong phần chân trang email của bạn hoặc trong bao lâu bạn đã làm việc. Đó cũng là một suy nghĩ, để giúp đỡ và hướng dẫn các nhà phát triển cơ sở. Và cách nào tốt hơn để có được nhiều nhà phát triển cao cấp hơn trong một nhóm hơn là để cho những người không quá cao cấp làm cố vấn?


2
Điều này nghe có vẻ rất giống tình hình hiện tại của tôi.
smp7d

21

Không phải mọi lập trình viên hàng đầu là một giáo viên hàng đầu. Tôi sẽ khuyên bạn nên thực hiện đào tạo bởi ai đó có thể giải thích và người có cái nhìn tổng quan về "môi trường" của công ty bạn (những thứ kỹ thuật, nhưng cũng có tổ chức như các liên hệ).


chắc chắn đúng, nhưng câu hỏi đúng có thể là "những người cao niên về mặt kỹ thuật này thậm chí còn cố gắng để được hỗ trợ nhiều hơn và dạy ít kinh nghiệm hơn?". Tôi nghĩ rằng họ đang thiếu một phần quan trọng của công việc. Không ai trở thành tiền bối, tôi đoán vậy.
zeroDivider

7

Tôi đang nhắc lại một số điều đã được nói nhưng tôi có hai quan điểm.

Kinh doanh: Là một doanh nghiệp, bạn muốn năng suất và rủi ro thấp hơn. Mặc dù các nhà phát triển cao cấp đang thực hiện phần lớn công việc, bạn muốn họ chuyển kiến ​​thức của họ về hệ thống xuống để giảm rủi ro. Năng suất sẽ không bị ảnh hưởng nhiều vì bạn cần cho những người cao niên này một chút thời gian nghỉ ngơi để làm những việc ít quan trọng hơn (dạy các nhà phát triển cơ sở). Bên cạnh các hệ thống, họ cũng có nhiều kỷ luật mà các nhà phát triển cơ sở chưa biết hoặc nắm bắt.

Tôn trọng: Người cao niên bắt những nhà phát triển mới dưới cánh của họ giống như người mù dẫn dắt người mù. Người cao niên chưa kịp tiến lên với mọi thứ phải chịu trách nhiệm giảng dạy cho người khác. Ngoài ra, nó có thể không hoạt động vì sự tôn trọng có thể không có ở đó. Sự tôn trọng đối với nhà phát triển cơ sở đang bị nghi ngờ bởi vì bộ kỹ năng của bạn so với bộ kỹ năng của người mới bắt đầu có lẽ không còn xa. Cùng nhau giải quyết một vấn đề là một câu chuyện khác. Không có câu hỏi về sự tôn trọng trong điều khoản của các nhà phát triển cao cấp giảng dạy cho người mới bắt đầu hoặc thậm chí là đàn em. Chúng ta đều biết rằng khi thiếu sự tôn trọng ở hai cá nhân hoặc trong một đội, thảm họa đang chờ xảy ra ...


6

Nhìn vào điều này từ một góc độ khác. Những loại kỹ năng và kiến ​​thức nào bạn muốn chuyển giao giữa các lập trình viên ở đây? Nếu các lập trình viên cao cấp đang làm hầu hết các công việc thực tế, quan trọng thì điều này không duy trì một chút cô lập về việc ai biết hệ thống nào? Đưa các đàn em vào tìm hiểu hệ thống để họ có thể sao lưu cho cấp cao là một hướng đi khá hợp lý vì đó là kiến ​​thức cao cấp về những năm có khả năng xây dựng kiến ​​thức được truyền qua đó là điều quan trọng nhất ở đây. Tiền bối cố vấn đàn em dường như là một dạng hình thành tự nhiên trong tâm trí của tôi.

Một lập trình viên cơ sở tư vấn cho một lập trình viên cơ sở khác không hoàn toàn có ý nghĩa với tôi. Ghép nối một vài lập trình viên cơ sở với nhau mặc dù có thể có ý nghĩa theo một cách nào đó. Khi có một vài người cùng làm một nhiệm vụ để ý tưởng của một người không phải là hữu ích cũng như giúp thúc đẩy một môi trường hợp tác nhiều hơn, nơi một nhóm gắn kết với nhau. Tùy thuộc vào môi trường bạn có điều này có thể có hoặc không có nhiều ý nghĩa để làm.


4

Chà, nếu các lập trình viên cao cấp trong nhóm không thực sự làm chủ giao dịch của họ hơn đàn em, chỉ tồn tại lâu hơn và / hoặc có địa vị chính trị / xã hội cao hơn trong nhóm, thì thực sự nó không thực sự tạo ra sự khác biệt lớn ai - nếu có ai - cố vấn cho người mới. Rất có thể, tất cả họ sẽ bị hút về cùng một mức độ tầm thường ... :-(

Nếu, OTOH, một tiền bối thực sự (ít nhất là gần gũi hơn với) một lập trình viên bậc thầy theo nghĩa thực của thế giới, nó có thể tạo ra sự khác biệt lớn. Một thiếu niên có thể dễ dàng dạy những thực hành không tốt nhất cho đứa trẻ mới trong khối. Và việc học một cách tiếp cận dưới mức tối ưu hoặc xấu sau này khó khăn hơn nhiều so với bắt đầu bằng cách học cách thực hành tốt nhất .

Điều đó nói rằng, nếu một thiếu niên có tài năng, và đã chứng minh một cách đáng tin cậy rằng anh ta biết những gì anh ta đang làm về một công cụ, kỹ thuật hoặc lĩnh vực nhất định, anh ta thực sự có thể là một huấn luyện viên hữu ích trong lĩnh vực cụ thể đó .

Nhưng lưu ý rằng - từ một quan điểm nhất định - toàn bộ quan điểm cố vấn / đào tạo là cho phép người cao niên giao một số nhiệm vụ không quá khó khăn của họ cho người khác, để họ có thể tập trung vào những thứ thực sự khó khăn. Để điều này xảy ra, họ cần thực sự dạy những nhiệm vụ và kỹ năng đó cho các đồng nghiệp của mình trước, và dạy chúng thật tốt, để các nhiệm vụ được thực hiện đúng, một lần và mãi mãi.


4

Câu trả lời đơn giản: người thực hiện đào tạo nên là người giỏi nhất trong đào tạo, người cũng muốn thực hiện đào tạo.

Một số người thích đào tạo và cố vấn. Một số người ghét nó. Bạn không muốn mọi người làm những điều họ ghét - điều đó không tốt cho họ, nó có thể xấu cho người được đào tạo và có lẽ điều đó không tốt cho cả đội. Nó không thêm bất cứ điều gì. Trong khi đó, để mọi người làm những gì họ thích là tốt cho họ, nhóm và hy vọng thực tập sinh sẽ thu hút được sự nhiệt tình.

Tương tự, một số người giỏi đào tạo và một số người thì không. Có một loại tương tác hoặc trí thông minh của con người cho phép một số người giỏi hiểu cách người khác đánh dấu; một huấn luyện viên sẽ có thể cung cấp kiến ​​thức theo cách mà học viên sẽ hiểu. Một huấn luyện viên giỏi có thể làm điều này và có thể học được rằng học viên thích 'hiểu' mọi thứ, hoặc 'nhìn thấy' mọi thứ, hoặc 'làm' - những cách khác nhau mà mọi người học. Một huấn luyện viên tồi cung cấp một bài phát biểu được luyện tập lại và không linh hoạt, và sẽ cảm thấy thất vọng khi học viên không bắt kịp cách học bình dị của họ.

Tôi giả sử bạn muốn các học viên được đào tạo tốt nhất - kỹ lưỡng nhưng hiệu quả. Nếu 'lập trình viên hàng đầu' của bạn muốn đào tạo thì họ nên làm điều đó. Nếu 'lập trình viên cơ sở' tùy thuộc vào điều đó thì họ cũng nên có một shot. Sẽ không hại gì khi có một vài người tham gia chương trình đào tạo - theo cách đó bạn có thể xác định ai muốn đào tạo và ai giỏi đào tạo.

Tôi không chắc chắn từ câu hỏi của bạn cho dù bạn là một lập trình viên cao cấp muốn thoát khỏi đào tạo (không có lời chỉ trích - bạn có nhiều việc quan trọng hơn để làm, hoặc chỉ không thích nó), hoặc một lập trình viên cơ sở, người muốn nhận được vào nó. Nhưng dù sao đi nữa, bạn đang cố gắng làm những gì bạn thích - và không phải tất cả chúng ta đều muốn thực hiện những nhiệm vụ mà chúng ta thích sao? Nhân viên hạnh phúc dẫn đến môi trường làm việc tốt hơn và đầu ra tốt hơn.


3

Trong hầu hết các công ty tôi đã làm việc, một lập trình viên Junior là người có ít hơn 3 năm kinh nghiệm. Mặc dù tôi sẽ rất vui, với tư cách là một lập trình viên có kinh nghiệm với kinh nghiệm cố vấn giới thiệu một lập trình viên mới cho một lập trình viên cơ sở để đào tạo về một chủ đề cụ thể, tôi muốn giữ quyền kiểm soát, thay vì giao toàn bộ trách nhiệm cho một người vẫn cần giám sát chúng tôi.


2

Tôi đã thấy rằng những thứ như quy tắc kinh doanh và hướng dẫn thiết kế là những thứ quan trọng nhất mà một lập trình viên cao cấp hơn phải có thể truyền lại cho các nhà phát triển cơ sở hoặc thậm chí là các nhà phát triển hoặc nhà thầu cao cấp mới được thuê. Các vấn đề có xu hướng xuất hiện khi thông tin quan trọng này được tích trữ hoặc không bao giờ được giải thích. Có lẽ đây là điều mà người quản lý của bạn quan tâm nhiều hơn kiến ​​thức lập trình thực tế.

Đối với kiến ​​thức lập trình, điều đó tốt nhất được thông qua trong nhóm ở tất cả các cấp. Ngay cả các lập trình viên có kinh nghiệm cũng học được những thứ mới, đặc biệt là trong các khung phát triển phức tạp. Việc chia sẻ này có thể chính thức, như trong một buổi ăn trưa và học hỏi, hoặc thông qua các cuộc thảo luận không chính thức khi thời gian cho phép.


1

Tôi sẽ chọn cho cố vấn chủ yếu là một hoặc hai bước dưới các lập trình viên hàng đầu trong tổ chức.

Trong khi bạn đã đưa ra một số lý do chính đáng cho điều đó, tôi chỉ ra một điều nữa mà tôi nghĩ là đặc biệt quan trọng: dạy học là một trong những cách học tốt nhất, đặc biệt là học đủ nhiều hơn để thực hiện một số bước cuối cùng từ thực sự tốt thật tuyệt Một phần đặc biệt quan trọng của việc này là học cách không chỉ làm tốt mọi việc, mà còn làm tốt công việc nói rõ những gì bạn đang làm và tại sao. Tôi, trước hết, tôi thường thấy rằng để làm tốt công việc giải thích lý do tại sao tôi làm một việc gì đó theo cách riêng, tôi phải ngồi lại và suy nghĩ về nó đủ để 1) sự hiểu biết của tôi cải thiện đáng kể và 2) Tôi thường đánh giá lại tình hình đủ để cải thiện công việc của tôi.

Mặc dù có thể khó khăn hơn để họ làm điều đó, nhưng điều này có thể đặc biệt hữu ích cho các lập trình viên có kỹ năng xã hội có thể hơi ... thiếu so với các đồng nghiệp của họ. Đẩy họ ra khỏi vùng thoải mái của họ từ mã hóa thuần túy sang các khía cạnh xã hội hơn như cố vấn có thể giúp họ nhiều như những người mà họ cố vấn. Rõ ràng nếu bạn sẽ làm điều đó, mặc dù vậy, bạn cần đặc biệt cẩn thận trong việc chọn ai sẽ ghép đôi với nhau - việc ghép sai có thể sẽ làm tổn thương cả hai.


0

Tôi nghĩ rằng nó hoạt động tốt nhất khi các cố vấn tình nguyện cho nhiệm vụ. Ở đây, chúng tôi không có một quy trình cố vấn chính thức. Đôi khi người quản lý của chúng tôi có một cái gì đó cụ thể trong tâm trí, nhưng những lần khác anh ấy nói điều gì đó như: "Có ai có ý tưởng hay về một dự án cho anh chàng mới không?" và bất cứ ai có ý tưởng tốt nhất kết thúc việc làm cố vấn.

Điều cuối cùng xảy ra là việc thuê mới được đưa vào một dự án có thể đủ thời gian học tập và được cố vấn bởi người quen thuộc nhất với dự án. Đó có thể là người đã ở đây 10 tháng hoặc 10 năm. Đôi khi mọi người cuối cùng cố vấn cho những người cố vấn một chút, nhưng lợi thế là những người mới hơn vẫn nhớ tất cả những khó khăn của việc mới và cách họ vượt qua họ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.