Giaosucan's blog - Chia sẻ kiến thức theo cách bá đạo

Ticker

20/recent/ticker-posts

Coding và Massage

Hai khái niệm Coding và Massage mới nghe qua có thể nói là “vãi cả liên quan” vì nó nhắc tới 2 ngành nghề khác hẳn nhau. Tuy nhiên, chúng có mối quan hệ biện chứng và vô cùng logic.  Bài viết này sẽ phân tích đầy đủ từng khía cạnh.

Coding và Massage

Code Công nghiệp

Giới checker thường có thuật ngữ “Hàng công nghiệp”, ám chỉ những em gái ngành có thái độ làm việc vô trách nhiệm, gây hậu quả không nghiêm trọng lắm. Không yêu nghề, làm chóng cho xong, thiếu cảm xúc, kĩ thuật thì nghèo nàn, khiến khách hàng tụt mood, đánh giá thấp.
Trong ngành IT cũng vậy, cũng có khái niệm “code công nghiệp”. Đó là một hình thức code với nội dung lặp đi lặp lại, lấy số lượng hơn chất lượng, theo khuôn mẫu sẵn có, không quan tâm đến pattern, extendable, miễn sao là chạy được deliver đúng hạn.
Lần đầu tiên, mình làm việc theo kiểu code công nghiệp này cách đây 3 năm, khi làm một dự án với khách hàng Nhật Bản. Với phong cách làm việc kiểu Nhật, mọi thứ phải theo khuôn mẫu, standard mà họ đã define sẵn, không được thay đổi. Khách hàng làm Architect, Detail design, công ty outsource chỉ việc implement theo design.
Bản design được thiết kế chi tiết đến mức từng xử lý được mô tả dưới dạng pseudo code (Một dạng mã giả như ngôn ngữ tự nhiên của con người) kiểu thế này
Sử dụng câu lệnh sau để lấy thông tin của User
Select X, Y, Y from ***…
Kiểm tra tuổi của user nếu nhỏ hơn 18 tuổi thì nhẩy tới xử lý ABC
Xử lý ABC: Hiện message thông báo…
Developer cứ theo chỉ dẫn mà code theo mà cũng không hiểu vì sao nó lại như vậy…Mỗi developer sẽ code hàng trăm các xử lý như vậy (thường là tương ứng với 1 màn hình của ứng dụng). Các màn hình thì tương đối giống nhau, dẫn tới có hàng trăm màn hình có source code viết tương tự như nhau. Dẫn tới hoạt động copy paste, tay nhanh hơn não được sử dụng liên tục. Để tăng năng suất, hàng loạt những tool gen code được phát triển, developer chỉ việc mở tool nhập thông tin rồi click, click là code được tạo ra, sau đó vào chỉnh sửa thêm bớt.
Image result for copy paste code
Code công nghiệp đã sinh ra số lượng LOC khổng lồ trong thời gian ngắn. Và để có thể có được lượng code như thế phải build những team đến cả trăm member để code, copy paste. Thực tế, trong một tháng, mình đã từng code tới gần 15K LOC, chủ yếu là copy paste, vừa code vừa nghe nhạc vì cũng chẳng cần phải suy nghĩ làm gì.
LOC code tăng lên, bug nhiều lên. Bug xảy ra màn hình này thì cũng xảy ra ở màn hình khác (do code tương tự nhau), và đẻ ra khái niệm triển khai ngang, khách hàng detect được 1 bug, dev tìm ra giải pháp fix bug. Giải pháp đó sẽ được các developer còn lại apply cho tất cả các màn hình liên quan, dẫn tới nhiều dev cũng ko hiểu vì sao để fix bug đó thì phải code như vậy.
Sau khi code xong, developer còn phải làm công việc làm screenshot lấy evidence cho khách hàng. Đó là công việc chụp ảnh màn hình của ứng dụng tại các thời điểm xử lý khác nhau như hiện message box, load danh sách…. Developer phải chụp tới hàng nghìn bức ảnh như vậy. Đó là một công việc tốn rất nhiều thời gian, nhàm chán và thật sự là thảm họa.
Code công nghiệp cũng gây hậu quả như các em gái ngành công nghiệp như trên, nó tạo ra một đội hình làm việc như công nhân, lặp đi lặp lại, và mãi mãi không thể skill up được. Trong mắt khách hàng, họ sẽ đánh giá
Coding và Massage


Code hàng tuyển

Trái ngược với những em gái ngành công nghiệp là những em hàng tuyển. Làm việc có tâm, yêu nghề, coi khách như thượng đế, phục vụ nhiệt tình như với người yêu, không hối thúc, không ngừng nghiên cứu các kĩ thuật mới để phục vụ khách hàng.  Và tất nhiên, tiếng lành đồn xa, các em luôn là sự lựa chọn đầu tiên của khách, có được tiền bo nhiều, thu nhập khủng.
Trong ngành công nghệ thông tin cũng vậy, đó là những coder không ngừng học hỏi công nghệ mới, không chấp nhận những dự án kiểu công nghiệp như trên, dám thử thách với những dự án khó, theo phương châm không biết thì học, éo biết gì cũng tiến.
Những bạn code hàng tuyển thì không code với số lượng lớn, theo phương châm ít nhưng mà chất. Cũng là viết code, nhưng từng dòng code viết ra được trau chuốt từ coding conventions đến design pattern, tính toán đến từng chi tiết mở rộng sau này. Và đương nhiên, không có dòng code nào giống dòng code nào, mỗi xử lý đều làm theo cách riêng. Cũng giống như những em hàng tuyển, mỗi khách hàng lại có những cách chiều khác nhau, đảm bảo sướng đê mê.
Qua mỗi dự án, coder ngày càng tiến bộ do được trải nghiệm những công nghệ mới, những ngôn ngữ lập trình mới. Họ dần dần được nâng tầm thành full stack developer, Software architect đạt được mức lương khủng

Kết luận


Coding và Massage tuy là 2 ngành nghề khác nhau, nhưng đều có mối liên hệ khá là chặt chẽ. Người trong  ngành đều có mục đích là làm vừa lòng khách hàng, tìm kiếm thu nhập cao, tạo tiếng tăm, trở thành hàng tuyển trong lĩnh vực của mình. Nếu bạn muốn thực sự muốn phát triển trong nghề nghiệp của mình, cần tránh xa kiểu làm việc "công nghiệp" này

Đăng nhận xét

0 Nhận xét