Một trong những công việc mùa hè đầu tiên của tôi với tư cách là một lập trình viên chủ yếu dựa trên việc quét các màn hình xanh và các tệp PRN. Hồi đó, có lẽ tôi đã không bận tâm đến việc bị bẩn tay trong COBOL (đó là nếu họ đã tin tưởng tôi đủ với tư cách là một sinh viên để cho tôi vào mã đó), nhưng tôi không chắc liệu tôi có cảm thấy giống như vậy về cùng một triển vọng ngày hôm nay.
Tôi không nghĩ rằng vấn đề thực sự là với máy tính lớn . Đó là nỗi ám ảnh (thường được biện minh) của ngành công nghiệp của chúng tôi với cái mới và sáng bóng.
Nhìn vào C. C rõ ràng vẫn là một ngôn ngữ cực kỳ quan trọng. Hầu như tất cả các mã nhúng và hầu hết các hệ điều hành đều được viết bằng C. Nó sẽ không đi đâu cả sớm. Tuy nhiên, việc tìm lập trình viên C trở nên khó khăn hơn. Một người thích nhanh chóng ở trang thẻ Stack Overflow đặt nó ở kích thước 1/6 [c#]
và 1/4 kích thước [java]
. Có ai nhớ khi C về cơ bản là ngôn ngữ chính, được cho là trò chơi duy nhất trong thị trấn không?
Lập trình viên yêu thích các công cụ mạnh mẽ. Có lẽ đó là vì (ĐẶC BIỆT) hầu hết các lập trình viên đều là đàn ông. Bạn giao cho một lập trình viên Java hoặc .NET nhiệm vụ sao chép một tệp và nhiều người nếu không hầu hết vẫn sẽ chọn viết nó bằng Java hoặc C # thay vì viết một tệp bó DOS hoặc tập lệnh shell * nix gấp 50 lần nhanh hơn để viết và triển khai. Tại sao sử dụng cần câu và cuộn dây để bắt cá khi bạn có một cái lưới có thể thu vào khổng lồ có thể bắt được 500 con cá?
Đúng, COBOL và PL / I đã cũ , nhưng Pascal cũng vậy, và nó vẫn còn sống và đá dưới dạng Delphi. Sự ác cảm với trước đây có lẽ bắt nguồn từ thực tế là những ngôn ngữ đó khó sử dụng so với các công cụ hiện đại. Định hướng đối tượng vẫn là một khái niệm tương đối mới trong thế giới COBOL (nhấn mạnh vào tương đối ), nhưng trong thế giới C #, LINQ và generic và AJAX đã ngừng cách mạng nhiều năm trước. Yêu cầu một nhà phát triển quen với các công cụ đó để bắt đầu lập trình trên máy tính lớn cũng giống như yêu cầu một nhạc sĩ rock bắt đầu chơi trên banjo.
Tất nhiên cũng có vấn đề về khuôn mẫu tự tồn tại. Chừng nào các lập trình viên trẻ tuổi tin rằng không có gì cho họ trong các máy tính lớn (dù điều đó có đúng hay không), thì bất kỳ lập trình viên trẻ nào chọn đi vào đó cũng sẽ dành phần lớn thời gian của họ cho những người già hơn nhiều. CNTT không phải là một nghề hấp dẫn xã hội để bắt đầu, nhưng sự không tôn trọng của khoảng cách thế hệ có xu hướng đưa nó xuống dưới nhiều ngưỡng đau của mọi người. Không có ý xúc phạm - Cá nhân tôi đã dành phần lớn cuộc đời của mình để làm việc với mọi người nhiều tuổi hơn, nhưng không phải ai cũng có nền tảng hoặc khả năng đó.
Cuối cùng, hầu hết các lập trình viên không thích công việc bảo trì và hầu hết tất cả các công việc máy tính lớn là bảo trì. Không có nhiều phần mềm mới được viết bằng PL / I. Bất kỳ công việc nào được xác định hoàn toàn hoặc phần lớn xung quanh mã bảo trì sẽ tự động bắt đầu với điểm số âm.
Có những mặt tích cực để làm việc với mã kế thừa ("di sản" bao gồm các máy tính lớn và nhiều thứ khác), mà có lẽ bạn sẽ cần phải chơi lên nếu bạn đang cố gắng thu hút đám đông trẻ hơn:
Các hệ thống, như bạn nói, cơ sở hạ tầng quan trọng. Các nhà phát triển trẻ hơn, ít nhất là trong thế giới kinh doanh (không phải Google / Microsoft), thường không có cơ hội thực hiện bất kỳ tác động thực sự nào . Thật không thành công khi làm việc trên một hệ thống mà bạn biết sẽ bị bỏ rơi hoặc thay thế sau một vài tháng hoặc nhiều năm. Các ứng dụng máy tính lớn đã chạy được 50 năm có lẽ sẽ chạy nhiều hơn bởi vì các công ty xây dựng lại chúng không có ý nghĩa gì, vì vậy công việc bạn làm trong chúng thực sự quan trọng đối với nhiều người.
Nếu bạn là một trong số ít những công ty đó thực sự không có một khuynh hướng để "nâng cấp", sau đó rất nhiều lập trình viên, cả già lẫn trẻ, sẽ bị thu hút bởi cơ hội đó, bởi vì sau đó có cơ hội song sinh để làm việc trên mã nhiệm vụ quan trọng và để uốn cong một số cơ C # / Java đó. Rõ ràng không có công ty lành mạnh nào sẽ loại bỏ máy tính lớn và xây dựng lại từ đầu, nhưng tôi đã thấy các hệ thống (ví dụ) có lõi COBOL tích hợp với các thành phần Java.
Cuối cùng, không thể thiếu - ít nhất, khi chúng ta người ngoài nhận thức về nó. Khi tất cả mã của bạn bằng .NET, sẽ luôn có nguy cơ chủ sở hữu sẽ trao đổi bạn để lấy bằng tốt nghiệp đại học mới hoặc tệ hơn, một nhóm ở nước ngoài, trong một nỗ lực sai lầm để cắt giảm chi phí. Tôi không nghĩ rằng điều đó xảy ra rất thường xuyên trong thế giới máy tính lớn, đặc biệt nếu những gì bạn nói là đúng và nguồn cung dường như đang cạn kiệt. Tất nhiên, điểm này là không cần thiết nếu bạn không trả đủ tiền; mức lương cần được điều chỉnh để phản ánh nguồn cung đang suy giảm, nếu không mọi người sẽ không "bán".
Tôi chắc chắn rằng có rất nhiều nhà phát triển trẻ ngoài kia sẽ không từ chối lời đề nghị hợp lý hào phóng từ một công ty dường như đang đi ra ngoài để làm cho môi trường làm việc hấp dẫn nhân viên trẻ hơn. Nhưng nếu bạn muốn tiếp cận họ thì bạn nên khôn ngoan phát huy sở trường của mình và thậm chí bạn có thể phải bắt đầu tiếp thị; chúng tôi có xu hướng xem các máy tính lớn như một thế giới khác và rất xa lạ, và tôi khá chắc chắn rằng tôi đã không thấy các bạn ở hội chợ việc làm trong khuôn viên 10 năm trước làm việc để thay đổi nhận thức đó.
Để hạ gục nó thành một câu duy nhất: Không có gì làm cho máy tính lớn không hấp dẫn , chỉ là nó không có gì làm cho chúng hấp dẫn cả, và điều đó khiến chúng gặp bất lợi nghiêm trọng khi so sánh với khía cạnh chảy máu mang lại cho chúng ta khả năng tăng năng suất lớn và nước giải khát miễn phí.