Đôi điều chia sẻ về nghề lập trình viên

Đôi điều chia sẻ về nghề lập trình viên

Công nghệ thông tin phát triển như vũ bão, nghề lập trình viên theo đó cũng là một trong những nghề hot của xã hội. Nhưng làm thế nào để trở thành một lập trình viên giỏi? Lý thuyết? Kinh nghiệm?

Nhiều nghiên cứu nhận thấy rằng không có mối liên quan nào giữa số năm kinh nghiệm của một lập trình viên với chất lượng code và hiệu suất của anh ta.

Có một sự chênh lệch kỹ năng rất lớn giữa các lập trình viên đang làm việc.

Đặc biệt trong lập trình, nhiều nghiên cứu đã chỉ ra rằng có một sự khác biệt rất lớn trong chất lượng và kích cỡ của các chương trình được viết ra, cũng như hiệu suất làm việc của các lập trình viên.

Thực ra bạn sẽ chẳng bao giờ biết được mình sẽ gặp điều gì khi bạn nhận một công việc: theo thống kê, thì bạn sẽ có 50/50 cơ hội để làm việc cùng hoặc là một thiên tài hoặc là một thằng ngốc. Liệu điều đó có giúp bạn an lòng? Liệu bạn có mong chờ một tài xế xe tải với 20 năm kinh nghiệm ngồi sau vô-lăng thì lái tốt hơn một tay “lính mới” vô nghề với ít hơn một năm kinh nghiệm lái xe trên đường? Dĩ nhiên là bạn sẽ như vậy. Và liệu một lập trình viên kỳ cựu với mái tóc hoa râm cùng 10 năm kinh nghiệm làm việc trên hàng tá các dự án phần mềm khác nhau – làm việc tốt hơn một tay trẻ tuổi vừa mới bước chân ra khỏi giảng đường đại học? Vâng, bạn có thể nghĩ vậy, nhưng trong thế giới của phát triển phần mềm, thì logic đó không áp dụng được:

Trong phân tích các kết quả của Coding War Games, 1977 – 1986, người ta nhận thấy rằng “những lập trình viên có 10 năm kinh nghiệm thì không làm tốt hơn những người có 2 năm kinh nghiệm. Không có mối liên quan nào giữa kinh nghiệm và sự thực thi ngoại trừ có những người có ít hơn 6 tháng kinh nghiệm với ngôn ngữ lập trình được sử dụng trong bài kiểm tra đã không làm tốt như những người tham gia khác. (Peopleware, p.47)

 

những kiến thức cơ bản về học lập trình

 

>>> Có thể bạn quan tâm:

     -  Ngành phần mềm đang khát lập trình viên PHP

     -  Một số điều sẽ làm cho lập trình viên khó chịu

Trong một nghiên cứu khác của Bill Curtis cũng cho kết quả tương tự, ông đã tiến hành trên một nhóm có 60 lập trình viên chuyên nghiệp làm một tác vụ debugging “đơn giản” (“Substantiating Programmer Variability,” Proceedings of the IEEE, vol. 69, no. 7, 1981). Mặc dù tác vụ rất đơn giản, nhưng có đến 6 lập trình viên chuyên nghiệp không có khả năng hoàn thành tác vụ đó, và dữ liệu về bài thi của họ đã bị loại ra khỏi kết quả của cuộc nghiên cứu. Curtis đã quan sát thấy có một sự khác nhau rất lớn xung quanh những lập trình viên có khả năng hoàn thành tác vụ đó. (Steve McConnell)

Một nghiên cứu khoảng cuối những năm 1960 được tiến hành bởi 3 nhà khoa học Sackman, Erikson, và Grant (1968) cho thấy có một sự khác nhau rất lớn trong hiệu suất lập trình của mỗi cá nhân. Họ đã nghiên cứu các lập trình viên chuyên nghiệp có trung bình khoảng 7 năm kinh nghiệm và nhận ra rằng tỉ lệ thời gian viết code giữa lập trình viên giỏi nhất và tồi nhất là khoảng 20:1; tỉ lệ thời gian debug lỗi là trên 25:1; của kích cỡ chương trình là 5:1; và của tốc độ thực thi chương trình là khoảng 10:1.

“Họ nhận thấy rằng không có mối liên quan nào giữa số năm kinh nghiệm của một lập trình viên với chất lượng code và hiệu suất của anh ta.” (Code Complete , trang 548)

Hay nói cách khác, những lập trình viên giỏi thì thực sự giỏi, và những lập trình viên tồi thì thực sự là rất cùi bắp.

Một kết luận được rút ra từ rất nhiều dữ liệu ủng hộ giả thuyết rằng không có mối liên quan nào giữa kinh nghiệm, khả năng thực thi, và kỹ năng? Liệu chúng ta sẽ đi đâu từ kết luận này? Tôi không có bất kỳ câu trả lời nào, nhưng có hai ý kiến sau đây:

1. Trừ khi bạn thực sự yêu thích công việc lập trình, còn không thì bạn nên tìm kiếm một nghề khác. Có phải thực ra: bạn đang lập trình chủ yếu để kiếm tiền, hoặc bạn đang lập trình bởi vì bạn chạy theo hội chứng đám đông?

Dẫu điều này nghe có vẻ khó chịu, nhưng nó là một hiện tượng kinh tế có thực – trong một môi trường toàn cầu hóa và công việc đang bị chuyển sang gia công tại nước ngoài, thế giới này đơn giản là không thể ủng hộ chút nào nữa về việc trả lương cao cho mấy tay coder xoàng xĩnh. Có hàng trăm ngàn lập trình viên Ấn Độ có trình độ rất tốt, họ sẽ làm cái mà bạn đang làm nhưng chỉ với số lẻ mức lương của bạn, và có hàng ngàn người khác đang bước vào lĩnh vực này từ những quốc gia thuộc thế giới thứ ba.

Hãy đổ lỗi cho Internet nếu bạn muốn, nhưng chỉ “làm việc tàm tạm với mấy cái máy tính” thì không còn là lá bùa hộ mệnh để nhận một công việc công nghệ có mức lương hậu hĩnh nữa.

2. Hãy đối xử với công việc của bạn giống như nó là: một nghề nghiệp kỹ nghệ yêu cầu kỹ năng cao và phải học tập suốt đời. Nghề nào cũng cần đam mê và nhiệt huyết, bạn hãy làm theo điều mà trái tim mách bảo. Thiết nghĩ, yêu thương thì không cần lí do, hãy làm những điều tuổi trẻ của bạn cảm thấy có ích. 

 

>>> Bạn có biết:

       -    học illustrator

       -    học indesign 

       -    dao tao lap trinh



Khóa học lập trình PHP & MYSQL

khoa-hoc-lap-trinh-php-mysql-tai-ha-noi

Mr. Dương Bốn

lop hoc photoshop tai ha noi

khoa học photoshop

Khóa học lập trình ASP.NET

khoa-hoc-lap-trinh-asp.net

Học TK web trên mã nguồn mở

khoa hoc lap trinh tren open source

HTML CSS JQUERY BOOTSTRAP

khóa học html css jquery bootstrap

Thành viên thích trang