Salah satu pekerjaan musim panas pertama saya sebagai seorang programmer sebagian besar didasarkan pada menggores layar hijau dan file PRN. Saat itu saya mungkin tidak keberatan mengotori tangan saya di COBOL (yaitu jika mereka telah cukup mempercayai saya sebagai mahasiswa untuk membiarkan saya masuk ke kode itu), tapi saya tidak yakin apakah saya akan merasakan hal yang sama tentang prospek yang sama hari ini.
Saya tidak berpikir masalah ini sebenarnya dengan mainframe per se. Ini adalah obsesi industri kami (yang sering dibenarkan) dengan yang baru dan berkilau.
Lihatlah C. C masih jelas merupakan bahasa yang sangat penting. Hampir semua kode tertanam dan sebagian besar sistem operasi ditulis dalam C. Itu tidak akan kemana-mana dalam waktu dekat. Namun semakin sulit untuk menemukan programmer C. Pandangan cepat pada halaman tag Stack Overflow menempatkannya pada 1/6 ukuran [c#]
dan 1/4 ukuran [java]
. Apakah ada yang ingat ketika C pada dasarnya adalah bahasa yang dominan, bisa dibilang satu-satunya permainan di kota?
Programmer suka alat yang ampuh. Mungkin itu karena (SPESIFIKASI ALERT) kebanyakan programmer adalah orang. Anda memberi Java atau .NET programmer tugas, katakanlah, menyalin file, dan banyak jika tidak sebagian besar masih akan memilih untuk menulisnya di Java atau C # daripada menulis file batch DOS atau skrip shell * nix yang akan menjadi 50 kali lebih cepat menulis dan menggunakan. Mengapa menggunakan tongkat dan pening untuk menangkap ikan ketika Anda punya jaring yang bisa ditarik dan bisa menangkap 500 ikan?
Ya, COBOL dan PL / I sudah tua , tapi begitu juga Pascal, dan itu masih hidup dan menendang dalam bentuk Delphi. Keengganan terhadap yang pertama mungkin berasal dari fakta bahwa bahasa-bahasa itu sangat sulit dibandingkan dengan alat-alat modern. Orientasi objek masih merupakan konsep yang relatif baru di dunia COBOL (penekanan pada relatif ), tetapi di dunia C #, LINQ dan generik dan AJAX berhenti menjadi revolusioner tahun yang lalu. Meminta pengembang yang terbiasa dengan alat-alat itu untuk memulai pemrograman pada mainframe seperti meminta musisi rock untuk mulai bermain di banjo.
Tentu saja ada juga masalah stereotip yang melanggengkan diri sendiri. Selama programmer yang lebih muda percaya bahwa tidak ada untuk mereka di mainframe (apakah itu benar atau tidak), maka setiap programmer muda yang memang memilih untuk masuk ke dalamnya akan berakhir menghabiskan sebagian besar hari mereka di sekitar orang yang jauh lebih tua. Awalnya, TI bukanlah profesi yang menarik secara sosial, tetapi disinsentif tambahan dari kesenjangan generasi cenderung membawanya di bawah banyak ambang rasa sakit masyarakat. Maksudnya bukan pelanggaran - saya pribadi telah menghabiskan sebagian besar hidup saya bekerja dengan orang yang jauh lebih tua, tetapi tidak semua orang memiliki latar belakang atau kemampuan itu.
Akhirnya, sebagian besar programmer tidak menikmati pekerjaan pemeliharaan, dan hampir semua pekerjaan mainframe adalah pemeliharaan. Tidak banyak perangkat lunak baru yang ditulis dalam PL / I. Pekerjaan apa pun yang didefinisikan seluruhnya atau sebagian besar di sekitar kode pemeliharaan secara otomatis dimulai dengan skor negatif.
Ada beberapa hal positif untuk mengerjakan kode legacy ("legacy" yang mencakup mainframe dan banyak hal lainnya), yang mungkin perlu Anda mainkan jika Anda mencoba menarik perhatian orang yang lebih muda:
Sistemnya, seperti yang Anda katakan, adalah infrastruktur kritis. Pengembang yang lebih muda, setidaknya di dunia bisnis (bukan Google / Microsoft), sering tidak mendapatkan kesempatan untuk membuat dampak nyata . Sangat mengecewakan untuk bekerja pada sistem yang Anda tahu hanya akan ditinggalkan atau digantikan setelah beberapa bulan atau tahun. Aplikasi mainframe yang telah berjalan selama 50 tahun mungkin akan berjalan lebih banyak karena tidak masuk akal bagi perusahaan untuk membangunnya kembali, sehingga pekerjaan yang Anda lakukan di dalamnya sebenarnya penting bagi banyak orang.
Jika Anda adalah salah satu dari beberapa perusahaan yang benar-benar tidak memiliki kecenderungan untuk "upgrade", maka banyak programmer, baik muda dan tua, akan tertarik dengan kesempatan itu, karena kemudian ada peluang kembar untuk bekerja pada kode mission-critical dan untuk melenturkan beberapa otot C # / Java tersebut. Jelas tidak ada perusahaan waras yang hanya akan menghapus mainframe dan membangun kembali dari awal, tetapi saya telah melihat sistem yang (misalnya) memiliki inti COBOL yang terintegrasi dengan komponen Java.
Akhirnya, ada hal yang sangat diperlukan - setidaknya, seperti yang kita sadari orang luar. Ketika semua kode Anda berada di .NET maka selalu ada risiko bahwa pemilik akan menukarkan Anda dengan lulusan baru yang baru lulus atau lebih buruk, tim lepas pantai, dalam upaya sesat untuk memotong biaya. Saya tidak berpikir itu sering terjadi di dunia mainframe, terutama jika apa yang Anda katakan itu benar dan persediaan tampaknya semakin menipis. Tentu saja, poin ini bisa diperdebatkan jika Anda tidak membayar dengan cukup baik; gaji perlu disesuaikan untuk mencerminkan persediaan yang berkurang, jika tidak orang tidak akan "menjual".
Saya yakin ada banyak pengembang yang lebih muda di luar sana yang tidak akan menolak tawaran yang cukup murah hati dari sebuah perusahaan yang tampaknya tidak akan membuat lingkungan kerja menarik bagi karyawan yang lebih muda. Tetapi jika Anda ingin menjangkau mereka maka Anda akan bijaksana untuk bermain di kekuatan Anda, dan Anda bahkan mungkin harus mulai melakukan pemasaran; kami cenderung memandang mainframe sebagai dunia yang berbeda dan sangat asing, dan saya cukup yakin saya tidak melihat kalian di bursa kerja kampus 10 tahun yang lalu bekerja untuk mengubah persepsi itu.
Untuk mendidihkannya menjadi satu kalimat: Tidak ada yang membuat mainframe tidak menarik , hanya saja tidak ada yang membuat mereka menarik juga, dan itu menempatkan mereka pada kerugian serius bila dibandingkan dengan tepi pendarahan yang menawarkan kita peningkatan produktivitas yang sangat besar dan minuman ringan gratis.