Các vai trò lập trình bảo trì chuyên dụng cuối cùng có gây bất lợi cho sự nghiệp sớm không?
Thường xuyên hơn không - CÓ, giả sử:
- rằng sự nghiệp ở đây có nghĩa chuyên môn trong nhiều kỹ năng chuyên môn khác nhau.
- rằng bạn dành hơn X năm ở đó, trong đó X đủ để "thiết lập" cách suy nghĩ của bạn.
- rằng bạn không làm bất cứ điều gì sang một bên.
- rằng "người bảo trì chuyên dụng" (xem EDIT, bên dưới) có nghĩa là bạn không mã để duy trì cũng như mã hóa những thứ mới, nhưng bạn hầu như luôn luôn mã để duy trì hoặc thậm chí làm việc trên một dự án trong chế độ bảo trì - không có tính năng mới, ít nhất là bắt buộc thay đổi mã để sửa lỗi.
Điều này không có nghĩa là luôn luôn như vậy.
Những người duy trì phần mềm hiếm khi được khuyến khích (xem EDIT, bên dưới) để nghiên cứu, hiếm khi có thể cắm vào thư viện mới hoặc DB và dành vài ngày để tìm hiểu cách thức hoạt động của nó. Đó (thường) là một công việc ổn định đòi hỏi những thay đổi tối thiểu đối với cơ sở mã hiện có và do đó "định hình" cách bạn tiếp cận vấn đề sau này. Tôi có thể kể tên khá nhiều công ty có chính sách duy trì phần mềm tuyên bố rõ ràng "ít thay đổi trong mã = tốt hơn", mặc dù những điều tồi tệ này có thể mang lại.
Các lập trình viên khác có quyền tránh các vai trò như thế này không?
Tôi biết những người bảo trì rất giỏi, những người thích công việc của họ và sẽ không muốn xin việc khác một cách chính xác bởi vì họ cảm thấy thoải mái khi ở đó. Không phải ai cũng thích học những điều mới mọi lúc mọi nơi. Vì vậy - tránh hoặc tìm kiếm nó tùy thuộc vào sở thích của bạn.
Việc thực hiện công việc này có khóa bạn trong việc thực hiện các nhiệm vụ tương tự trừ khi bạn chuẩn bị bắt đầu lại như một thiếu niên?
Thường xuyên hơn không - CÓ. Bởi vì bạn đã có kinh nghiệm làm việc đó, vì bạn đã "biết những sợi dây" v.v ... Nhưng sự thay đổi là hoàn toàn có thể và có thể xảy ra mà không cần ứng tuyển vào vị trí cấp dưới. Bạn đã bắt đầu làm mọi thứ sang một bên, giữ nó! Điều đó thực sự rất đáng giá và có thể thu hẹp 'khoảng cách kỹ năng' mà bạn nhận thấy.
EDIT: Dan đã chỉ ra (rất đúng), rằng các nhiệm vụ bảo trì thường có thể được thực hiện VỚI nghiên cứu. Điều đó đúng. Tôi đã thay đổi câu trả lời ở hai nơi để giải quyết vấn đề này tốt hơn.
Những nhiệm vụ như vậy chắc chắn COULD được thực hiện theo cách này và nếu chúng là - tuyệt vời! Tuy nhiên, hầu hết các nhà bảo trì hệ thống LEGACY của AFAIK đều có các chính sách hoặc kỳ vọng quản lý và thời hạn - một lần nữa, thường xuyên hơn - không buộc họ phải giải quyết vấn đề với ít thay đổi nhất có thể. Thường thì áp lực đủ cao đến mức ngay cả khi bạn có thể làm theo cách này, bạn có thể không muốn. Đặc biệt nếu đó không phải là mã CỦA BẠN: không có lý thuyết (theo Ryle và Naur) đằng sau nó, bạn có nguy cơ làm hỏng nhiều hơn bạn sửa.
Tuy nhiên, cần lưu ý: Tôi không có dữ liệu toàn cầu cứng, tôi nói từ kinh nghiệm của chính mình - Tôi đã làm việc trong một tình huống như OP, tôi đã tuyển dụng những người có 4 - 10 năm kinh nghiệm làm người bảo trì, tôi đã nói chuyện với nhiều người bảo trì và tôi biết những người làm việc như những người duy trì tận tâm . Không chỉ những người viết mã mới mà còn mã để duy trì dự án - những người bảo trì chuyên dụng, công việc duy nhất của họ là sửa lỗi và vá lỗi và thậm chí không phải là một tính năng mới, bởi vì đó là dự án cũ và giờ chỉ ở "chế độ bảo trì".