Những công việc như lập trình viên phần mềm quả là mơ ước với nhiều người, tuy nhiên ngành nghề gì cũng có những thứ “trời ơi đất hỡi”. Dưới đây là danh sách 10 thứ làm giới lập trình viên dễ điên đầu nhất do VnReview chuyển ngữ từ bài viết của trang tin IT World:
10. Phần cứng
Một trong những vấn đề gây đau đầu nhất dĩ nhiên là phần mềm, nhưng chúng ta không thể làm cho nó chạy mà không có phần cứng. Dù nhiều nhà phát triển phần mềm muốn bỏ qua phần cứng qua một bên, nhưng rồi sớm muộn cũng nhận ra rằng họ sẽ phải đối mặt với các vấn đề của phần cứng khi xây dựng hoặc gỡ lỗi một chương trình nào đó. Đó cũng là lý do mà nhiều lập trình viên được khuyên nên trang bị và cập nhật các phần cứng mới để giảm bớt những vấn đề phát sinh trong tương lai.
9. Phải ngồi một chỗ cả ngày
Trừ khi bạn có sẵn dụng cụ tập chạy bộ trong nhà, còn không lập trình không phải là công việc hoạt động linh hoạt như nhảy aerobic. Hầu hết các lập trình viên đều trải qua hàng giờ ngồi một chỗ với bàn phím và con chuột, mắt chăm chú nhìn vào màn hình máy tính. Điều này về lâu dài sẽ gây ra rất nhiều chứng bệnh nan y như đau lưng hay thoát vị đĩa đệm. Do vậy, bạn phải tự điều chỉnh để thay đổi cách làm việc nếu không muốn bị phát sinh nhiều bệnh nan y về sau.
8. Dò lỗi (debugging)
Dù có thể làm rất tốt nhưng hầu hết các đoạn mã lập trình chúng ta tạo ra hằng ngày đều ẩn chứa nguy cơ mắc lỗi. Do vậy, sẽ không ngạc nhiên gì khi các lập trình viên vẫn dành thời gian để tìm kiếm các lỗi phát sinh. Một số lỗi có thể dễ dàng phát hiện trong quá trình dò tìm hoặc lập trình, nhưng cũng có những lỗi khó nắm bắt và có thể phát hiện ra nhờ vào báo lỗi của ai đó khi sử dụng phần mềm, nhất là trong các dự án lớn với hàng ngàn dòng mã lệnh.
7. Thiếu tài liệu tham chiếu
Làm việc với mã lệnh của các nhà phát triển khác có thể là điều không mấy dễ chịu, nhưng việc thiếu dữ liệu đầu vào còn làm khó giới lập trình viên hơn. Thật đáng tiếc khi điều này diễn ra khá thường xuyên, làm lập trình viên mất thời gian để tinh chỉnh và dự đoán các yêu cầu của đối tác, chẳng ai dễ chịu khi được thuê làm việc mà thiếu các dữ liệu hoặc mã lệnh tham chiếu. Điều này dễ phát sinh các tranh cãi làm lập trình viên… tụt huyết áp.
6. Tích hợp code
Các hệ thống kiểm soát mã nguồn như Git hoặc Subversion đều là những công cụ tuyệt vời cho phép nhiều nhà phát triển cùng làm việc trên một cơ sở mã lệnh mà không cần phải ở cạnh nhau. Tuy nhiên, thực tế thì thật khó để đảm bảo rằng chúng không bị xung đột với nhau khi ráp nối các đoạn mã lệnh của họ với nhau.
5. Những kỳ vọng hão huyền
Các nhà phát triển phần mềm thường được coi là những gã “có đầu óc”. Đáng tiếc là điều này thường khiến các ông chủ, quản lý dự án hoặc đối tác có những kỳ vọng không thực tế về lập trình viên mà họ đang làm việc và đưa ra những hứa hẹn khó thành. Điều này dẫn tới việc các lập trình viên có thể kiệt sức trước các đòi hỏi “viển vông”.
4. Người khác “phá hoại” dòng lệnh của mình
Mỗi đoạn mã lệnh của lập trình viên được viết ra đều phải kết hợp hài hòa với đoạn mã của các nhà phát triển khác viết ra. Đó có thể là một phần khác của cùng một phần mềm, một thư viện thứ ba hoặc một công cụ, thậm chí là toàn bộ ứng dụng khác, không một mã lệnh nào tách biệt hoàn toàn khỏi những thứ mà nó tương tác. Điều đó có nghĩa là chỉ cần một lập trình viên cẩu thả với các dòng lệnh của họ cũng đủ phá tan sự liên kết giữa các đoạn mã của lập trình khác viết ra trong quá trình tương tác với nhau.
3. Người ta không hiểu bạn đang làm gì
Dù số lượng các lập trình viên đang ngày càng gia tăng, chưa kể sự phụ thuộc vào phần mềm của chúng ta càng ngày càng lớn, nhưng điều đó cũng không ngăn cản việc nhiều người “ngoại đạo” không hiểu những gì mà các nhà phát triển phần mềm thực sự đang làm. Trong con mắt của dân ngoài ngành, các nhà phát triển đơn giản chỉ là những con người của công nghệ, thậm chí họ còn không phân biệt được giữa những người chuyên làm phần mềm và những người chuyên về phần cứng.
Điều này dễ tạo ra các hiểu lầm và thường xuyên đặt sai kỳ vọng, chẳng hạn như bạn bè của bạn sẽ nghĩ bạn là “dân công nghệ” nên có thể sửa bất kỳ hỏng hóc nào liên quan tới máy tính của bạn, mà không quan tâm tới khoảng cách vật lý hoặc các vấn đề hỏng hóc đó gây ra bởi phần cứng hay phần mềm?
2. Thiếu thời gian
Cũng như những nỗ lực trong các lĩnh vực khác, nghề lập trình đòi hỏi bạn phải kiên nhẫn và mất thời gian để xây dựng các phần mềm tốt. Đáng tiếc là hầu hết nỗ lực đó của bạn ít được ghi nhận và coi trọng, các cấp quản lý và khách hàng thường không sẵn sàng chờ đợi bạn hay cho bạn nhiều thời gian để đưa ra các giải pháp cũng như cam kết hoàn tất công việc. Kết quả là sản phẩm của các lập trình viên bị hối thúc tiến độ thường bộc lộ nhiều yếu kém hoặc lỗ hổng, dễ bị khai thác hoặc đánh giá thấp và làm sai lệch các đánh giá về lập trình viên thực hiện nó.
1. Làm việc với các dòng lệnh của người khác
Là một nhà phát triển, sớm muộn gì bạn cũng phải làm việc với các dòng lệnh của người khác viết ra. Cho dù các dòng lệnh đó là di sản mà bạn “thừa hưởng” của người đi trước trong một dự án mà họ bỏ dở, một hàm API từ phía thứ ba hoặc các dòng lệnh nhận từ các chuyên gia tư vấn, thì bạn cũng không thể thoát hoàn toàn khỏi việc sửa lại, nâng cấp hoặc tích hợp chúng với các dòng lệnh của bạn. Có lẽ không khó để hình dung rằng điều đó sẽ gây ra cho bạn nhiều rắc rối như thế nào, nhất là khi phải dò từng dòng lệnh của người khác, lạc lối giữa hàng ngàn dòng lệnh không hề có chú thích quả là điều kinh khủng!
(theo VnReview)
FPT Aptech – Hệ Thống Đào Tạo Lập Trình Viên Quốc Tế
FPT Aptech trực thuộc Tổ chức Giáo dục FPT có hơn 25 năm kinh nghiệm đào tạo lập trình viên quốc tế tại Việt Nam, và luôn là sự lựa chọn ưu tiên của các sinh viên và nhà tuyển dụng. |