Làm thế nào để đưa các nhà phát triển tân binh vào dự án của bạn?


9

Chúng tôi đang xem xét việc dạy một số nhân viên có kinh nghiệm lập trình cấp độ sở thích chung hoặc bằng không để giảm bớt công việc cho tôi.

Chúng tôi sử dụng Python / Django có một số tài liệu thân thiện nhất và dễ dàng tìm hiểu.

Tôi hiện đang là một bộ phận CNTT cho một công ty của mình và tôi không có đủ thời gian để phát triển mọi thứ công ty cần. Chúng tôi không phải là một công ty phần mềm, nhưng nó giúp có CNTT trong nhà để tự động hóa các tác vụ, phát triển các tính năng dịch vụ khách hàng, phân tích dữ liệu, v.v.

Làm thế nào để bạn từ từ tích hợp các tân binh làm việc trên cơ sở mã của bạn? Nói rằng bạn có một thực tập sinh - họ làm gì? Tôi hoàn toàn miễn cưỡng khi để họ thiết kế hoặc phát triển mã lõi vì chúng tôi sẽ xử lý các lỗi / mẫu thiết kế lạ của họ trong nhiều năm. Là nhà phát triển chính, tôi sẽ là người phải làm việc xung quanh mã của họ.

Tôi nghĩ rằng có những tân binh chỉ sửa đổi mã hiện có, không bao giờ xây dựng các tính năng cốt lõi. Tôi có thể giảm tải công việc cho họ bằng các tác vụ đơn giản sau khi tôi tự xây dựng tính năng.

Chúng tôi muốn nhân viên của mình học hỏi / tìm kiếm giá trị trong công ty và chúng tôi thường có những người 'tiến lên hàng ngũ'.

Có phải là tiêu chuẩn thực hành để dạy những người có chương trình cấp độ chung / sở thích? Làm thế nào để "tăng thứ hạng" trong một công ty phần mềm làm việc cho các lập trình viên cấp cơ sở? Khi nào họ bắt đầu làm việc với mã lõi?

Tôi đang cố gắng quyết định xem liệu điều đó có gây ra thiệt hại nhiều hơn là giúp đỡ hay không và nếu có cách nào chúng ta có thể sử dụng trợ giúp của họ mà không có nguy cơ rủi ro mã trang web cốt lõi (môi trường bị cô lập?).


3
"Lập trình cấp độ chung / sở thích" rất khác với "lập trình viên cấp cơ sở" trong suy nghĩ của tôi. Các âm thanh trước đây giống như ai đó chơi xung quanh với các tập lệnh shell / batch vào tuần để điều chỉnh hệ thống của họ. Cái sau nghe có vẻ như ai đó vừa hoàn thành bằng cấp CS. Xử lý hai loại này sẽ rất khác nhau. Chỉ cần nói ...
Thất vọngWithFormsDesigner

@FrustratedWithFormsDesigner Cảm ơn bạn! Tôi không quen thuộc với thuật ngữ. Người chơi tôi có nghĩa là đã tự học một vài ngôn ngữ lập trình, xây dựng một hoặc hai chương trình, một trang web .. Cấp độ tôi nghĩ là một người có đủ kiến ​​thức lập trình để được thuê tại một công ty phần mềm, nhưng bây giờ nó xảy ra với tôi rằng hai cái này có thể khá giống nhau (theo định nghĩa của tôi)?
Yuji Tomita

3
Những chàng trai trẻ với giáo dục CS chính thức và không có kinh nghiệm - ngây thơ, nhưng thường tài năng, học hỏi những điều mới nhanh chóng và thích nghi với thực tiễn công việc của bạn. "Vets sở thích" nguy hiểm hơn nhiều, vì chúng thường là nô lệ của thói quen của chúng, do đó chúng có thể miễn cưỡng thay đổi và gặp rắc rối trong hệ sinh thái của bạn. Nhưng tuy nhiên - chỉ bằng cách cho họ tự do, bạn có thể thấy sự ngu ngốc, hoặc thông minh của họ. Nếu bạn sẽ giao cho họ những nhiệm vụ trần tục nguyên thủy, họ sẽ không học được gì về công việc, cũng như bạn sẽ không học được gì về họ.
c69

@ c69 Cảm ơn! Câu hỏi của tôi là làm thế nào để dễ dàng cho các tân binh vào codebase của chúng tôi? Mục tiêu không phải là để cõng chúng và chỉ làm những nhiệm vụ trần tục. Thật nguy hiểm khi cho ai đó truy cập vào cơ sở mã của chúng tôi và để họ xây dựng dự án lập trình / django đầu tiên của họ như là một phần của hệ thống của chúng tôi (hoặc đây có phải là ý bạn không? Hãy thử xem?). Tái bút: Ghi chú đúng về các bác sĩ thú y
Yuji Tomita

Câu trả lời:


5

Nếu bạn ủy thác cho các tân binh vào một vai trò không hiệu quả, anh ấy / cô ấy sẽ không bao giờ học được bất cứ điều gì đáng kể, và họ chắc chắn sẽ không quá hữu ích cho bạn.

Hãy để tôi cho bạn một lời khuyên, công việc CNTT đầu tiên của tôi ở trường là tại một công ty sản xuất tương đối nhỏ, nơi tôi sẽ làm việc trên phần mềm để hỗ trợ các kỹ sư bán hàng viết báo giá cho các dự án khác nhau. Tôi cũng có nhiệm vụ hỗ trợ anh chàng IT, người một mình quản lý CNTT cho toàn công ty.

Anh chàng là một mớ hỗn độn làm việc quá sức, và người cầu toàn quản lý vi mô tồi tệ nhất tôi từng làm việc. Tôi đã phải giảm bớt khối lượng công việc của anh ấy nhưng anh ấy đã dành gần như nhiều thời gian để lo lắng kiểm tra tôi và công việc của tôi khi tôi đang làm việc (anh ấy hầu như không bao giờ rời khỏi văn phòng, tôi nghĩ rằng anh ấy coi thường gia đình của anh ấy). Nếu tôi mắc quá nhiều lỗi, anh ta sẽ hoàn toàn mất trí và bắt đầu nổi giận, "Tôi biết tôi không nên tin tưởng bạn với điều này, điều đó quá quan trọng!" và những lời tán dương khác.

Điểm tôi đang cố gắng thực hiện là KHÔNG theo cách đó. Không chỉ làm cho các tân binh khốn khổ và phá hủy tinh thần của họ, bạn sẽ đốt nến ở cả hai đầu lo lắng về công việc của họ.

Cung cấp cho họ một cơ hội để chứng minh bản thân nhưng có thông số kỹ thuật chính thức, đánh giá thiết kế và đánh giá mã. Ngoài ra, bạn có thể kiểm tra những gì họ sản xuất để đảm bảo nó đáp ứng yêu cầu.

Tôi nghĩ bạn sẽ ngạc nhiên về khả năng một số trong số họ có thể.


1
Cũng nên nói rằng nếu bạn ủy thác cho tân binh vào một vai trò mà họ không cảm thấy hữu ích, họ sẽ lấy những kinh nghiệm nhỏ mà họ có được để tìm một công việc tốt hơn. Ngay cả một tân binh cũng có thể làm theo chỉ dẫn, nhiệm vụ bảo trì vẫn ổn, nhưng trừ khi bạn sẵn sàng giúp họ phát triển mong muốn luôn có một tân binh.
Ramhound

Cảm ơn cho đầu vào của bạn - nó đánh giá rất cao. Chúng ta phải bắt đầu ở đâu đó vì chúng ta đang xem xét những người thực sự không có kinh nghiệm. Giới thiệu về python 101, hướng dẫn django, tập lệnh bash, cách sử dụng kiểm soát phiên bản, v.v., tôi sẽ chú ý đến cảnh báo của bạn về việc không quản lý vi mô. Và vâng! Tôi tin rằng nhân dân của chúng tôi hoàn toàn có khả năng.
Yuji Tomita

5

Tôi đã từng làm việc tại một cửa hàng phần mềm, nơi chúng tôi đang mã hóa một dự án lớn (thời gian tăng tốc đáng kể).

Các tân binh được đối xử như những bác sĩ thú y. Họ được chỉ định một nhà lãnh đạo kỹ thuật và bắt đầu các tính năng "một mình". Phong cách kiến ​​trúc đã được ra lệnh, nhưng họ được tự do đưa ra thiết kế sạch sẽ của riêng họ. Các "mẫu thiết kế lạ" đã được loại bỏ trong các đánh giá mã hàng ngày (hàng ngày).

Một sai lầm tôi đã thấy ở một cửa hàng khác: giả sử "cốt lõi" là khó và "ui" là dễ dàng. Các tân binh đã có một thời gian dễ dàng hơn trong lõi, và làm rối tung mã giao diện người dùng.

Chúc may mắn!


1
Đánh giá mã thường xuyên chỉ là những gì tôi sẽ đề nghị. Sẽ mất một giờ trong ngày của bạn và sẽ trả lại tiền khi bạn dạy họ những gì sai, họ phải sửa nó và kỹ năng của họ được cải thiện. Sau một thời gian, bạn sẽ không cần dành nhiều thời gian để đánh giá mã như vài tuần đầu tiên. Đồng thời đảm bảo rằng họ biết cách sử dụng (và sử dụng) kiểm soát nguồn. Sau đó, bất kỳ sai lầm có thể được khôi phục khá dễ dàng.
HLGEM

1
@isgab - Thiết kế giao diện người dùng hiệu quả khó có thể đạt được ngay cả với 30 năm kinh nghiệm. Ý tôi là nhìn vào Microsoft và Apple, cả hai đều có những ý tưởng khác nhau về cách giao diện người dùng nên hoạt động.
Ramhound

Tôi thích những gì bạn đang nói về cốt lõi vs ui. Tôi nghĩ rằng có những ưu và khuyết điểm cho cả hai (tân binh trên phụ trợ, tân binh trên frontend). Một mặt, HTML thường là về trải nghiệm - biết những gì không hoạt động. Nó cũng "an toàn" trong các dự án bị cô lập. Phần cuối hoạt động chính xác như bình thường, nhưng mã được xây dựng bây giờ phải được duy trì và hoạt động trong tương lai.
Yuji Tomita

2

Bạn muốn bắt đầu bằng cách cung cấp cho họ các chức năng nhỏ, rời rạc để thực hiện. Xác định đầu vào mà bạn hứa và đầu ra mà bạn mong đợi và để chúng kết nối các dấu chấm. Và sau đó sử dụng đánh giá mã nhóm trưởng để đảm bảo chất lượng và đánh giá ngang hàng để đào tạo họ học hỏi lẫn nhau và tự dạy mình.

Điều này giả định rằng bạn có một kiến ​​trúc ứng dụng tổng thể cho phép các đơn vị logic nguyên tử được xây dựng theo cách tách rời. Nếu không, bạn đang hướng đến một thế giới đau buồn khi nhiều nhà phát triển làm việc trong đó - đó là trường hợp ngay cả với các chuyên gia cũ.

Chắc chắn bạn sẽ có một số người nhất định tiếp nhận nó, học nhanh và vươn lên. Hãy chắc chắn rằng bạn tiếp tục cho chúng ăn những nhiệm vụ chỉ là một bước nhỏ vượt quá khả năng hiện tại của chúng. Không có gì giáo dục ai đó như một nhiệm vụ bắt đầu không thể. Chắc chắn bạn sẽ có một số người cố gắng và không bao giờ thực sự nắm bắt được nó. Những người đó nên được cảm ơn vì những nỗ lực của họ và duyên dáng chuyển sang một thứ khác.


1
"Hãy chắc chắn rằng bạn tiếp tục cho chúng ăn những nhiệm vụ chỉ là một bước nhỏ vượt quá khả năng hiện tại của chúng." - Nếu điều này không được thực hiện, bạn có thể thấy rằng những người đó mang kiến ​​thức của họ đến một công ty khác. Nếu bạn không cho ăn, huấn luyện và đi bộ Rookie, chúng sẽ chạy trốn giống như con chó của bạn.
Ramhound

Các tùy chọn khác sẽ là: Cung cấp cho họ một tính năng triển khai (tốt), để họ có thể so sánh các kết quả đầu ra
Etsitpab Nioliv

1

Làm thế nào công ty của bạn có thể đủ khả năng để dành thời gian từ các nhân viên khác, nhưng không thuê một người có kinh nghiệm lập trình? Lượng thời gian đào tạo, xử lý sự cố và nắm tay của bạn rất tốn kém.

Điều duy nhất tôi từng làm trong lĩnh vực này là dạy mọi người cách sử dụng trình viết báo cáo hoặc có thể một số mã VBA / Macro cho Excel. Tôi thường cung cấp cho các bộ dữ liệu để sử dụng lại. Cho họ học SQL là một điều khó khăn, nhưng tôi đã thấy nó được thực hiện (Trả tiền cho họ để được đào tạo bên ngoài.) Hầu hết những người này là các nhà phân tích tài chính có khả năng học viết mã, nhưng có thể không mất thời gian. Thử điều này với một số người trong các hoạt động là một cú sút xa.

Hãy chắc chắn rằng bạn có được đúng người và họ thực sự muốn học viết mã. Bạn sẽ không có thời gian để dạy họ mọi thứ. Họ sẽ phải tự làm rất nhiều.


Tôi đã đề cập đến việc chúng ta đang nói về những người không có kinh nghiệm trước đó (hoặc một số tiền rất nhỏ) vì vậy chúng tôi không nói về các mức lương cần thiết để thuê một lập trình viên chuyên nghiệp.
Yuji Tomita

Ah, và công ty của chúng tôi hơi giống một gia đình: chúng tôi thích tự làm mọi thứ và khiến mọi người tăng thứ hạng. Tôi chủ yếu tò mò làm thế nào để cấu trúc luồng công việc của tân binh vào trong tôi.
Yuji Tomita

0

@louisgab đã đúng về đánh giá mã. Đó cũng là bước đầu tiên của tôi. Một điều quan trọng sẽ giúp bạn là đảm bảo rằng họ phải sửa chữa những sai lầm của chính họ cho dù bạn tìm thấy chúng trong đánh giá mã hay sau này. Họ thậm chí không nhận ra mình đang phạm sai lầm trừ khi họ phải sửa chúng. MAke chắc chắn cũng để giải thích tại sao giải pháp họ sử dụng là một sai lầm và tại sao những gì bạn đang đề xuất là tốt hơn. Vài tuần đầu tiên bạn sẽ cảm thấy như thể bạn có nhiều việc hơn nhờ có những người khác, nhưng nếu bạn đánh giá mã và giải thích mọi thứ và mong họ học hỏi, trong vài tuần họ sẽ giúp đỡ nhiều hơn so với khi bạn chỉ tự làm tất cả Nhưng có một cam kết sâu sắc về thời gian của bạn để giúp họ đạt được tốc độ mà quản lý của bạn cần phải nhận thức được.

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.