Phần cứng: Phần mềm không thể chạy nếu không có phần cứng. Dù nhiều nhà phát triển phần mềm muốn gạt bỏ phần cứng khi làm việc nhưng cuối cùng, sớm hay muộn, họ đều phải đối mặt với các vấn đề khi xây dựng hoặc gỡ lỗi một chương trình, phần mềm của mình trên phần cứng. Ngồi một chỗ cả ngày: Trừ khi bàn làm việc của bạn đính kèm một chiếc máy chạy bộ, lập trình không phải là một công việc hoạt động thể chất. Các kỹ sư chủ yếu ngồi hàng giờ với bàn phím và “dán” mắt vào màn hình. Thậm chí, họ có thể ngồi bất động với tư thế đó trong một thời gian dài. Dò lỗi: Ngay cả người giỏi, cẩn thận nhất thì cũng gặp phải lỗi khi lập trình. Vì thế, họ thường phải mất rất nhiều thời gian để dò và tìm xem lỗi nằm ở phần của họ hay của đồng nghiệp. Một số lỗi có thể nhanh chóng tìm ra và sửa chửa nhưng có lỗi lại mất rất nhiều thời gian và còn đòi hỏi lập trình viên phải có trình độ đủ tốt. Tài liệu nghèo nàn: Sự thiếu thốn dữ liệu đầu vào thường làm khó giới lập trình viên trong mọi việc, chẳng hạn như tìm lỗi, nâng cấp phần mềm. Tích hợp code: Những hệ thống quản lý mã nguồn phần mềm như Git, Subversion cho phép các lập trình viên làm viên luân phiên nhau trên cùng hệ mã. Tuy nhiên, những trường hợp xung đột có thể xảy ra khi nối các đoạn mã lệnh với nhau và mất khoảng thời gian nhất định để giải quyết. Kỳ vọng thiếu thực tế: Các lập trình viên thường có thể đưa ra những giải pháp thông minh. Tuy nhiên, cũng vì vậy mà cấp trên của họ, các nhân viên bán hàng có những kỳ vọng không thực tế về các chương trình. Các lập trình viên có thể phải vắt kiệt sức để thỏa mãn những đòi hỏi viển vông này. Người khác phá hoại: Đến một lúc nào đó, mỗi một lập trình viên đều liên kết với những đoạn code khác do đồng nghiệp mình viết. Điều không may là sự bất cẩn của một người nào đó có thể ngay lập tức phá tan sự liên kết các đoạn mã khiến lập trình viên mất nhiều công sức, sự kiên nhẫn để chỉnh sửa. Người khác không hiểu công việc của bạn: Dù số lượng các lập trình viên ngày càng lớn và vai trò của họ ngày càng trở nên quan trọng, nhiều người không làm trong lĩnh vực công nghệ chưa hiểu bản chất công việc lập trình là gì. Với họ, những người chuyên làm phần mềm hay phần cứng cũng đều như nhau. Sự hiểu biết thiếu thấu đáo này lại đến từ chính những người thân, bạn bè, gia đình và khiến lập trình viên cảm thấy không vui, thiếu sự chia sẻ. Thiếu thời gian: Bất kỳ công việc nào, kể cả lập trình cũng cần thời gian để có thể tạo ra sản phẩm tốt. Tuy nhiên, sếp, khách hàng lại là những người không muốn phải đợi lâu để có được một giải pháp lý tưởng, có thể áp dụng ngay lập tức. Vì vậy, các lập trình viên thường phải chịu áp lực làm việc nhanh chóng nhất có thể. Điều này có thể khiến họ mệt mỏi, soạn những chương trình không đảm bảo chất lượng và ảnh hưởng đến việc vận hành trong tương lai. Làm việc với lệnh của người khác: Sớm hay muộn, một lập trình viên cũng có lúc phải làm việc với những dòng code thừa hưởng từ người khác. Họ có thể là người chịu trách nhiệm công việc này để lại, một bên thứ 3, bên công ty tư vấn mà bạn có thể phải tìm kiếm lỗi, nâng cấp hoặc tích hợp vào một phần code khác. Dò từng dòng lệnh mà không có bất kỳ hướng dẫn nào như vậy là một công việc thực sự mệt mỏi. Thu Ngân (theo ICT)Lập trình viên khiếm thị làm việc cho Google 7 thói quen của một lập trình viên năng suất Học an ninh mạng với nhân viên Cơ quan Mật vụ Mỹ