Thợ code. Anh là ai?

Thu, 21 Nov 2013

Là mình đây, không cần phải tìm kiếm đâu xa. Như định nghĩa mình tổng hợp được từ mọi người chia sẻ gần đây thì mình cũng từng được gán mác là thợ code

Ai cũng từng làm thợ code

Mình đã có lúc dành gần như 12 tiếng/ngày chỉ cho việc ngồi viết code. Ngoài trừ thời gian ăn ngủ, nghỉ ngơi, thì chính xác là toàn thời gian đó mình chỉ có ngồi nhìn màn hình và chỉ có code và code. Đúng thật là trong khoảng thời gian này mình cũng không sáng tạo ra cái gì mới, tất cả các mô hình hệ thống đã được thiết kế và mô tả đầy đủ, công việc của mình là hiện thực những phần trên bản thiết kế đó thành sản phẩm.

Trong suốt thời gian đó kỹ năng mình được rèn luyện nhiều nhất không phải là viết code mà là đọc code, vì đa số các module đã được xây dựng hoàn chỉnh rồi nên mình đọc source code của dự án để xem cách sử dụng và tích hợp chúng lại để làm các tính năng mới. Đôi lúc cần thiết mình mò luôn vô cả source của framework để đọc, nó giúp mình hiểu hơn về cách hệ thống hoạt động và khi đọc mình học hỏi được rất nhiều cách viết code hay và hiệu quả có thể áp dụng ngay để cải thiện kỹ năng viết code của mình. Rõ ràng là việc này không thể học được một sớm chiều, cũng không thể học qua bất kì sách vở nào, phải xắn tay vô mà làm và kiên trì ngày qua ngày thì mới thấy được kết quả.

Cũng không phải tự nhiên trong giới lập trình hay nói với nhau câu “Show me your code”, vì trong nghề này nó lạ lắm bạn có thể “nghe một nữa, hiểu một phần tư, nhưng chém GẤP ĐÔI”. Có những người, lúc nói thì cứ đao to búa lớn cho đến khi đụng việc phải nhảy vô code thì viện hết cớ này cớ khác rồi quay lại một mớ lý thuyết suông không ăn nhập gì với nhau. Vì thế kỹ năng viết code nó quan trọng lắm, nếu bạn nghĩ bạn là một lập trình viên nhưng khi đụng đến code mà tay chân lóng ngóng không viết nổi một dòng code ra hồn thì có khi bạn phải xem lại bản thân.

Cần 10.000 giờ luyện tập để trở nên thành thạo trong một lĩnh vực.
(Malcolm Gladwell)

Và nếu các bạn đã từng nghe qua “Quy tắc 10.000 giờ” của Malcolm Gladwell thì tác giả cũng đề cập tới việc phải bỏ ra ít nhất 10.000 giờ để có thể thành thạo trong một lĩnh vực nhất định. Có thể con số 10.000 không hoàn toàn chính xác với tất cả mọi việc, nhưng riêng với lập trình mình thấy nó tương đối đúng, đó là khoảng thời gian tiếp xúc với code cần thiết cho một người mới bắt đầu.

Do đó, cá nhân mình nghĩ việc bạn có thời gian làm thợ code nó không quá tệ và tiêu cực, ai theo con đường lập trình thì cũng đã từng trải qua thời kì này và đó cũng lúc bạn học hỏi và rèn luyện các kỹ năng để trở thành một lập trình viên thực sự.

Không có gì xấu hổ khi phải làm một anh thợ code…

…nhưng đừng làm quá lâu

Như các bạn cũng biết việc phát triển một sản phẩm phần mềm không chỉ có việc viết code, còn rất nhiều công việc khác còn quan trọng hơn rất nhiều việc ngồi code lấy ví dụ như: phân tích yêu cầu, thiết kế hệ thống, xây dựng giải pháp. Sau khi sản phẩm hoàn thiện còn vô số các vấn đề liên quan đến việc triển khai, bảo mật, tối ưu hóa khi vận hành trên môi trường thực tế.

Vì thế, nếu cứ mãi dừng lại ở việc code thì bạn sẽ khó có thể thấy được một bức tranh tổng thể của một sản phẩm.

Khi bạn đã có nền tảng lập trình vững vàng, bạn có thể bắt đầu vào việc xây dựng các hệ thống cũng như các giải pháp để có thể giải quyết được các yêu cầu của dự án. Hoặc, thậm chí bạn có thể tự xây dựng các sản phẩm riêng cho mình để giải quyết các bài toán lớn hơn trong xã hội. Rất nhiều cơ hội để bạn có thể tận dụng được khả năng của mình mà không gói gọn chỉ trong vài dòng code.

Và ở từng giai đoạn tỉ trọng thời gian dành cho việc viết code của bạn cũng sẽ khác nhau. Bạn có thể tham khảo cách phân biệt ngắn gọn sau để xem mình đang ở giai đoạn nào trong bức tranh này nha, cái này mình tham khảo trên Quora và tổng hợp lại:

  • Coder: Tập trung vào việc viết code
  • Programmer: Giải pháp + viết code
  • Developer: Phân tích + giải pháp + viết code
  • Architect: Kiến trúc + phân tích + giải pháp + viết code

tho-code

Như bạn thấy dần lên các vị trí cao hơn công việc code mỗi ngày của bạn sẽ phải ít lại vì bạn còn phải tập trung thời gian để giải quyết các công việc liên quan khác không phải là code, nhưng không đồng nghĩa với việc bạn không còn code nữa, nếu còn đam mê thì chúng ta vẫn còn code thôi. Ngại gì nhỉ? 😝😝😝

Loading...