Đang thực hiện
Tên đăng nhập
Mật khẩu
 
Hoặc đăng nhập bằng:
Nhập lại mật khẩu

Trang chủ Tin tổng hợp
Tin tổng hợp

15 sự thật về nghề lập trình

Cập nhật: 11/10/2018 Lượt xem: 294
Lập trình viên là một nghề nghiệp tuyệt vời, nó mang lại cho bạn khả năng sáng tạo vô hạn, làm những điều mình thích và có thu nhập rất cao. Tuy nhiên, cố một số điều mà có thể bạn chưa biết về nghề lập trình này. Cùng xem 15 sự thật của nghề lập trình viên nhé.

Lập trình viên là một nghề nghiệp tuyệt vời, nó mang lại cho bạn khả năng sáng tạo vô hạn, làm những điều mình thích và có thu nhập rất cao. Tuy nhiên, cố một số điều mà có thể bạn chưa biết về nghề lập trình này. Cùng xem 15 sự thật của nghề lập trình viên nhé.
 

1. Ngại tìm sự giúp đỡ từ lập trình viên khác
 

Thật sự thì lập trình viên phải tự tìm tòi một mình mới có thể giải quyết được vấn đề, nâng cao kỹ năng của bản thân từ khi còn học trên ghế nhà trường.

Tuy nhiên, thói quen này đến khi đi làm lại không phải thực sự tốt. Chúng ta không phải thiên tài lập trình hay kể cả thiên tài cũng có những giới hạn của bản thân. Và thường các lập trình viên lại thích sự thử thách tìm tòi để giải quyết vấn đề một mình thay vì hỏi một người đồng nghiệp giỏi về vấn đề đó.

Ít nhất là cho đến trước khi deadline dí vào mông.

 

2. Các lập trình viên thường không nói ra toàn bộ vấn đề mình đang gặp phải
 

Điều này có liên quan về vấn đề tâm lý. Khi một người nào đó gặp phải một vấn đề, họ thường không đưa ra toàn bộ những thông tin về vấn đề đó, đặc biệt là khi họ trực tiếp hay gián tiếp phải chịu trách nhiệm về nó.

Điều này đã được công nhận qua nghiên cứu ở những người làm lập trình chúng ta, và một trong những lý do chính mà đa phần mọi người trả lời là việc nói ra toàn bộ vấn đề mình đang gặp phải là một dấu hiệu của sự kém cỏi và sẽ dẫn đến việc bị đánh giá thấp bởi những người khác.

Tình huống này càng phổ biến hơn khi ở những người mới vào nghề lập trình.

 

3. Gần giống với câu 1: Lập trình viên thường tự tìm giải pháp trước khi hỏi ai đó
 

Sự thật rằng những lập trình viên không ưu tiên việc trao đổi thông tin với người khác khi họ gặp phải vấn đề. Lại một lần nữa có liên quan đến suy nghĩ rằng họ sẽ bị đánh giá.

Tuy nhiên, ở khía cạnh lập trình thì, StackOverflow đã rất thành công trong việc ứng dụng đặc điểm này để tạo ra một diễn đàn hỏi đáp lớn nhất cho cộng đồng lập trình viên.

Bạn có thể hỏi hoặc tìm bất kỳ điều gì liên quan đến lập trình mà không cần hỏi đồng nghiệp bên cạnh bạn.

 

4. Lập trình có thể chia thành 4 giai đoạn
 

Việc phân chia này khá quan trọng trong việc trợ giúp các hệ thống liên quan đến lập trình và qua đó người quản lý có thể có cái nhìn tổng quan về tiến độ và tính hiệu quả của toàn dự án.

Hơn nữa, việc biết các lập trình viên đang ở giai đoạn nào của tiến trình để có thể hỗ trợ khi cần, tránh mất nhiều thời gian vào những điều không cần thiết.

Quá trình lập trình có thể chia ra làm 4 giai đoạn như sau:

a) Complex Programming – Lập trình phức tạp

b) Making Progress – Có tiến triển

c) Slow Progress – Gặp khó khăn

d) Stuck – Ngõ cụt

 

5. Developer thường không trả lời thật lòng khi được hỏi về những khó khăn
 

Điều này có vẻ khá là hiển nhiên nhưng lại rất quan trọng. Những khó khăn trong quá trình lập trình có thể dẫn đến những vấn đề nghiêm trọng về sự nhiệt tình và tự tin của cả nhóm.

Một trong những khó khăn lớn nhất của việc xác định và phân loại những giới hạn chính là việc những thông tin này có thể là hoàn toàn chủ quan.

Hay nói theo cách khác, nếu một lập trình viên được hỏi trực tiếp rằng họ đang gặp phải một vấn đề nào đó không thể vượt qua chắc chắn sẽ đưa đến một câu trả lời không thật lòng. Lòng tự trọng và đạo đức nghề nghiệp đôi khi cũng có ảnh hưởng đến vấn đề này.

 

6. Có 6 loại khó khăng trong lập trình
 

Bên cạnh việc xác định 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 như sau:

Thứ nhất, Design: “Tôi không biết máy tính nên làm gì”.
Thứ hai, 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”.
Thứ ba, 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”.
Thứ tư, 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”.
Thứ 5, Hiểu biết: “Tôi nghĩ là tôi biết cách sử dụng X, nhưng nó không như tôi mong đợi”.
Thứ sáu, 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”.

 

7. 30% thời gian của lập trình viên là dùng để đọc mã nguồn
 

Những người lập trình biết rằng việc chỉnh sửa công cụ mã nguồn rất quan trọng. Tuy nhiên, thời gian được phân chia như thế nào cho việc chỉnh sửa vần là một dấu hỏi đối với các nhà nghiên cứu.

Dựa trên một nghiên cứu đã được thực hiện, các lập trình viên thường dành khoảng 30% thời gian làm việc để đọc các tập tin trong mã nguốn chứ không phải để viết các dòng lệnh.

Việc này liên quan đến nghiên cứu, quan sát, tập hợp thông tin, ghi nhớ và nhiều hoạt động khác. Qua đó, bạn có thể cho rằng việc lập trình là một công việc cần suy nghĩ rất nhiều.

 

8. Làm việc từ xa thường có năng suất thấp hơn làm việc tại công ty. 
 

Ý kiến về năng suất làm việc này vẫn đang gây tranh cãi, đặc biệt khi những lập trình viên làm việc ở nhà hay từ xa cũng như những dự án phát triển phần mềm quốc tế đang tăng nhanh hơn bao giờ hết.

Dù sao thì những bằng chứng xác đáng dựa trên các phạm trù của phần mềm chỉ ra rằng trên thực tế nhưng lập trình viên làm việc từ xa làm việc kém năng suất hơn những người làm việc cùng nhau tại một địa điểm.

Tuy nhiên, điều này lại không hợp lý khi chúng ta phân tích những yếu tố khác trong bài viết này, chẳng hạn như xu hướng hạn chế giao tiếp với người khác. Trên thực tế, những đoạn hội thoại đời thường là một yếu tố quan trọng ảnh hưởng đến kết quả của nghiên cứu này. Nguyên nhân có thể là do việc trao đổi những phát hiện của mình trong giờ nghỉ giải lao giữa các cuộc họp tương đối quan trọng.

 

9. Nam, da trắng, còn trẻ là điểm chung của các lập trình viên
 

Tuyên bố về sự đa dạng trong cộng đồng lập trình viên này không chỉ đến từ các nghiên cứu khoa học mà còn được đưa ra bởi người sáng lập trang web tuyển dụng Skillcrush. Điều này đã được giới thiệu trong video “Liệu CODE có phải là ngôn ngữ quan trọng nhất trên thế giới?”.

Ngày này, rất dễ để phát hiện những nhóm người thiểu số trong cộng đồng lập trình viên, đặc biệt là số lượng phụ nữ. Tuy nhiên, một số dữ liệu lại chỉ ra rằng, đó không phải là nhóm người duy nhất ít góp mặt trong giới lập trình và việc này còn có thể có ảnh hưởng nghiêm trọng khi liên quan đến những đoạn code cho các ứng dụng tiếp cận với một nhóm đối tượng người sử dụng nhất định.

 

10. Thông báo lỗi, thời gian phát hiện lỗi trình dịch và lỗi chương trình, thời gian trung bình để giải quyết lỗi
 

Các thông báo lỗi trong các trường hợp lỗi ngôn ngữ và lỗi chương trình khá là cụ thể. Để nêu ra một số trường hợp, các bạn có thể tìm thấy trong luận án thạc sỹ của Suzanne Marie Thompson. Cô ấy đã nghiên cứu rất nhiều lập trình viên Java trong các môi trường và bối cảnh khác nhau để đưa ra nhưng sự thật thú vị về họ.

Mặc dù nghiên cứu này tập trung vào một bối cảnh cụ thể (ngôn ngữ lập trình Java), chúng ta có thể so sánh với những bối cảnh khác và chứng minh được rằng hầu hết những lỗi thông dụng này đều xuất hiện.

 

11. 50% công sức của lập trình viên bỏ ra 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 một 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 về chỉ ra rằng có sự mất cần bằng giữa việc viết chương trình và bảo trì nó.

Trong nghiên cứu có chỉ ra 50% công sức của lập trình viên là để bảo trì còn đưa ra một nội dung thảo luận về sự phát triển của phần mềm trong việc bảo trì và sự cần thiết của việc đó. Chắc chắn rằng việc tìm hiểu trước khi đưa ra quyết định đi tìm 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.

 

12. Chi phí bảo trì có thể chiếm tới 90% tổng chi phí cho dự án.
 

Trong kinh doanh có quy tắc như thế này: Bán sản phẩm cho KH mới tốn kém hơn rất nhiều bán sản phẩm cho khách hàng cũ.

Tuy nhiên, trong lập trình thì lại có quy tắc ngược lại: Làm phầm mềm mới đôi khi rẻ hơn rất nhiều so với bảo trì phần mềm cũ.

 

13. 4 nhiệm vụ cơ bản khi bảo trì phần mềm.
 

Một nghiên cứu về bảo trì mã nguồn có ảnh hưởng rất lớn đến cộng đồng lập trình viên có phân loại các nhiệm vụ này 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. 4 nhiệm vụ bao gồm:

a) Cải tiến: Bao gồm những thay đổi về chức năng

b) Tính ứng dụng: Những thay đổi để đáp ứng với yêu cầu

c) Chỉnh sửa: Khắc phục lỗi

d) 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 đặc biệt quan trọng trong việc hỗ trợ đ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.

 

14. Chi phí cho việc xử lý lỗi trong quá trình sử dụng cao gấp 10 lần so với giai đoạn xây dựng chương trình và gấp 100 lần giai đoạn thiết kế
 

Sự thật này là một vấn đề cơ bản trong lĩnh vực công nghệ và nó dẫn đến những cải tiến trong quá trình xây dựng phần mềm để đạt đến giai đoạn như ngày nay chúng ta có. Điều quan trọng nhất ở đây là việc nhận thực được cái giá phải trả cao như thế nào khi không chú trọng đến giai đoạn thiết kế và xây dựng.
 

15. Kiểm tra lại thường phát hiện thêm 60% lỗi
 

Việc kiểm tra lỗi được thực hiện bởi người khác, có thể là người trong nhóm hoặc không, thực sự có hiệu quả. Đã có rất nhiều nghiên cứu về vấn đề này, nhưng một nghiên cứu quan trọng đã chỉ ra rằng 60% lỗi có thể được phát hiện khi có nhiều hơn một người rà soát lại mã nguồn (không nhất thiết là các lỗi phát hiện đều được khắc phục).

Những nghiên cứu này cho thấy rằng khá nhiều nghịch lý tồn tại ở trong thế giới lập trình. Cũng bởi vì nghiên cứu này nên có khá nhiều thay đổi trong cách vận hành các dự án phần mềm.

Bạn cảm thấy thế nào về 15 sự thật này? Hãy cho chúng tôi biết trong phần bình luận.

 

via Getlinks

Tư vấn viên 1: Lê Thoa
Tư vấn viên 2: Thu Huyền
Tuyển sinh lập trình viên quốc tế - MMS new vision
Khóa học C&B Excel - Trần Văn Hải