Năm nhà phát triển cơ sở mới và rất nhiều nhiệm vụ phức tạp. Bây giờ là gì


10

Công ty chúng tôi đã thuê năm nhà phát triển cơ sở mới để giúp tôi phát triển sản phẩm của mình. Thật không may, các tính năng mới và sửa lỗi đến thường đòi hỏi kiến ​​thức sâu hơn so với một nhà phát triển tốt nghiệp gần đây thường có (luồng / đồng thời, gỡ lỗi các tắc nghẽn hiệu suất trong một hệ thống phức tạp, v.v.)

Ủy thác (và lập kế hoạch) các nhiệm vụ mà họ (có thể) có thể giải quyết, trả lời câu hỏi của họ, tư vấn / quản lý chúng, xem xét mã của họ sử dụng hết thời gian của tôi và tôi thường cảm thấy rằng tôi có thể giải quyết vấn đề ít thời gian hơn so với toàn bộ quá trình ủy nhiệm (chỉ tính thời gian của tôi). Ngoài ra, tôi không có thời gian để giải quyết các nhiệm vụ đòi hỏi kiến ​​thức hệ thống sâu hơn / kỹ năng nâng cao hơn và dường như nó sẽ không thay đổi trong tương lai gần.

Vì vậy, những gì bây giờ? Tôi nên làm gì để sử dụng thời gian của họ một cách hiệu quả?


1
Tất cả 5 người đã đưa vào dự án của bạn? Bạn có phải là nhà phát triển Sr duy nhất giám sát họ?
Tyanna

@Tyanna: Vâng, tôi là người cao cấp duy nhất trong dự án này. Các tiền bối khác đã được chuyển đến các dự án khác một thời gian trước đây.
mxe

2
điều đầu tiên cần làm là giải thích với ban quản lý rằng bạn sẽ làm việc kém hiệu quả hơn một chút khi bạn tăng cường những người mới
jk.

Là một sinh viên tốt nghiệp gần đây, tôi rất ngạc nhiên rằng có một chương trình ngoài đó không bao gồm đồng thời hoặc hiệu suất.
Daniel Joseph

+1. Điều hối tiếc duy nhất của tôi là tôi không thể nâng cao bạn nhiều hơn.
Shivan Dragon

Câu trả lời:


2

Vâng, bạn có thể giải quyết mọi thứ nhanh hơn họ có thể, đó là lý do tại sao bạn là người cao cấp còn họ thì không. Tuy nhiên, một học sinh cuối cấp giỏi cũng muốn đưa đàn em của mình lên cấp cao và cách duy nhất bạn có thể làm là bằng cách cho chúng học cách làm mọi việc.

Kèm cặp là cách sử dụng hiệu quả nhất thời gian của bạn ngay bây giờ, không phải mã hóa.

Hãy nhìn nó theo cách này, nếu bạn dành sáu tháng tiếp theo để cố vấn một cách hiệu quả và các đàn em học đủ để trở thành nhà phát triển trung gian - thì bạn có 5 develoeprs xen kẽ và một tiền bối. Nếu bạn tự mình làm tất cả công việc nặng nhọc vì nó nhanh hơn, trong sáu tháng bạn sẽ làm 5 người đàn ông vặn vẹo ngón tay cái của họ (tốt nhất họ sẽ chuyển sang công việc khác sau đó nếu bạn không cho họ làm việc thử thách, vì vậy bạn có thể có ít hơn hoặc mới hơn các nhà phát triển cơ sở) và một cấp cao làm việc quá sức và cáu kỉnh.

Bạn biết những tương tác phức tạp nào thường được tìm thấy trong các lỗi, vì vậy hãy phát triển một số cách đào tạo cụ thể về các loại đó nếu mọi thứ, cách khắc phục và tìm ra vấn đề thực tế và sau đó các loại phương pháp thường cần để khắc phục chúng. Sau đó cung cấp cho họ những vấn đề khi họ đi lên. Có, họ sẽ mất nhiều thời gian hơn để sửa chúng và bạn nên cho phép điều đó trong ước tính thời gian của bạn.

Ý tưởng lập trình cặp là tuyệt vời. Ghép nối với một vấn đề khác nhau cho mỗi vấn đề thực sự tiên tiến. Ngay cả khi họ chưa biết đủ để giải quyết vấn đề, việc có đàn em ở bàn phím trong khi bạn nói với họ những gì cần cố gắng trong việc tìm kiếm nguyên nhân sẽ giúp dạy họ quá trình xử lý sự cố. Tất nhiên, đừng chỉ mong họ nhận được sự độc tài. giải thích những gì bạn muốn họ tìm kiếm và tại sao. Hỏi ý kiến ​​của họ và lắng nghe họ. Giải thích tại sao ý tưởng của họ không phải là một lựa chọn tốt nếu không. Sử dụng phương pháp giảng dạy Socrates bằng cách đặt câu hỏi hàng đầu. Họ sẽ nhớ tốt hơn giải pháp họ tự đưa ra thông qua các câu hỏi hàng đầu của bạn hơn là câu hỏi mà bạn đã đưa ra cho họ mà không cần giải thích. Họ cũng sẽ nhớ tốt hơn nếu họ thực hiện gõ giải pháp thay vì chỉ xem bạn gõ nó.

Một khi đàn em đã giúp bạn giải quyết một loại vấn đề cụ thể như là một phần của một cặp với bạn, bạn có thể ghép anh ấy với người khác vào lần tiếp theo khi lớp vấn đề đó xuất hiện và chỉ có sẵn để tư vấn, không đứng trên vai họ trong khi họ thử những thứ khác nhau.

Bạn có năm người mới thật sự khó khăn. Bạn cần phải công bằng với tất cả bọn họ và xoay người bạn ghép đôi hoặc đưa ra hướng dẫn. Đừng chơi yêu thích. Bạn cũng cần phải là người cung cấp "Tình yêu bền vững" nếu ai đó không thành công và đạt được tiến bộ. YOu có thể cần phải gọi một hoặc nhiều người trong số họ sang một bên và nói với họ rằng họ cần cải thiện và tại sao bạn cảm thấy họ không thành công. SOme peopel sẽ cho phép bạn thực hiện tất cả các công việc nếu bạn ghép nối và bạn không thể cho phép điều này chỉ vì nó dễ dàng hơn. Nếu người đó không thể thực hiện công việc, họ sẽ tử tế hơn và tốt hơn cho nhóm của bạn nếu bạn không mang theo chúng một khi rõ ràng là họ không thể hoặc sẽ không học cách tự lập hơn.

Hãy nhớ rằng, bạn có được những gì bạn mong đợi. Nếu bạn không mong đợi nhiều, bạn sẽ không nhận được nhiều. Hy vọng họ sẽ tỏa sáng và hầu hết trong số họ sẽ đạt được tiêu chuẩn của bạn.


20

Lập trình cặp nghe có vẻ như một khả năng tuyệt vời ở đây.

  • Cung cấp cho bốn trong số chúng hai trong số các lỗi đơn giản hơn, để chúng ghép nối và mỗi cặp giải quyết một trong số chúng.
    • Cụm từ yêu cầu này là "Bạn có thể tìm ra nguyên nhân gây ra điều này không?". Đừng để họ bắt đầu suy nghĩ về cách khắc phục nó.
    • Một khi họ có một số mức độ giải thích, sau đó hỏi họ làm thế nào nó có thể được sửa chữa. Bằng cách này, họ sẽ không bị choáng ngợp với một nhiệm vụ to lớn cùng một lúc. Hãy để họ đi và thử nghiệm mã nếu họ chưa có, và một khi họ có kế hoạch - thậm chí là một kế hoạch mơ hồ - bạn có thể hướng dẫn họ hướng tới một giải pháp tốt.
  • Một cái khác, bạn có thể ghép đôi và bắt đầu làm việc với một trong những người khó hơn với anh ta. Điều này có thể khó khăn hơn do thiếu kinh nghiệm với mã, nhưng anh ta cũng sẽ có lợi ích của một người có kinh nghiệm trải qua nó với anh ta.
    • Tôi nghĩ rằng một tính năng mới có thể là một cách tốt để làm điều này, dựa trên kinh nghiệm của bạn. Bạn có thể chỉ cho anh ấy API hiện có khi tính năng mới được phát triển.

Đối với một giai thoại / ví dụ về đề xuất này hoạt động: Đây là cách tôi được giới thiệu với phần cơ bản nhất của cơ sở mã mà tôi làm việc - với nhà phát triển tương đối mới khác mà tôi đã ghép nối, cuối cùng chúng tôi đã làm một việc như thế này:

  • Chúng tôi đã được cung cấp một lỗi, và sau khoảng 10 phút giới thiệu, được yêu cầu thử và tìm hiểu những gì đang xảy ra.
  • Khoảng một giờ sau, chúng tôi chia ra và đào sâu vào hai luồng suy nghĩ khác nhau.
  • Khoảng hai giờ sau đó, tôi đã tìm ra cách thức hoạt động của mã nói chung, nhưng không biết chính xác nơi sản xuất xấu được tạo ra. Ông đã tìm ra cách nó được tạo ra, bằng cách đào sâu vào dữ liệu thô và dữ liệu không chuẩn hóa, nhưng không thể tìm ra mã.
  • Chúng tôi ghép nối lại và theo các đường dẫn mã cùng nhau và có câu trả lời chính xác. Từ điều này, chúng tôi đã động não với người quản lý của mình một số giải pháp khả thi và cuối cùng đã thực hiện nó sau này.

Kể từ đó, tôi đã kế thừa bảo trì toàn bộ phần cơ sở mã đó, vì tôi thực sự là người duy nhất hiểu cách thức hoạt động của nó nữa (các nhà phát triển ban đầu vẫn còn ở đó thậm chí không nhớ lại hoàn toàn).


+1. Vấn đề duy nhất có thể là chia 5 người thành cặp 2 ;-)
Doc Brown

@DocBrown Vâng, 5 nhà phát triển thiếu kinh nghiệm + 1 nhà phát triển có kinh nghiệm nghĩa là bạn có thể tạo 3 nhóm 2 (xem điểm chính thứ hai). Nó có thể trở thành một hướng dẫn nhiều hơn về loại mã (UI, logic nghiệp vụ, v.v.) đi đâu, nhưng anh ta sẽ học những thứ khác với các loại khác 4. Sau đó, trên các nhiệm vụ tiếp theo, xoay vòng.
Izkata

7

Dạy cho họ. Chỉ định cho họ các nhiệm vụ mà họ có thể dễ dàng giải quyết.

Nói một cách đơn giản, vấn đề là lực lượng lao động nói trên không đủ kỹ năng để làm việc rất hiệu quả với nhiệm vụ họ có. Như vậy, bạn có thể 1) giảm bớt nhiệm vụ 2) cố gắng tăng kỹ năng của lực lượng lao động.

Vấn đề tương tự hầu như luôn xảy ra (ở một mức độ nào đó) mỗi khi một người mới tham gia vào một nhóm và bắt đầu làm việc với một cơ sở mã mà anh ấy / cô ấy không có kinh nghiệm. Điều này trở thành một vấn đề nếu các công cụ và phương pháp không được biết đến. Bằng cách đào tạo con người trở nên quen thuộc hơn với các công cụ và phương pháp luận, vấn đề có thể được giảm bớt nhanh hơn.

Tuy nhiên, giải quyết vấn đề như vậy cần có thời gian - người ta không thể chỉ mong người khác biết mọi thứ hoặc học mọi thứ trong một khoảnh khắc. Có lẽ giới thiệu một số cuốn sách về đồng thời, tối ưu hóa phần mềm và phương pháp chung cần thiết sẽ là một khởi đầu tốt.


3

Có vẻ như bạn không phải là một phần của quyết định tuyển dụng. Đánh giá công bằng khả năng của họ để xử lý các nhiệm vụ hiện tại. Viết báo cáo với một đề xuất (đào tạo bên ngoài và các nhiệm vụ như vậy miễn là nó không ảnh hưởng đến thời gian giao hàng của bạn), gửi báo cáo cho người quản lý của bạn, người có thể bắt đầu nói chuyện với bất cứ ai thuê những người đó. Một người mới có thể bị cuốn hút vào một nhóm nhưng 5 người mới cùng một lúc, nghe có vẻ không tốt trừ khi bạn có một cửa hàng thoải mái. Bất cứ điều gì bạn không cố gắng dạy họ về thời gian dự án của bạn trừ khi điều này được tính trong kế hoạch.

Chỉnh sửa: Có thể thích hợp để đề cập đến Luật Brook's trong tình huống này.


2

Có lẽ bạn có thể dành một chút thời gian để tạo ra một môi trường hộp cát nơi bạn có thể ném chúng vào để giải quyết một số vấn đề khó khăn mà không gây hại. Yêu cầu họ kiểm tra các giải pháp của họ một cách triệt để nhất có thể. Đặt nhiều hơn 1 cho cùng một vấn đề.

Tất cả những điều này cung cấp cho họ khả năng có đủ kỹ năng để trở nên hữu ích, cộng với họ yêu cầu ít thời gian của bạn hơn. Tất nhiên nếu bạn có chúng (hầu hết) chìm hoặc bơi và chúng chìm khá nhiều thì bạn phải suy nghĩ lại mọi thứ.

Trong nghề lập trình, những người không thể tự học hầu hết có lẽ không thực sự xứng đáng với nỗ lực cần có để dạy họ. Nhưng tôi nghĩ rằng họ có thể sẽ làm bạn ngạc nhiên với mức độ họ nhận được khi bạn cắt giảm sự giúp đỡ.


Điều này có vẻ như lãng phí thời gian nếu môi trường hộp cát không tồn tại.
Ramhound
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.