Thông báo không vui, lập trình viên mới: Bạn sẽ bị đánh giá qua tài liệu của mình
Các lập trình viên trở thành những người phát triển vì họ thích việc lập trình. Nhiều người đã bắt đầu lập trình khi còn là thiếu niên sau giờ học, hoặc vào những giờ sau giờ làm việc tại góc làm việc của họ. Họ nhận ra sức mạnh mà họ có thể đạt được từ môi trường phát triển tích hợp (IDE) và dòng lệnh của mình, và họ trở nên nghiện nó.
Ngay cả khi các lập trình viên có được công việc mơ ước nơi họ có thể lập trình suốt cả ngày, nhiều người vẫn giữ nguyên các dự án phụ của mình vào buổi tối và sau giờ làm việc. Tôi cá nhân biết về các lập trình viên vẫn tiếp tục việc lập trình trên tàu sau khi rời khỏi văn phòng của họ — bởi vì trên tàu có gì khác để làm không?
Lập trình là một cách sống. Đơn giản như vậy.
Chỉ có một vấn đề nhỏ: Lập trình không phải là phần duy nhất của phát triển phần mềm.
Bạn cũng sẽ phải làm việc với một nhóm, tham gia các cuộc họp, viết email, và viết tài liệu cho mã nguồn của bạn.
Và trong tương lai, điều quyết định sự thành công hay thất bại của sự nghiệp của bạn sẽ không phải là những email bạn viết hay những cuộc họp, cũng không phải là những đóng góp bạn đưa ra trong cuộc họp. Tin hay không, nó sẽ không phải là mã nguồn bạn viết.
Yếu tố quyết định giữa một sự nghiệp có ảnh hưởng lâu dài đối với công ty của bạn và một sự nghiệp không có là chỉ một điều: tài liệu của bạn.
Trong vòng hai năm, không ai sẽ hiểu được mã nguồn của bạn
Ngôn ngữ và framework xuất hiện và biến mất.
Chỉ vài năm trước đây, Python2 là tiêu chuẩn của lập trình back-end và khoa học dữ liệu. Sau đó, Python3 xuất hiện, và mọi thứ thuộc Python2 đã lỗi thời và không hoạt động với bất kỳ mã nguồn mới nào.
Luôn có một ngôn ngữ, một framework, một công nghệ nào đó sẽ thực hiện công việc hiện tại tốt hơn và nhanh hơn.
Hoặc có thể chỉ là điều thịnh hành hơn.
Dù cách này hay cách khác, nhiều lập trình viên mới — và họ thường chiếm đa số người được tuyển dụng mới — sẽ không bận tâm đến những ngôn ngữ cũ nữa.
Họ sẽ viết lại mã nguồn của bạn.
Hoặc hoàn toàn quên nó đi.
Mã nguồn của bạn không tồn tại trong một không khí đóng
Ngay cả khi mã nguồn của bạn ở trong một ngôn ngữ khá phổ biến, không ai sẽ hiểu nó chỉ bằng cách đọc mã đó.
Có lẽ bạn đang viết phần giao diện trước của một ứng dụng. Nhưng nếu không ít nhất hiểu một số về những gì backend làm, không ai sẽ hiểu mã nguồn một cách sâu sắc.
Và, như nhiều lập trình viên có thể chứng minh, sự hiểu biết sâu rộng là quan trọng để duy trì mã nguồn.
Bạn không thể chỉ thêm một tính năng giao diện mà không nghĩ đến sự hỗ trợ backend cho nó. Hoặc thêm một tính năng có vẻ đẹp trong ứng dụng của bạn nhưng ở bản chất, không ai quan tâm.
Thành viên nhóm đến và đi — thậm chí bạn cũng vậy
Tài liệu là người bạn tốt nhất cho quá trình giới thiệu.
Hãy nghĩ về điều này: Đội của bạn đã có bao nhiêu người mới trong vài năm qua?
Và có bao nhiêu thành viên trong nhóm đã có thời gian và kiên nhẫn để giải thích từng đoạn mã cho những người mới?
Những người phát triển cần phải triển khai. Hầu hết lập trình viên không có thời gian để đầu tư vài tháng để đưa một thành viên mới lên tốc độ làm việc. Quản lý của bạn không quan tâm đến khả năng hướng dẫn của bạn. Họ muốn thấy kết quả ở dạng mã nguồn.
Tài liệu là giải pháp. Tất cả những gì bạn có thể giải thích, bạn cũng có thể viết ra. Một khi đã viết, nó có thể giúp một người mới. Hoặc hai. Hoặc một trăm.
Tài liệu mở rộng. Và tiết kiệm thời gian.
Ngoài ra, một ngày nào đó bạn sẽ không còn ở đó để hướng dẫn người mới. Có thể bạn sẽ chuyển lên một vị trí cao hơn. Hoặc bạn sẽ chuyển công ty. Hoặc bạn sẽ nghỉ ốm khi có điều gì đó xảy ra.
Dù cách nào đi nữa, khi bạn không còn ở đó nữa, tài liệu của bạn sẽ làm việc thay bạn.
Tài liệu của bạn là di sản của bạn.
Quản lý dù sao cũng không sẽ đọc mã nguồn của bạn.
Những người lập trình chuyên nghiệp sẽ không hiểu sâu sắc về mã nguồn của bạn khi chỉ đọc nó. Quản lý của bạn sẽ không hiểu gì cả.
Hầu hết quản lý biết điều này. Đó là lý do họ không đọc mã nguồn.
Đó không phải là sự lười biếng. Đó là sự hiệu quả.
Quản lý cần quyết định sử dụng nguồn lực nào cho dự án nào, chuyển động thành viên nhóm nào đến đâu, và vân vân. Quyết định kinh doanh.
Tại cơ bản, họ đang quản lý những người tạo ra mã nguồn. Họ đang quản lý mã nguồn ở một cấp độ rất cao.
Bạn không thể quản lý mã nguồn nếu bạn không hiểu gì cả. Vì vậy, quản lý đọc tài liệu mã nguồn.
Ngoài ra, nếu bạn liên tục tạo ra tài liệu tuyệt vời cho mã nguồn của mình, quản lý của bạn có thể chú ý.
Và thăng chức cho bạn.
Làm thế nào để viết tài liệu trở nên thú vị
Đúng, tất cả những lý do trên đều là lý do tốt để viết tài liệu tốt hơn. Nhưng những người phát triển không muốn viết như Stephen King. Họ muốn lập trình như Bill Gates.
Tài liệu là nỗi đau ở phía sau khi bạn nên cảm thấy hài lòng vì bạn vừa viết mã nguồn tuyệt vời.
Tuy nhiên, bạn có thể làm cho nó ít đau đớn hơn.
Sử dụng Continuous Documentation và viết tài liệu trong khi bạn đang lập trình. Sử dụng công cụ thông minh để viết và duy trì tài liệu của bạn.
Chỉ có một tỷ lệ nhỏ các lập trình viên đang làm điều này. Nhưng tỷ lệ đó đang tăng nhanh chóng.
Ngày càng nhiều lập trình viên nhận ra rằng họ cần nâng cấp tài liệu của mình. Đó là một ác độc cần thiết.
Continuous Documentation, hoặc thói quen đóng góp vào tài liệu mỗi khi bạn thay đổi — dù chỉ là nhỏ — làm cho viên thuốc dễ nuốt hơn.
Những lời cuối nổi tiếng
Con đường để tạo ra một ảnh hưởng lâu dài trong thế giới phần mềm là vòng xoay và cong, và bạn sẽ cần phải có một phần may mắn nữa.
Nếu chỉ là về việc viết mã nguồn tuyệt vời, đó sẽ là một con đường thẳng.
Tài liệu làm cho con đường đến thành công trở nên khó khăn hơn vì đó là một nhiệm vụ mà nhiều lập trình viên không thích.
Cắt nó thành từng mảnh nhỏ, và ghi chép mỗi thay đổi ngay khi bạn thực hiện nó.
Sự nghiệp của bạn sẽ biết ơn bạn.
