Viết code “đẹp” là tự hại mình – Những sự thật mất lòng về nghề developer

Viết code là việc làm của lập trình viên nên có rất nhiều người đã tốn một mớ thời hạn chỉ để “ làm đẹp ” cho code của mình. Thật rủi ro xấu rằng, những lập trình viên đó lại đang tự hại mình ! Ngoài việc viết code, nghề lập trình viên còn ẩn giấu những “ thực sự mất lòng ” mà chẳng ai nói bạn nghe khi mới vào nghề đâu !
Tình cờ, ITviec đọc được bài viết trên blog của Mortoray – một lập trình viên với hơn 20 năm kinh nghiệm tay nghề, hiện đang sinh sống và thao tác tại Đức, có tiêu đề Chẳng ai chăm sóc đến code của bạn đâu. ITviec trọn vẹn quá bất ngờ với những gì ông san sẻ, nhất là về yếu tố viết code “ đẹp hay xấu ” nhưng sau khi ngẫm lại, những thực sự về nghề lập trình dần được hé lộ .
Đọc bài viết này để biết được :

  • Những sự thật mất lòng mà lập trình viên không hiểu (hay cố tình không hiểu)
  • Tại sao quá trau chuốt vào việc code là tự hại mình?
  • Nên khôn ngoan đầu tư thời gian vào những kỹ năng nào khác?

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

Những sự thật mất lòng về nghề lập trình viên

Trong bài viết, ông nêu ra 3 vấn đề :

Viết code không phải là tất cả

Nhiều người nghĩ rằng viết code là mục tiêu sau cuối trong việc làm của một người 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.

lap-trinh-vien

Code với lập trình viên, cũng giống như lưỡi cưa hay chiếc búa so với thợ mộc vậy. Một thợ mộc dù dùng cưa / búa thuần thục đến đâu nhưng nếu loại sản phẩm làm ra không tốt, thì vẫn là thợ mộc tồi. Cũng tựa như như vậy với việc bạn ngồi viết code một cách nắn nót .

Khách hàng hay sếp chẳng quan tâm đến cách bạn viết code như thế nào đâu!

Bạn phải đi họp với người mua hoặc sếp. Bạn hoàn toàn có thể tự hào “ khoe ” với họ về cách phong cách thiết kế database, script chi tiết cụ thể để deploy hay là liệt kê bao nhiêu class, bao nhiêu tận tâm bạn đã dùng để viết code ?Bạn thấy mặt những người nghe dài như cái bơm ? Họ ngáp ngắn ngáp dài ? Họ chăm chăm ngắt lời bạn ? Bạn bèn “ hận cả trần gian ” vì không có người hiểu mình ?

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à người mua / sếp muốn biết là : tiến trình dự án Bất Động Sản, những tính năng hoạt động giải trí tốt không, còn thiếu sót / chỉnh sửa những gì, có rủi ro đáng tiếc gì cần chú ý quan tâm hay không. v.v …

Thư giãn với video : Khách hàng phàn nàn vì Developer không test trên thiết bị này

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

Tạo thư viện riêng là đúng đắn, vì nó giúp dev làm những dự án Bất Động Sản nhanh hơn. Tuy nhiên, không có nghĩa là mọi người khác đều “ thèm muốn ” nó. Nếu không tin, thì cứ rao bán source code của bạn, thử xem tác dụng thế nào ?

Quan điểm này làm bạn khó chịu? Nó phủ nhận niềm tự hào về công việc lập trình viên của chúng ta: Viết code là một nghệ thuật, người viết code là một 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 Stack Overflow – trang web thần thánh chuyên “ giải cứu ” cho lập trình viên ! )

Jeff kể: bạn tôi làm cho một công ty open source database cực kì nổi tiếng. Ảnh nói, đống code bên đó chắc thuộc hàng gớm ghiếc nhất mà ảnh từng trông thấy trong đời.

Nhưng rồi sao? Chẳng sao cả. Người dùng chả quan tâm đến chuyện code thơm hay thối. Họ chỉ quan tâm code có chạy hay không.

Cũng tương tự, khách hàng chả quan tâm chuyện bạn chọn sử dụng ngôn ngữ nào để lập trình. Với họ, User Interface chính là ứng dụng. Chấm hết.

Viết code “đẹp” chỉ tốn thời gian mà thôi! 

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ì tất cả chúng ta đang viết code trong một quốc tế 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 đối đầu với rất nhiều developer khác để rao bán sức lao động .

Muốn bán giá tốt, bạn cần cộng thêm vào “ món hàng ” nhiều giá trị khác, chứ không chỉ trần trụi mỗi kĩ năng code .

viết code - nghề lập trình viên - mr. robotNế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.
Đừng hiểu nhầm. Đây không phải sự cổ súy cho việc viết code ẩu, viết code gian dối “ sống chết mặc bây ” .
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 động nhiều ngôn từ / framework lại càng quan trọng .

Nếu không làm chủ được “ công cụ ” code, lập trình viên sẽ không trấn áp được chất lượng mẫu sản phẩm. Và sớm hay muộn sẽ phải trả giá đắt cho những món nợ kĩ thuật ( technical debt ) .

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 viết code thật đẹp, thật tinh tế làm gì. Hãy dùng thời gian đó cho những việc khác có ích hơn.

Một mạng lưới hệ thống hoàn toàn có thể sống sót hàng chục năm, tuy nhiên vòng đời của những dòng code thường ngắn hơn rất nhiều : hoàn toàn có thể chỉ là vài tháng, vài ngày, hoặc thậm chí còn vài phút – nếu như bạn đổi khác giải pháp và buộc phải sửa code .

Vậy thì, chúng ta nên đầu tư thời gian vào việc gì?

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, ngoài đầu tư vào kỹ năng viết code.

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.

Chính John Sonmez cũng khẳng định chắc chắn : Nếu biết cách marketing bản thân thì lương của lập trình viên trọn vẹn hoàn toàn có thể gấp 2, thậm chí còn gấp 3 những người có cùng kĩ năng !

Để marketing bản thân, bạn hoàn toàn có thể vận dụng 3 cách đơn thuầ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ử vận dụng và thấy rất hiệu suất cao. Bạn cũng thử xem sao ?

Robby2

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 chia sẻ với ITviec nhé!

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