Nhiệm vụ nhà phát triển cao cấp mới


21

Tôi đã có một nhà phát triển cao cấp với tám năm kinh nghiệm .NET bắt đầu vào ngày mai để làm việc trên một ứng dụng mã 11.000 dòng. Trong đội có bản thân tôi và một lập trình viên khác. Cả hai chúng tôi đã có khoảng ba năm kinh nghiệm mỗi.

Đây là dự án đầu tiên của tôi với tư cách là người quản lý (Tôi cũng là nhà phát triển dự án) và đây là lần đầu tiên tôi phải giới thiệu ai đó với một cơ sở mã đã được thiết lập. Rõ ràng là tôi sẽ xem xét từng mô-đun, quy trình triển khai, v.v. và trao cho chúng vị trí của kho lưu trữ kiểm soát nguồn, tài liệu (không phải là tốt nhất), v.v.

Tôi nên cung cấp cho họ bao lâu trước khi họ sẵn sàng bắt đầu viết các tính năng mới và sửa lỗi?


1
Nó thực sự phụ thuộc vào mức độ phức tạp của 11.000 dòng mã. Tôi hy vọng ai đó có 8 năm (có nghĩa là họ bắt đầu sử dụng nó vào năm 2003) để có thể chạy hết tốc lực trong vòng một tuần.
Ramhound

Như một điểm dữ liệu, vài tuần trước, chúng tôi đã chỉ định lại một nhà phát triển cho một dự án với 13.700 dòng mã JavaScript và cho rằng anh ta sẽ làm việc hiệu quả trong một lần chạy nước rút (một tuần) mà không thực sự nghĩ về nó.
Gort Robot

@StevenBurnap: Tôi thích nó :) Thắp chân anh ấy lên lửa và xem anh ấy có đốt nhà không.
Joel Etherton

Tôi có thực sự là người duy nhất nghĩ rằng 11k dòng không nhiều? Tôi đã cho một ngày, từ lòng tốt của trái tim tôi.
Louis Kottmann

Một phần của sự lựa chọn bài tập của bạn cũng có thể phụ thuộc vào việc dự án của bạn sẽ trễ như thế nào. Để biết một số ý tưởng về cách hạn chế tác động của nhân viên mới đối với nhân viên hiện tại, hãy xem lập trình
DeveloperDon

Câu trả lời:


38

Tôi sẽ chỉ định một vài lỗi ưu tiên thấp vào ngày đầu tiên, theo cách đó, không ai hét lên nếu chúng không được thực hiện ngay lập tức cho nhà phát triển mới một thời gian để làm quen với cơ sở mã.

Điều quan trọng nhất cần làm là có một bản đánh giá mã về tất cả các công việc của anh ấy trong vài tuần đầu tiên. Bạn không muốn phát hiện ra rằng anh chàng đang đi sai hướng hoặc không tuân theo các tiêu chuẩn mã hóa của công ty hàng tháng. Tốt hơn là đảm bảo anh ta biết những gì được mong đợi từ đầu, và các đánh giá mã đảm bảo điều này. Tất nhiên tôi nghĩ rằng đánh giá mã là tốt cho tất cả nhân viên (Chúng tôi xem xét 100% mã của chúng tôi trước khi triển khai), nhưng chúng rất quan trọng đối với nhân viên mới và nên được thực hiện tại nơi bạn có thể trả lời câu hỏi và giới thiệu họ đến tài liệu mà họ có thể không có thấy chưa nếu cần.

Những gì bạn không muốn là một chàng trai mới bước vào và sử dụng một phong cách khác với phần còn lại của bạn. Mọi người thường cố gắng tiếp tục sử dụng kiểu mã của công việc trước đó ngay cả khi nó mâu thuẫn với kiểu mã được sử dụng tại địa điểm mới có thể gây nhầm lẫn và khó chịu cho các nhà phát triển khác.

Một điều tôi nhận thấy ngay cả với các nhà phát triển có kinh nghiệm là một số trong số họ không tốt như trong cuộc phỏng vấn, đánh giá mã sẽ giúp bạn tìm ra điều này nhanh chóng, vì vậy bạn có thể khắc phục nó. Nó cũng sẽ khuyến khích họ thực sự hoàn thành công việc, tôi đã thấy những nhân viên mới không được kiểm tra mã kéo ra một dự án mà không cho thấy họ đang làm gì với ai đó và sau đó rời đi một tuần trước thời hạn họ biết họ sẽ không trúng vì họ ở trên đầu và chưa thực sự hoàn thành bất kỳ phần nào của dự án. Tốt hơn nên kiểm tra sớm và thường xuyên với những người mới cho đến khi bạn thực sự chắc chắn rằng họ đang làm việc.

Ngoài ra, việc anh chàng mới bị kinh hoàng ở trạng thái dự án cũ của bạn là chuyện bình thường. Nó không được thiết kế theo cách mà anh ấy nghĩ nó nên có. Mong đợi điều này, nghe anh ta nói và không tự động bỏ qua tất cả những gì anh ta nói. Cụ thể, người này dường như có nhiều kinh nghiệm hơn bạn hoặc các nhà phát triển khác, anh ta có thể thấy những điều bạn đã xem xét. Tuy nhiên, là người quản lý, bạn phải cân bằng các thay đổi được đề xuất so với khối lượng công việc hiện tại và thời hạn. Tất cả các bạn có thể muốn đầu tư một chút thời gian vào việc học cách cấu trúc lại mã hiện có và đầu tư một số giờ vào ước tính thời gian của bạn để làm điều đó đặc biệt là nếu anh chàng mới có một số mối quan tâm hợp lệ. Bạn có thể không thể hỗ trợ viết lại toàn bộ (nhiều người mới nghĩ rằng chúng ta nên bắt đầu lại và làm nó tốt hơn),

Nếu bạn có một thời gian mà anh ấy không mong đợi được đóng góp đầy đủ (và chiếm toàn bộ thời gian của anh ấy bởi khách hàng), đó cũng có thể là lúc anh ấy có thể bắt đầu một số trong những điều tái cấu trúc mà bạn muốn làm ngoài thiên đường ' t đã có thời gian để làm. Đôi khi, nên sử dụng thời gian đào tạo người mới để giải quyết một số điều không có trong kế hoạch dự án. Họ có thể tìm hiểu cơ sở mã và nếu những gì họ muốn làm không hoạt động, bạn đã không ảnh hưởng đến lịch trình hiện tại vì bạn chưa đưa chúng vào lịch trình hiện tại. Và nếu nó hoạt động, bạn có thể có một chiến thắng lớn làm cho việc bảo trì trong tương lai dễ dàng hơn hoặc bảo mật tốt hơn hoặc bất kể vấn đề là gì.


Đó là một câu trả lời tuyệt vời, đặc biệt là phần đánh giá mã và ý kiến ​​của nhà phát triển về tình trạng hiện tại của dự án. May mắn thay, đây không phải là một dự án cũ, thực tế nó rất mới và di chuyển với tốc độ rất nhanh.
MrBliz

1
+1 - Rất nhiều điểm tốt, nhưng tôi muốn nhắc lại rằng việc xem lại tất cả công việc của họ là điều hoàn toàn cần thiết để bạn có thể đánh giá mức độ kỹ năng của họ và đảm bảo họ vào cùng trang với nhóm. Thật không may, điều này mất nhiều thời gian hơn so với vài tuần đầu tiên. +1 khác cho không tốt như tại cuộc phỏng vấn. Điều xảy ra với nhiều người giữa cuộc phỏng vấn và ngày họ xuất hiện là một bí ẩn đối với tôi. Có phải lobotomies thực sự phổ biến như họ có vẻ? Đó là lời giải thích duy nhất tôi có thể đưa ra.
Dunk

Có, xem lại công việc của họ để đảm bảo rằng họ không chuyển hướng khỏi các tiêu chuẩn đã được thiết lập. Nhưng nếu họ có tám năm kinh nghiệm và bạn có ba thì có lẽ họ biết nhiều hơn bạn . Hãy chắc chắn rằng bạn không ép buộc họ làm mọi thứ theo cách của bạn.
DJClayworth

2
@DJClayworth, trong khi tôi đồng ý rằng người mới có khả năng có nhiều kiến ​​thức hơn và OP nên chú ý đến việc anh ta muốn làm khác đi, có những lúc kiến ​​thức của bạn về hệ thống và các yêu cầu có thể che giấu kiến ​​thức chung tốt hơn của anh ta và bạn có thể cần hướng dẫn anh ta đi một con đường ít hơn tối ưu vì những lý do dựa trên lịch sử của hệ thống và các yêu cầu. Đôi khi bạn cần phải nhấn mạnh rằng họ làm mọi thứ theo cách của bạn vì những lý do mà họ có thể chưa nhận thức được. Tất nhiên khi bạn làm, bạn cần phải giải thích tại sao, không chỉ chúng tôi luôn làm như vậy.
HLGEM

@Dunk: theo kinh nghiệm của tôi, ngay cả những người tồi tệ nhất trên thế giới cũng có thể cư xử trong vài giờ trong một cuộc phỏng vấn, khi họ đang tuyệt vọng cho một công việc. Đó là lý do tại sao hợp đồng thuê, thực tập và mẫu mã rất quan trọng với những người tuyển dụng mới.
Jordan

18

Khởi động chúng ngay lập tức trên các nhiệm vụ nhỏ - những thứ không yêu cầu bức tranh lớn hơn.

Khi họ trở nên tự tin và quen thuộc hơn với codebase, hãy tốt nghiệp cho họ những nhiệm vụ lớn hơn và lớn hơn. Làm thế nào nhanh chóng xảy ra chủ yếu phụ thuộc vào họ.


Đây là khá nhiều những gì tôi nghĩ về.
MrBliz

+1, điều này là không có trí tuệ, đặc biệt là vì cơ sở mã là nhỏ.
Louis Kottmann

8

Tôi luôn muốn nhận nhiệm vụ được giao cho tôi ngay lập tức, với sự hiểu rằng sẽ mất nhiều thời gian hơn để đào mã, và rất nhiều câu hỏi sẽ được hỏi trong vài ngày / tuần đầu tiên.

Tôi thấy rằng tôi không thể hoàn toàn tập trung vào một dự án cho đến khi tôi phải thực sự đi vào và sửa chữa hoặc thay đổi một cái gì đó.

Ngoài ra ... Cho dù bạn nghĩ bạn đã giải thích tốt như thế nào về một dự án hoạt động thì vẫn luôn có 'oh yeah tôi quên nói với bạn', 'chúng tôi đã gặp phải vấn đề này, vì vậy chúng tôi đã làm điều này' những khoảnh khắc không bị trêu chọc cho đến khi bạn thực sự bắt đầu công việc


+1 Người thuê mới có thể bắt đầu sàng lọc dự án càng sớm, thì người thuê mới sẽ càng thoải mái (sẵn sàng nhận quyền sở hữu / trách nhiệm) về những gì họ làm.
Chad Harrison

3

Bao lâu?

Một sợi dây dài bao nhiêu?

Khi anh ấy cảm thấy thoải mái: khi anh ấy sửa lỗi đầu tiên -> anh ấy đã sẵn sàng .


3

Trong cộng đồng nguồn mở, tất cả những người muốn tham gia dự án đều phải đối phó với một số vấn đề nhỏ. Nếu anh ấy hoặc cô ấy có thể xử lý vấn đề rất tốt, nhiệm vụ quan trọng hơn sẽ được giao cho anh ấy hoặc cô ấy. Theo cách này, họ sẽ trở thành một nhà phát triển cốt lõi của dự án.

Nhà phát triển cao cấp này có tám năm kinh nghiệm .NET, vì vậy bạn có thể chỉ định cho anh ta một số lỗi đơn giản để khắc phục. Nếu anh ta dễ dàng đối phó với họ, bạn có thể chỉ định cho anh ta những vấn đề phức tạp để giúp anh ta làm quen với toàn bộ ứng dụng. Sau đó, anh ta có thể bắt đầu viết các tính năng mới và phân tích các vấn đề kỳ lạ. Chỉ cần làm điều đó, không có thời gian thiết lập!


2

8 năm kinh nghiệm. Tôi sẽ ném anh ta vào. Anh ta có thể bơi. Như những người khác đã lưu ý bắt đầu với các nhiệm vụ nhỏ dễ dàng. Nó sẽ cho phép anh ta tìm hiểu quy trình đăng ký / kiểm tra mã và bất kỳ quy trình phát triển nào khác mà bạn có.

Tôi đã thay đổi công việc nhiều lần và tôi đã là cộng tác viên của tất cả trong số họ trong tuần đầu tiên. Khó nhất là tôi mất một tuần để lấy mã để biên dịch (ít nhất 100k + dòng mã). Một bản dựng đầy đủ mất 8 giờ cho dự án đó.

Tôi đã làm việc gì đó như 80 giờ trong tuần đầu tiên (dự án nghiêm túc phía sau).


Thật thú vị khi mọi người đều cho rằng đó là một chàng trai ... :)
MrBliz

1. Tôi muốn nói trong tiếng Anh, đại từ mặc định là nam tính, gõ "anh ấy hoặc cô ấy" mọi lúc sẽ là đúng nhưng nỗ lực nhiều hơn hầu hết mọi người muốn đưa ra. 2. Bao nhiêu phần trăm lập trình viên là nữ? Trong trường hợp này, mặc định nam tính có số liệu thống kê về phía mình ... Vì vậy, tôi tưởng tượng nhiều hơn chỉ bằng cách sử dụng cách đơn giản mặc định để chỉ một cá nhân ngẫu nhiên, không cho rằng họ là nam hay nữ.
Thymine

Tôi là một chàng trai và vì vậy mọi người khác cũng phải như vậy :-). Chỉ là cách viết của tôi, tôi không đủ kỷ luật để viết anh ấy / cô ấy mọi lúc.
Bill Leeper

1

Đối với một ứng dụng nhỏ và nhà phát triển có kinh nghiệm, tôi nghĩ một ngày là đủ cho các lỗi cơ bản. Các lỗi liên quan hoặc các tính năng nhỏ gần một tuần (một khi chúng rõ ràng hơn về miền và kiến ​​trúc vấn đề).


2
Tôi nghĩ rằng tiêu chuẩn của tôi có thể quá cao, nhưng của bạn ... 1 ngày ... và 1 tuần để thực sự hiệu quả? IME, điều đó không thực tế lắm.
Dunk

@Dunk: được giao nhiệm vụ và có thể tiếp cận chúng mà không bị mất hoàn toàn? Tôi không nói rằng họ sẽ ở tốc độ tối đa, nhưng tại thời điểm đó, họ sẽ có thể săn lùng cơ sở mã, biết ai sẽ hỏi để tìm hiểu thêm, v.v.
Telastyn

Vâng, rất nghiêm trọng. LoC 11k không lớn lắm. Để anh ta thiết lập để nó xây dựng và chạy trong trình gỡ lỗi và sau đó chỉ cho anh ta cách nó hoạt động. Thế là đủ.
gbjbaanb

1

Câu trả lơi con phụ thuộc vao nhiêu thư. Nếu bạn muốn anh ấy sửa lỗi do một lỗi trên một thứ gì đó hoặc thay đổi màu của phần tử GUI, thì khoảng 5 phút (đây là nơi chúng tôi giữ mã của chúng tôi), nếu bạn muốn thiết kế lại toàn bộ kiến ​​trúc của ứng dụng sẽ yêu cầu lâu hơn một chút.

Nó thực sự phụ thuộc vào nhiệm vụ mà bạn mong đợi anh ta thực hiện.

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.