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

Single Blog Title

This is a single blog caption
Những lợi ích khi học InDesign tại Lê Trọng Tâ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

chat với thầy Dương