Lập trình viên cũ biến mất. Về việc thuê một lập trình viên khác. Làm thế nào để tôi tiếp cận điều này? [đóng cửa]


19

Sau khi dành hơn một năm làm việc cho một dự án mạng xã hội cho tôi bằng WordPressBuddyPress , lập trình viên của tôi đã biến mất, mặc dù anh ta được trả tiền mỗi tuần, trong cả giai đoạn. Vâng, anh ấy không chết vì tôi đã sử dụng trình theo dõi email để xác nhận và thấy anh ấy mở email của tôi, nhưng anh ấy không trả lời. Có vẻ như anh ấy đã có một công việc khác. Tôi tự hỏi tại sao anh ta không thể nói như vậy. Và tôi thậm chí đã trả cho anh ta một mức lương tạm ứng cho công việc mà anh ta đã không làm.

Vấn đề là tôi chưa bao giờ yêu cầu tài liệu đầy đủ cho hầu hết các chức năng mà anh ấy đã mã hóa. Và có NHIỀU chức năng trong khoảng thời gian hơn 1 năm này và một số trong số đó có lỗi mà anh ấy vẫn không sửa. Bây giờ có vẻ như tất cả khó hiểu.

Điều đầu tiên tôi nên làm bây giờ là gì? Làm thế nào để tôi tiến hành?

Tôi đoán điều đầu tiên cần làm là có được một lập trình viên khác, nhưng tôi muốn bắt đầu bằng chân phải bằng cách ghi lại tất cả các mã hiện tại để bất kỳ lập trình viên nào cũng có thể làm việc trên tất cả các chức năng mà không gặp vấn đề gì.

Đó có phải là điều đầu tiên tôi nên làm? Nếu có, làm thế nào để tôi đi về nó?

Loại tài liệu tiêu chuẩn cần thiết cho một cái gì đó như thế này là gì? Tôi có thể có được một lập trình viên sẽ chỉ làm tài liệu cho tất cả các mã và sửa lỗi hoặc tài liệu không thực sự quan trọng?

Ngoài ra, bạn có nghĩ rằng việc lập trình viên "cá nhân" khác tốt hơn hay nhờ một công ty có lập trình viên làm việc cho họ, để nếu lập trình viên được giao cho dự án của tôi biến mất, người khác có thể thay thế anh ta, mà không có sự tham gia của tôi? Tôi cảm thấy đây là cách tiếp cận tôi nên làm lúc đầu.


29
"Và tôi thậm chí đã trả cho anh ta tiền lương tạm ứng cho công việc mà anh ta đã không làm." - đó có thể là một lý do để kiện anh ta, bạn nên xác nhận một luật sư.
Doc Brown

bạn có thể cho chúng tôi một số chi tiết về mức độ thành thạo của bạn trong việc hiểu mã nguồn còn lại không?
Maru

10
Câu hỏi đầu tiên và quan trọng nhất: bạn có hợp đồng không?
Radu Murzea

5
Nếu tôi là lập trình viên thay thế, thì tài liệu tôi muốn sẽ là những gì anh ta làm việc từ: phạm vi, cột mốc, mô tả vấn đề, v.v. Tôi muốn mã của anh ta được giữ nguyên, và tôi sẽ không thấy nó hữu ích nếu mã của anh ấy đã được "ghi lại" bởi một người có lẽ không thể phân tích nó tốt như tôi có thể.
dùng16764

15
Điều đầu tiên là thay đổi đăng nhập và mật khẩu cho máy chủ của bạn.
Michael Riley - AKA Gunny

Câu trả lời:


17

Dựa trên sự tương tác mà chúng tôi có trong các bình luận, tôi sẽ đưa ra giả định rằng bạn đã không đuổi nhà phát triển duy nhất của mình đi vì những việc cá nhân. Tuy nhiên, dựa trên cuộc trò chuyện đó, tôi sẽ đoán khác rằng thất bại này vẫn chủ yếu là trách nhiệm của bạn với tư cách là người quản lý tuyển dụng. Như bạn đã đề cập, bạn không có TẤT CẢ bất kỳ kinh nghiệm nào với các nhà phát triển, nhưng sau đó, làm thế nào để bạn đưa ra quyết định về cách thuê một người?

Nghe có vẻ như bạn đã làm hết sức mình, nhưng bạn đã thuê một người chỉ đơn giản là không thể xử lý quy mô của dự án này, anh ta đã xây dựng nền tảng run rẩy đổ nát dưới anh ta và sau đó anh ta đơn giản rời đi. Thật không may, sự khác biệt giữa các nhà phát triển và doanh nhân là trước đây được trả lương theo giờ / lương nhưng họ có thể chọn đến và đi khi họ muốn. Anh ta được trả tiền cho những giờ anh ta làm việc và anh ta rời đi khi anh ta chọn không được trả tiền nữa. Không có gì bạn có thể làm về điều đó.

Giờ thì sao? Có vẻ như bạn bắt đầu đi vào con đường thay thế con người bằng quy trình. Nếu chỉ có bạn có đủ tài liệu, mọi người có thể rời đi và những người khác có thể chọn nơi họ rời đi. IMO không hoạt động và nếu nó hoạt động, nó vẫn sẽ đắt hơn nhiều so với việc có một đội ngũ nhân viên cố định đáng tin cậy. Quản lý tại các công ty khác nhau trong 30 năm qua đã cố gắng thay thế mọi người bằng đủ tài liệu (bao gồm cả công việc cuối cùng của tôi) và họ đã thất bại mỗi lần. Đó là lý do tại sao tôi quyết định chuyển đổi công việc và bây giờ họ bị mắc kẹt với các tài liệu lỗi thời và không bao giờ chính xác, trong khi tôi đang có thời gian sống trong một khởi nghiệp mới.

Tôi sẽ làm gì nếu tôi là bạn sẽ cố gắng tìm đúng người có đủ kỹ năng và kinh nghiệm để nhận dự án này và hoàn thành nó. Điều này không chỉ bao gồm các kỹ năng mã hóa, mà còn thiết kế, kiến ​​trúc cũng như quản lý dự án cơ bản. Đừng cố gắng xác định cách anh ấy làm công việc của mình, hoặc anh ấy cần bao nhiêu tài liệu để sản xuất. Chỉ cần tập trung vào việc tìm đúng người và sẵn sàng trả tiền cho phù hợp. Khi bạn tìm thấy anh ta, hãy chắc chắn rằng vai trò của bạn là hỗ trợ anh ta và loại bỏ chướng ngại vật khỏi đường đi của anh ta, chứ không phải giám sát / micromanage. Tôi không ngụ ý rằng bạn đã làm điều đó trước đây, nhưng tôi biết rất nhiều nhà quản lý có xu hướng làm điều đó và điều đó chỉ phản tác dụng.

Nói chuyện với các doanh nhân khác, có thể là những người có nền tảng kỹ thuật phần mềm nhiều hơn. Đọc các diễn đàn này và đưa ra một loạt các câu hỏi để hỏi thuê mướn tiềm năng của bạn. Trình bày vấn đề và hỏi cách tiếp cận sẽ là gì. Nếu anh ấy là người phù hợp (và giả sử anh ấy không nhìn thấy trang này), anh ấy sẽ có thể đề xuất rất nhiều điều mà người khác đã đề xuất về những gì nên làm trong công ty của bạn khi bạn bắt đầu phục hồi. Yêu cầu anh ta xác định kế hoạch từ khi anh ta được thuê đến khi v1.0 của bạn sẽ xuất xưởng. Làm thế nào anh ấy sẽ đưa bạn đến đó. Yêu cầu giúp đỡ phỏng vấn một người như vậy.

Chỉ cần một vài suy nghĩ của riêng tôi: Theo dõi lỗi là điều bắt buộc (Jira tốn 10 đô la cho một nhóm tối đa 10 người). Kiểm soát nguồn là điều bắt buộc (git là miễn phí. Lực lượng chi phí đậu phộng cho một nhóm tối đa 5 người hoặc hơn). Mã của bạn là tài liệu của bạn. Không phải tài liệu từ bằng văn bản của bạn. Anh ta nên xem lại mã và giữ những gì có thể cứu được; loại bỏ phần còn lại và tập trung vào viết mã duy trì và có thể đọc được. Lưu tài liệu cho một vài tài liệu thiết kế cấp cao, vài trang. Anh ta phải biết công nghệ bạn đang làm việc. Đừng thuê một ai đó chỉ với ý định tốt; bạn không đủ khả năng để họ học theo thời gian của bạn. Hỏi họ những dự án khác mà họ đã thực hiện (không may là bạn hoặc ai đó bạn tìm thấy có thể phải theo kịp khía cạnh kỹ thuật của mọi thứ). Bạn đang tìm kiếm một người có đủ kinh nghiệm nhưng đồng thời không quá nhiều mà tia sáng của sự phấn khích đã bị đốt cháy. Tìm ai đó đang đói để tạo ra một tác động. Phương pháp mà ông đề xuất hoặc tuân theo sẽ cho phép bạn xem công việc trên cơ sở thường xuyên (một hoặc hai tuần) và để cung cấp phản hồi tức thì. Đừng thuê MỌI NGƯỜI nói rằng, nó sẽ sẵn sàng trong đúng 7.4 tháng, tôi sẽ cho bạn biết khi nào nó hoàn thành.

Chúc may mắn


1
@pocto: mọi người ở ngoài đó nhưng bạn cần có khả năng ... a) đủ khả năng cho họ b) tìm họ (tiếc là không thể giúp bạn ở đó vì tôi chưa bao giờ phải nhìn). Nhưng một khi bạn tìm được đúng người, anh ta sẽ nắm bắt tình hình hiện tại bao gồm cả trang web hiện có và thực hiện cuộc gọi. Điều chắc chắn là phải sửa các lỗi hiện có và giữ khách hàng hiện tại. Hãy chắc chắn rằng đó là một phần trong kế hoạch của anh ấy trong tương lai. Một điều khác để bạn xem xét là bạn thực sự cần phải tìm ai đó để thực hiện phần lớn công ty của bạn. Có lẽ thay vì chỉ tìm kiếm một nhân viên, hãy tìm kiếm ...
DXM

1
... một đối tác. Là một phần của gói bồi thường, hãy cung cấp một phần của công ty bạn (có thể 20-30%?). Nếu bạn thành công, bạn sẽ kiếm được ít hơn 20% nhưng nếu bạn không có thêm 20% trong số 0 thì bạn sẽ không làm được gì. Điều này có thể giúp khuyến khích nhân viên / đối tác mới của bạn đảm bảo anh ta có những sở thích tương tự như bạn (nghĩa là làm cho trang web thành công, không chỉ thu tiền lương hàng tuần)
DXM

1
Pocto, một số ý kiến ​​trình bày ở đây không được chấp nhận phổ biến. Ví dụ: có cùng một nhóm phát triển sẽ đơn giản hóa nhiều thứ, nhưng (như bạn đã tìm ra), bạn không thể đảm bảo điều đó. Vì vậy, tài liệu và mã tốt là cần thiết để những người khác có thể bước vào với chi phí thấp hơn (nhưng vẫn đáng kể). "Tia sáng của sự phấn khích đã không bị đốt cháy" nghe có vẻ như là chủ nghĩa thuần túy đối với tôi. Quản lý phát triển phần mềm rất khó - phân biệt lập trình viên giỏi với người xấu sẽ khó, tôi sợ.
psr

@psr: Tôi sẽ lấy mã được viết tốt với cách đặt tên / cấu trúc tốt và tài liệu thiết kế cấp cao bất kỳ ngày nào qua mã không thể đọc được với rất nhiều tài liệu thiết kế tuyệt vời. Và tôi không có nghĩa là phải cố chấp (sp?) Nhưng tôi tin rằng nghề nghiệp của chúng tôi đòi hỏi sự học hỏi và phát triển không ngừng và rất nhiều điều không thể được thực hiện chỉ trong công việc vì công nghệ sẽ thay đổi theo bạn. Tuy nhiên, tôi đã thấy nhiều người cả trẻ và già hơn tôi, những người theo thời gian dường như chỉ đơn giản nói: "Tôi đã học đủ, giờ tôi sẽ làm việc". Tôi cũng đã thấy những người lớn tuổi hơn tôi đá nhưng họ làm việc nhiều hơn là chỉ làm việc 40 giờ.
DXM

13

Đây là một tình huống kỳ lạ và tôi khá chắc chắn rằng bạn không kể toàn bộ câu chuyện. Tôi đã làm việc với nhiều người, một số người đã rời đi vì nhiều lý do (tôi là đồng nghiệp của họ), nhưng đừng cố nói với chúng tôi rằng mọi thứ đều rất tốt và một ngày không liên lạc.

Nhưng đó không phải là vấn đề. Ít nhất là không còn nữa; bạn nên học hỏi từ sai lầm của mình và cố gắng không lặp lại nó trong tương lai. Và vâng, tôi thực sự đề nghị rằng 50% là lỗi của bạn khi anh ấy / cô ấy rời đi.

Bây giờ về việc giải quyết vấn đề hiện tại:

  1. Hãy cố gắng liên hệ với lập trình viên của bạn. Anh ấy đọc email của bạn - cung cấp cho anh ấy tiền để làm tài liệu / sửa các lỗi nghiêm trọng nhất. Không ai khác có thể sửa những cái đó nhanh hơn anh ta. Nó không hoạt động à? Cố gắng tìm nơi anh ấy làm việc, liên hệ với công ty đó và kể câu chuyện của bạn. Một công ty tốt sẽ không thuê một người có thể làm điều tương tự cho họ. Ít nhất họ sẽ bảo anh ta hoàn thành tài liệu cho bạn.

    LƯU Ý: bạn không muốn người đó quay lại, bạn chỉ cần tài liệu hoàn thành

  2. Hãy chuẩn bị rằng giá trị công việc một năm của bạn sẽ bị vô hiệu lực. Anh ta có thể đã bỏ trốn khi bạn hỏi kết quả và anh ta biết rằng anh ta không thể giao hàng. Có thể mã này chứa đầy các bản hack, triển khai bẩn và chất lượng tổng thể kém. Ngay cả khi anh ấy trở lại - anh ấy có lẽ sẽ không có kỹ năng hoặc thậm chí không có thời gian để làm điều đó đúng.

  3. Hãy tìm một người khác. Anh ta cần phải biết các công nghệ tương tự (ngôn ngữ lập trình, khung, v.v.). Nếu chất lượng mã tốt - anh ta có thể tiếp tục, nếu không, anh ta sẽ có thể cấu trúc lại nó. Đúng, tái cấu trúc mất nhiều thời gian mà không có triển khai tính năng mới, nhưng nó giúp mã có thể duy trì và đó là những gì bạn cần. Thêm vào đó, một người có thể cấu trúc lại mã xấu là một lập trình viên thực sự giỏi, hãy giữ lấy anh ấy / cô ấy.

    LƯU Ý: thật ngớ ngẩn khi trả tiền trước. Toàn bộ ý tưởng của tiền lương là để trả cho công việc được thực hiện. Không phải vì một lời hứa được thực hiện :)

  4. Lập danh sách. Đó là vì lợi ích tốt nhất của bạn để có một kế hoạch. Một đặc tả kỹ thuật mà một khi đã đọc sẽ cho phép lập trình viên mới hiểu công việc và các mốc quan trọng. Có ít nhất ba tài liệu quan trọng:

    • Mô tả tổng thể về dự án - một tài liệu sẽ cho phép ngay cả một người không lập trình viên biết dự án là gì.

    • Dòng thời gian - phần nào và khi nào bạn muốn sẵn sàng? Những gì đã được thực hiện?

    • Đặc điểm kỹ thuật - đây là một cái dài. Đây là tài liệu mà một lập trình viên muốn đọc. Tách nó thành các phần logic và mô tả chi tiết nhất có thể các tính năng và quy trình làm việc của phần cụ thể đó.

Làm việc với các công ty không thực sự tốt như vậy; cơ hội của bạn sẽ không tốt hơn. Và bạn sẽ trả quá 10 lần nếu bạn chỉ thuê một lập trình viên. Nếu bạn có một nhóm nhỏ, giả sử 3-5 người, chỉ cần thuê một lập trình viên sẵn sàng làm trưởng nhóm. Anh ấy sẽ làm tốt hơn rất nhiều việc quản lý đội.


15
Tôi không khuyên bạn nên liên hệ với công ty mới của anh ấy và nói chuyện với họ về anh ấy. Sự thật hay không, ở Mỹ ít nhất là điều đó tạo ra tiềm năng cho một vụ kiện phỉ báng.
GrandmasterB

3
Câu trả lời hay, nhưng ... "Toàn bộ ý tưởng về tiền lương là trả cho công việc đã hoàn thành" .. đó là nước nào? Chúng tôi chỉ có một anh chàng tham gia nhóm của chúng tôi, dành một tháng cho nó và không sửa đổi một dòng mã nào (trong số các vấn đề khác). Chúng tôi đã trả đủ tháng lương nhưng phải cắt giảm anh ta vì chúng tôi không biết khi nào anh ta sẽ làm việc hiệu quả. Theo kinh nghiệm của riêng tôi (mà gương của Dilbert) tôi có thể đến làm việc và làm việc hết mình hoặc dành cả ngày để đi bộ và nói chuyện, và tôi được trả chính xác cùng mức lương.
DXM

@DXM, bạn đúng một phần: Bạn sẽ nhận được tiền lương trong một tháng ngay cả khi công việc của bạn không xứng đáng. Nhưng đó là một hiệu ứng của sự bảo vệ của chính phủ. Đó là một điều tốt, nhưng không phải lúc nào cũng chỉ. Và như bạn đã nói - người lười biếng sẽ không thể giữ vị trí của mình lâu dài. Nhưng tôi chủ yếu đồng ý với ý kiến ​​của bạn.
Ảo thuật sáng tạo

Tôi phải -1 để liên hệ với công ty mới nơi người này làm việc. Nếu họ mất việc, họ có thể kiện bạn. Quan trọng hơn, bất kỳ tài liệu hoặc mã sửa lỗi nào đến từ một người cay đắng sẽ có chất lượng kém đến mức bạn có thể không muốn họ ở nơi đầu tiên.
MrFox

8

Mã tài liệu sau đó bởi một lập trình viên khác? Đó chỉ là kinh nghiệm và ý kiến ​​của riêng tôi để nói với bạn rằng bạn không nên đi theo con đường đó.

Không có kiến ​​thức chi tiết hơn về chất lượng của cơ sở mã đó, ý kiến ​​của tôi là cách tiếp cận tốt nhất của bạn là thuê một lập trình viên mới để sửa lỗi, duy trì và có thể thực hiện các sửa đổi mà bạn yêu cầu.

Ý kiến ​​đó có điểm chính là sửa đổi có thể (thay đổi hoặc thêm), vì chúng cần một yêu cầu phải được thực hiện. Điều này có nghĩa là một số loại đặc tả yêu cầu phải được viết. Đây là một tài liệu.

Điều này dẫn đến một điểm duy trì toàn bộ dự án. Bạn đã không nói trong câu hỏi của mình nếu các yêu cầu chương trình hiện tại hoặc thậm chí tài liệu chức năng thô tồn tại, nhưng đó là nơi bạn nên tập trung ngay bây giờ.

Trong trường hợp bạn không có bất kỳ tài liệu nào, tại thời điểm này, bạn cần phải lấp đầy khoảng trống đó. Bạn không thể thuê một lập trình viên để thiết kế ngược lại ứng dụng của bạn và tạo ra tài liệu một cách kỳ diệu từ đó . Bạn phải "giải thích" những gì bạn muốn chương trình làm (ngay cả khi nó có nghĩa là xem xét lại những gì đã được lập trình.)

Khi bạn có tài liệu đó được viết (dưới dạng yêu cầu hoặc đặc tả chức năng), bạn sẽ nhận được kết quả tốt hơn từ việc thuê một lập trình viên mới khi bạn có thể bàn giao tài liệu và bắt đầu làm việc từ đó.

Ngoài ra còn có rất nhiều chương trình sản xuất tài liệu từ mã nguồn, đó là cách tốt để tạo ra bộ xương giải thích mã nguồn thực tế (đây là lĩnh vực đặc tả kỹ thuật) mà bạn chỉ có thể làm việc trong bối cảnh giải thích các khía cạnh kỹ thuật của chức năng được chỉ định trong đặc tả chức năng, trong đó chỉ định chức năng của các yêu cầu được chỉ định trong đặc tả yêu cầu.

Vì vậy, có, ý kiến ​​của tôi là thuê một lập trình viên để sửa lỗi. Sau khi anh ấy đã sửa các lỗi mà bạn đã đồng ý nên sửa, bạn có thể thảo luận về khía cạnh tài liệu như một hợp đồng khác. Với may mắn, bạn đã thuê một lập trình viên có một số kinh nghiệm và có thể đóng góp cho những bước bạn nên làm tiếp theo từ đó.


Đó là một câu trả lời RẤT toàn diện và hữu ích, Raybarg. Tôi nghĩ những gì bạn nói rất có ý nghĩa - trước tiên hãy thuê một lập trình viên khác để sửa các lỗi hiện có và sau đó thảo luận về khía cạnh tài liệu như một hợp đồng khác. Tôi thậm chí còn hy vọng có được lập trình viên trên cơ sở lâu dài, sau khi anh ấy sửa lỗi, vì vậy điều này sẽ hoạt động.
pocto

@Raybarg Giới thiệu "sau khi sửa lỗi, bình luận nội dung": Tôi khuyên bạn nên bình luận KHI sửa lỗi. Rốt cuộc, giai đoạn đó là nơi bạn thu thập tất cả kiến ​​thức vào tài liệu. Vì vậy, tại sao không viết nó xuống ngay lập tức? Nó sẽ chỉ giúp tìm và sửa nhiều lỗi nhanh hơn.
Marcel

@Raybarg, bạn có thể giải thích thêm về những gì bạn đã nói ở đây về "các chương trình sản xuất tài liệu từ mã nguồn". Có thật không? Những chương trình này là gì và làm thế nào để họ làm việc?
pocto

3

Đây là cách tôi tiếp cận vấn đề:

  • Bạn có kiến ​​thức tên miền. Bạn biết những tính năng nào hiện có trên trang web, những tính năng bạn muốn thêm trong tương lai và có thể liệt kê một vài lỗi được người dùng báo cáo.

  • Có một đống mã ngồi ở đó, để nó ở một góc. Nó có thể có lỗi, nhưng nó vẫn mang lại giá trị vì trang web có người dùng hoạt động. Viết lại hoàn toàn do đó sẽ là một sai lầm IMO.

Cầu nối giữa chuyên môn tên miền của bạn và mã đã bị phá vỡ khi lập trình viên rời đi. Bạn cần xây dựng lại nó để cơ sở mã có thể được đồng bộ hóa với các yêu cầu của bạn một lần nữa và các bản cập nhật trong tương lai có thể được phát triển.

Vấn đề là, cây cầu đó không thể được làm hoàn toàn bằng tài liệu. Phần mềm là vấn đề của con người cũng như kỹ thuật. Nếu bạn không giải thích cho lập trình viên mới những gì bạn mong đợi rất chi tiết, anh ấy hoặc cô ấy sẽ khó có thể suy luận rằng chỉ từ mã - tất cả sẽ như vậy nếu lập trình viên trước đó viết mã khó hiểu, tài liệu kém, mã được kiểm tra kém. Và nếu bạn không hợp tác chặt chẽ với lập trình viên mới để tìm ra cách tự động, liên tục để xác minh mã phù hợp với yêu cầu của bạn, nói cách khác là làm cho cây cầu trở nên mạnh mẽ hơn, vấn đề sẽ tự lặp lại.

  • Thường xuyên ngồi xuống (thậm chí hầu như) với lập trình viên mới cho các phiên xử lý kiến ​​thức miền. Trong mỗi phiên này, hãy cùng nhau viết các thông số kỹ thuật cho một phần nhỏ sản phẩm của bạn. Nó có thể là một trang web duy nhất, nó có thể là một tính năng. Làm cho chúng trở thành các thông số kỹ thuật có thể thực hiện được (a la Behavior-Driven Development ) sẽ tăng mức độ tin cậy của bạn rằng cây cầu hoạt động, bởi vì bạn có thể chạy chúng liên tục và được cảnh báo khi có sự cố. Nó cũng sẽ làm cho cuộc sống của nhà phát triển dễ dàng hơn.

    Sau một phiên, nhà phát triển có thể quay lại công việc của mình và viết các bài kiểm tra cấp thấp hơn để xác nhận rằng mã hiện tại tuân thủ thông số kỹ thuật. Nếu nó không tuân thủ, thì lập trình viên có mọi thứ anh ta cần để sửa nó. Điều quan trọng là vẫn có sẵn cho bất kỳ câu hỏi nào anh ta có thể có.

  • Cố gắng duy trì sự hợp tác chặt chẽ, liên tục giữa bạn và các lập trình viên trong dự án của bạn và đảm bảo điều này cũng đúng giữa họ. Điều này là cần thiết nếu bạn muốn văn hóa chức năng và kỹ thuật xung quanh dự án của bạn tiếp tục tồn tại, tránh các vấn đề như hiện tại bạn đang gặp phải. Điều này tất nhiên không chỉ yêu cầu hơn 2 nhà phát triển làm việc trong dự án của bạn mà còn chia sẻ với nhau kiến ​​thức về mọi thứ họ viết. Do đó, người ta có thể hoạt động như một chuyển đổi dự phòng khi người khác bị mất tích. Các kỹ thuật như lập trình cặpđánh giá mã là những cách tốt để đạt được điều đó.

1

Chỉ cần thêm vào những gì mọi người đã nói,

Nếu bạn không thể khiến lập trình viên cũ ghi lại mã của mình ngay cả ở mức giá, thì đừng hy vọng người khác có thể ghi lại mã đó tốt hơn. Vì vậy, đây là một số tùy chọn về những gì bạn có thể làm bây giờ để làm cho lập trình viên mới làm việc hiệu quả vào ngày đầu tiên.

  1. Nhận cơ sở dữ liệu lỗi và bắt đầu nhập tất cả các lỗi bạn tìm thấy vào đó. Đây là danh sách việc cần làm ưu tiên của lập trình viên. Tài liệu tốt và đưa vào càng nhiều chi tiết càng tốt (tệp nguồn / nguyên nhân gốc, những gì nó làm và những gì nó nên làm). Có rất nhiều phần mềm theo dõi lỗi miễn phí, như Bugzilla , RedmineJIRA . Hãy sử dụng bất cứ điều gì bạn thích.
  2. Tạo một bảng đặc tả cho dự án của bạn. Điều này sẽ cung cấp cho lập trình viên mới một số hướng sau khi các lỗi đã được xóa. Bạn có thể xem hướng dẫn của Joel về thông số kỹ thuật bằng văn bản .
  3. Tạo một lịch trình hoặc một dòng thời gian cho dự án của bạn. Họ nên có thời hạn và các mốc quan trọng trong đó họ được trả tiền cho công việc họ hoàn thành thay vì trả trước.

Bây giờ đã hết cách, bạn có thể bắt đầu tìm kiếm một lập trình viên. Và như Creative Magic đã nói, việc thuê ngoài công việc cho các công ty có thể dẫn đến thảm họa hoặc thổi giá lên vô cùng và hơn thế nữa.

Lần này, bắt đầu lập kế hoạch đúng cho yếu tố xe buýt khi thuê lập trình viên. Mọi người đến và đi và không có gì bạn có thể làm về nó, vì vậy hãy chuẩn bị cho điều tồi tệ nhất lần này bằng cách nhận hai lập trình viên, hoặc như Uooo nói, hãy lấy một lập trình viên và một người kiểm tra.

Bây giờ, một khi các lập trình viên đang ở trong cửa hàng với bạn, bạn có thể bắt đầu yêu cầu họ ghi lại mã của họ về phía trước thay vì yêu cầu họ ghi lại mã cũ, thực sự, hãy quên điều đó.

Những điều khác cần xem xét khi có một lập trình viên mới, đảm bảo họ biết kiểm soát nguồn và kiểm tra tự động. Ngoài ra, hãy cố gắng kiểm tra Joel càng nhiều càng tốt với sự giúp đỡ của họ, bạn chỉ có thể tự mình làm rất nhiều việc này.


0

Vì vậy, lập trình viên duy nhất của bạn đã bị xe buýt đâm , và bạn cần thay thế ngay bây giờ.

Bạn có thể cố gắng kiện lập trình viên cũ của mình, dựa trên hợp đồng yout, hoặc tìm hiểu những gì sai với anh ta. Giả sử anh ấy sẽ không quay lại, điều này sẽ không giúp bạn.

  • Bạn muốn hoàn thành sản phẩm của mình, vì vậy hãy tìm kiếm một lập trình viên có kinh nghiệm trong việc duy trì và phát triển các hệ thống hiện có. Tôi sẽ không tập trung vào việc nói cho lập trình viên của bạn phải làm gì theo thứ tự. Hãy chắc chắn rằng bạn thuê một người chuyên nghiệp, người viết tài liệu và kiểm tra đơn vị bất cứ khi nào cần thiết.
  • Từ phía bạn, bạn có thể chắc chắn rằng lập trình viên mới có mọi thứ cần thiết cho công việc của mình : Thông số kỹ thuật yêu cầu, một bộ máy làm việc mạnh mẽ, v.v. Bạn muốn có một lập trình viên chuyên nghiệp, vì vậy hãy cung cấp cho anh ta một môi trường làm việc chuyên nghiệp.

Ngoài ra, hãy suy nghĩ về việc thuê một nhà phát triển thứ hai để làm cho loại tình huống khó khăn này trở nên dễ dàng hơn trong tương lai. Một thử nghiệm sẽ hữu ích cho việc đảm bảo chất lượng là tốt.


Cảm ơn rất nhiều, Uooo, cho câu trả lời của bạn. Tôi đặc biệt thích phần thuê một nhà phát triển thứ hai để làm cho loại tình huống này trở nên dễ dàng hơn trong tương lai. Nhưng công việc của nhà phát triển thứ hai sẽ là gì?
pocto

@pocto Duy trì và phát triển phần mềm của bạn. Như đã viết: Tôi sẽ không tập trung vào việc nói cho lập trình viên của bạn phải làm gì theo thứ tự nào . Khi một lỗi cần được sửa chữa, điều này nên được thực hiện. Khi một tính năng mới và kiểm tra đơn vị cần được thực hiện, tài liệu cần phải được viết, điều này nên được thực hiện. Bạn không thuê "Bugfixer" hoặc "Trình viết tài liệu" hoặc "Trình triển khai tính năng", bạn thuê một nhà phát triển phần mềm. Và công việc của anh ấy là làm tất cả những điều đó.
Uooo
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.