31/08/2018, 15:34

Nghề lập trình viên quá trau chuốt code là tự hại mình?

Phàm đã làm nghề lập trình viên, ai cũng mong viết ra những dòng code thật đẹp đẽ, hoàn hảo. Nhưng, điều đó có cần thiết và khả thi? Đọc bài viết này để biết: Tại sao quá trau chuốt code là tự hại mình? Nên khôn ngoan đầu tư vào những kĩ năng nào khác? Xem thêm việc làm Developer tại ...

nghe-lap-trinh-vien-nguyen-thanh-luan

Phàm đã làm nghề lập trình viên, ai cũng mong viết ra những dòng code thật đẹp đẽ, hoàn hảo. Nhưng, điều đó có cần thiết và khả thi?

Đọc bài viết này để biết:

  • Tại sao quá trau chuốt code là tự hại mình?
  • Nên khôn ngoan đầu tư vào những kĩ năng nào khác?

Xem thêm việc làm Developer tại ITviec

NGHỀ LẬP TRÌNH VIÊN VÀ NHỮNG SỰ THẬT MẤT LÒNG

Sáng nay, tôi tình cờ đọc được bài viết trên blog của Mortoray: chẳng ai quan tâm đến code của bạn đâu(Mortoray là lập trình viên hơn 20 năm kinh nghiệm, hiện đang sống và làm việc tại Đức.)

Trong bài viết, ông nêu ra 3 luận điểm:

1. Code chỉ là công cụ.

Nhiều người nghĩ rằng viết code là mục đích công việc của nghề lập trình viên. Họ nhầm. Những dòng code không phải là sản phẩm – đích đến, chúng chỉ là công cụ giúp lập trình viên làm ra phần mềm với tính năng mà người dùng cần.

2. Khách hàng/sếp của bạn chỉ quan tâm đến tính năng thôi!

Bạn nhầm. Không phải vì họ không đủ khả năng để hiểu những vấn đề kĩ thuật, mà chỉ đơn giản là họ-chả-quan-tâm. Những điều mà khách hàng/sếp muốn biết là: tiến độ dự án, các tính năng hoạt động tốt không, còn thiếu sót/chỉnh sửa những gì, có rủi ro gì cần lưu ý hay không .v.v…

3. Mấy cái thư viện chẳng quý báu như bạn nghĩ, nên không cần giữ khư khư source code.

nghe-lap-trinh-vien-meme

Code hoàn hảo chỉ tồn tại trong trí tưởng tượng.

Quan điểm này làm bạn khó chịu? Nó phủ nhận niềm tự hào về nghề lập trình viên của chúng ta: code là một nghệ thuật, coder một là nghệ sĩ? Có lẽ. Thú thực, bản thân tôi lúc mới đọc bài này cũng sôi máu.

Nhưng, tiếc rằng, ngay cả Jeff Atwood cũng đồng tình với quan điểm của Mortoray.

(Phải, chính Jeff Atwood, chủ codinghorror.com, kiêm founder stackoverflow – trang web thần thánh chuyên “cứu khổ phò nguy” cho dev!)

TRONG NGHỀ LẬP TRÌNH VIÊN, QUÁ TRAU CHUỐT CODE LÀ TỰ HẠI MÌNH?

Tôi đã tự hỏi câu này không biết bao nhiêu lần. Logic rất đơn giản. Mỗi người chỉ có 24 giờ mỗi ngày. Cho nên, thay vì còng lưng ngồi tỉa tót code, có lẽ chúng ta NÊN KHÔN NGOAN đầu tư thời gian vào những kĩ năng cần thiết khác, có lợi cho sự nghiệp hơn?

Bởi vì chúng ta đang viết code trong một thế giới vô cùng khắc nghiệt. Trừ phi bạn xuất chúng như Mr. Robot, hoặc trừ phi bạn tự viết code cho chính mình. Còn nếu không, bạn sẽ phải cạnh tranh với rất nhiều developer khác để rao bán sức lao động.

nghe-lap-trinh-vien-mr-robot

Nếu “trình” không được như Mr. Robot, thì bạn nên tính thêm “cửa” đầu tư cho các kĩ năng khác nữa nha ^^’

Đừng hiểu lầm. Tôi không hề cổ vũ cho việc code ẩu, code gian dối “sống chết mặc bay”. Trái lại, chính vì code là công cụ, nên trong nghề lập trình viên, việc sử dụng thành thạo, linh hoạt nhiều ngôn ngữ/framework lại càng quan trọng.

Quan điểm của tôi ở đây là: trên đời không có phần mềm nào là hoàn hảo. Nên, cũng đừng tỉ mẩn nắn nót code thật đẹp đẽ, tinh tế làm gì. Hãy dùng thời gian đó cho những việc khác có ích hơn.

VẬY, LÀM NGHỀ LẬP TRÌNH VIÊN, CHÚNG TA NÊN ĐẦU TƯ THỜI GIAN VÀO ĐÂU?

Tôi nghĩ, kĩ năng mềm và xây dựng thương hiệu cá nhân là hai thứ xứng đáng nhất để chúng ta đầu tư thời gian.

Trong bài viết mà tôi vô cùng tâm đắc – 7 sai lầm trong nghề lập trình viên, tác giả John Sonmez đã chỉ ra 3 sai lầm mà đại đa số dev mắc phải: không đầu tư vào kĩ năng mềm, không tham gia cộng đồng, không xây dựng thương hiệu cá nhân.

Để marketing bản thân, bạn có thể áp dụng 3 cách đơn giản của John Sonmez như sau:

  • Đọc sách “Đắc nhân tâm” của Dale Carnegie. Đây là cuốn sách tốt nhất về kĩ năng giao tiếp và làm việc với con người.
  • Viết blog. Cố gắng viết 1 bài hàng tuần.
  • Lên kế hoạch cho sự nghiệp của bạn. Ngồi lại với một tờ giấy trắng hoặc một trang Google Doc. Dành ra một giờ đồng hồ nghĩ về đích bạn muốn đến. Chọn một mục tiêu, rồi nghĩ về các bước giúp bạn tiến đến mục tiêu đó.

Hoặc, bạn cũng có thể bắt đầu từ những điều nhỏ nhặt, thiết thực như: học cách viết CV, cover letter sao cho hấp dẫn, cách chọn môi trường làm việc phù hợp, hay cách đàm phán để có mức lương cao hơn khi nhảy việc .v.v…

Tôi đã thử áp dụng và thấy rất hiệu quả. Bạn cũng thử xem sao?

Bạn nghĩ rằng code đẹp là cần thiết? Hoặc, bạn nghĩ nên cân bằng giữa “chủ nghĩa hoàn hảo” và tính thực dụng khi viết code? Theo bạn, chất lượng code như thế nào là “vừa đủ tốt”? Hãy cùng chia sẻ ở phần bình luận phía dưới!

Và đừng quên tham khảo việc làm Developer tại ITviec!

0