Nghề nào cũng có những mặt tốt - mặt xấu, nghề lập trình viên cũng vậy. Họ cũng có những bí mật mà chỉ riêng những người trong nghề mới thực sự hiểu được.
Nghề lập trình viên có thể chia thành bao nhiêu giai đoạn?
Quá trình phân chia này sẽ giúp cho việc hỗ trợ các hệ thống liên quan đến việc lập trình, thông qua đó nhà quản lý có cái nhìn tổng quát hơn về tiến độ, cũng như sự hiệu quả của toàn bộ dự án.
Việc chia các lập trình viên thành từng giai đoạn như vậy, sẽ giúp cho người quản lý biết được họ đang ở mức độ như thế nào để phương án hỗ trợ, giúp họ nhanh chóng tiến bộ hơn trong công việc.
4 giai đoạn chính trong nghề lập trình bao gồm:
- Complex Programming: Là lập trình phức tạp (đây là mức cao nhất).
- Making Progress: Đây là giai đoạn lập trình viên đã có chút tiến bộ trong công việc.
- Slow Progress: Ở mức này, các lập trình viên thường hay gặp những khó khăn trong công việc.
- Stuck: Đây là tình trạng bế tắc nhất trong nghề lập trình, cần sự trợ giúp kịp thời.
Lập trình viên thường ngại nhờ giúp đỡ khi gặp khó khăn trong công việc
Điều này ảnh hưởng đến phương pháp dạy học trong nghề lập trình. Thông thường, việc dạy học thường đi theo lối dạy lý thuyết, cho một đến hai ví dụ cùng nhiều bài tập thực hành.
Với phương pháp này, yêu cầu các lập trình phải nỗ lực hết sức để hoàn thiện mọi bài tập một cách tốt nhất, mà không làm phiền đến bất kì ai. Lâu dần, các lập trình viên đều tập quen với việc làm việc độc lập, ngại khi phải nhờ vả đến bất kỳ ai khi gặp khó khăn trong công việc.
Lập trình viên thường tìm kiếm những cách giải quyết khác trước khi hỏi đồng nghiệp
Thông thường, những lập trình viên sẽ không lựa chọn việc trao đổi thông tin với người khác khi họ gặp vấn đề. Một phần sợ phiền đến người khác, mặt khác họ lại sợ bị người khác đánh giá mình.
Xét theo khía cạnh coding, StackOverflow đã rất thành công trong quá trình ứng dụng những đặc điểm này để tập hợp sự giúp đỡ của các lập trình viên trên nhiều lĩnh vực khác nhau.
Những giai đoạn khó khăn đối với lập trình viên
Bên khả năng vượt qua những khó khăn trong quá trình lập trình, các nghiên cứu còn chỉ ra đặc điểm của những vấn đề có thể gặp phải. Để hiểu rõ hơn về những khó khăn này, các nhà nghiên cứu đã chỉ ra một số câu thường gặp, tiêu biểu là:
- Design: "Tôi không biết máy tính nên làm gì".
- Lựa chọn: "Tôi biết phải làm gì nhưng không biết phải sử dụng công cụ nào".
- Kết hợp: "Tôi biết phải sử dụng những gì nhưng không biết làm thế nào để kết hợp chúng lại với nhau".
- Sử dụng: "Tôi biết phải sử dụng những gì nhưng không biết sử dụng chúng như thế nào".
- Hiểu biết: "Tôi nghĩ là tôi biết cách sử dụng công nghệ này, nhưng nó không như tôi mong đợi".
- Thông tin: "Tôi biết chuyên gì đang xảy ra nhưng tôi không thể kiểm tra được".
Các lập trình viên dành ra 30% thời gian để đọc mã nguồn
Mỗi lập trình viên đều nhận thức được việc chỉnh sửa công cụ mã nguồn là rất quan trọng. Tuy nhiên, thời gian phân chia như thế nào cho việc chỉnh sửa hợp lý vẫn là một dấu hỏi lớn đối với các nhà nghiên cứu.
Theo một nghiên cứu đã được thực hiện, các lập trình viên thường chỉ dành 30% thời gian làm việc để đọc các tập tin trong mã nguồn, chứ không phải việc viết các dòng lệnh. Điều này liên quan đến quá trình nghiên cứu, quan sát, tập hợp thông tin, ghi nhớ, cùng nhiều hoạt động khác.
Nhờ có cuộc nghiên cứu đó, chúng ta càng có thể khẳng định rằng lập trình là công việc cần rất nhiều chất xám.
Hơn 50% công việc của lập trình viên thường là bảo trì phần mềm
Việc bảo trì có liên quan đến việc điều chỉnh "legacy code" (một đoạn code liên quan đến hệ điều hành không còn được sử dụng hay sản xuất nữa). Một nghiên cứu đã chỉ ra rằng, có sự mất cần bằng trong việc viết và bảo trì chương trình.
Các nhà nghiên cứu đã chỉ ra rằng, 50% sức lực của lập trình viên được dùng vào việc bảo trì và đưa ra nội dung thảo luận về sự phát triển của phần mềm và nó thực sự cần thiết. Chắc chắn rằng, nhiệm vụ này ảnh hưởng rất nhiều đến quá trình tìm hiểu và đưa ra quyết định lựa chọn giải pháp từ một lỗ hổng hay tiếp tục xử lý một nền tảng code có sẵn.
Bảo trì phần mềm được chia thành bao nhiêu nhiệm vụ cơ bản?
Một nghiên cứu đã chứng minh được rằng, việc bảo trì mã nguồn có ảnh hưởng rất lớn đến cộng đồng lập trình viên, quá trình này giúp phân loại các nhiệm vụ dựa trên các phiếu câu hỏi về công việc chính của bảo trì phần mềm. Bao gồm 4 nhiệm vụ cụ thể sau:
- Cải tiến: Bao gồm những thay đổi về chức năng.
- Tính ứng dụng: Những thay đổi để đáp ứng với yêu cầu.
- Chỉnh sửa: Khắc phục lỗi.
- Phòng tránh: Cải tiến để ngăn chặn các vấn đề có thể phát sinh trong tương lai.
Việc phân chia này rất quan trọng trong việc hỗ trợ quá trình đo lường, đánh giá, tổ chức và tìm ra lỗi, nhóm các chức năng trong phiên bản mới và quản lý công việc của lập trình viên.
Với những chia sẻ trên đây đối với nghề lập trình, hi vọng các bạn hãy hiểu được tâm lí, cũng như những khó khăn của các lập trình viên. Từ đó, công việc sẽ được phối hợp trôi chảy hơn trong mỗi doanh nghiệp.