Wawancara dengan Ibu Saya, Seorang Programmer COBOL Mainframe (2016)
(ezali.substack.com)Wawancara dengan ibu saya, seorang programmer COBOL mainframe
- Ibu saya telah bekerja di salah satu bank terbesar di Uni Eropa sejak sebelum saya lahir.
- Dunia pemrograman perbankan adalah dunia yang sepenuhnya berbeda dari yang dikenal kebanyakan orang.
- Jika ibu saya dan timnya berhenti bekerja, bank itu kemungkinan akan kolaps dalam beberapa minggu.
1991
- Ibu saya memulai pelatihan internal di Nordbanken (sekarang Nordea).
- Ia menjalani berbagai tes dan lulus tes IQ, tes psikologi, dan tes multitasking.
- Ia memulai sebagai programmer COBOL mainframe IBM, dan 25 tahun kemudian masih menjalankan pekerjaan yang sama di bank yang sama.
COBOL
- COBOL bukan bahasa pemrograman keren seperti Haskell yang fungsional atau Golang yang berfokus pada konkurensi.
- COBOL adalah bahasa imperatif dan prosedural, dan sejak 2002 juga berorientasi objek.
- Dalam konteks pemrograman mainframe, hampir tidak ada orang yang memahami COBOL.
Basis data
- Basis data utama disebut IMS, yaitu basis data hierarkis yang dibuat IBM untuk program Apollo.
- Sedang ada upaya migrasi ke DB2, tetapi ini adalah pekerjaan yang akan memakan waktu bertahun-tahun.
- Basis data DB2 saat ini menyimpan sekitar 10TB data.
Batch
- Sekitar 80% sistem terdiri dari pekerjaan batch.
- Pekerjaan batch dijalankan pada waktu atau interval tertentu, memproses data atau mengirimkan data ke bank/lembaga lain.
Masalah yang dihadapi bank
- Bank yang menggunakan mainframe memiliki banyak masalah yang harus ditangani.
- Para programmer semakin menua, dan butuh 2-3 tahun hingga pegawai baru bisa bekerja secara mandiri.
- Ada program-program yang sudah berusia puluhan tahun, dan tidak ada yang tahu apa sebenarnya yang dilakukan program-program itu.
Kata penutup
- Sangat menarik untuk melihat teknologi baru apa yang akan diperkenalkan Nordea dan bank-bank lain dalam beberapa tahun ke depan.
Q & A
- Mengapa memilih pemrograman COBOL mainframe IBM? Karena ingin bekerja dengan komputer.
- Hal terburuk yang pernah terjadi dalam satu hari kerja? Seorang rekan lupa menuliskan satu titik pada modul sistem penting, sehingga bank mengalami down selama 16 jam.
- Seperti apa masa depan bank? Mereka menyadari bahwa mainframe harus diganti dengan sesuatu yang lebih modern.
- Tantangan sebagai programmer perempuan di era 90-an? Tidak ada masalah.
- Apakah bekerja dengan codebase yang sama selama lebih dari 20 tahun menjadi membosankan? Membangun sistem baru selalu menyenangkan.
- Apakah menulis kode untuk bank terasa menakutkan? Sangat menakutkan, tetapi lingkungan pengujiannya solid sehingga sebagian besar berjalan lancar.
- Pernah membuat kesalahan besar untuk bank? Pada 1997, pernah membuat kesalahan yang memungkinkan penarikan uang secara ilegal dari rekening tabungan pensiun.
- Seperti apa lingkungan kerjanya? Berpindah dari meja pribadi ke ruang kerja terbuka, dan sangat membencinya.
Opini GN⁺
- Mainframe dan bahasa COBOL masih memainkan peran penting dalam industri keuangan, dan keahlian pada teknologi ini sangat berharga.
- Kompleksitas sistem perbankan dan ketergantungan pada teknologi lama membuat transisi ke sistem baru menjadi sulit, dan ini merupakan tantangan besar.
- Wawancara ini menunjukkan bahwa dibandingkan dengan pesatnya perkembangan teknologi, beberapa industri masih menggunakan teknologi lama, dan ini menjadi kontras yang menarik.
1 komentar
Komentar Hacker News
Kiriman HN asli tahun 2016 adalah https://news.ycombinator.com/item?id=12096250
Jika mencari bacaan tambahan tentang topik “dunia pemrograman perbankan adalah dunia yang sama sekali berbeda dari yang biasa kita kenal”, An oral history of Bank Python juga bagus: https://calpaterson.com/bank-python.html
Dulu juga pernah muncul di HN: https://news.ycombinator.com/item?id=29104047
https://news.ycombinator.com/item?id=12097032
Orang sering berpikir, “kalau programmer mainframe berusia 20 tahun, usia punya nilai yang sangat besar, jadi pasti bergaji tinggi,” tetapi kenyataannya biasanya rata-rata atau bahkan di bawah rata-rata, sehingga muncul masalah pipeline talenta
Yang benar-benar bernilai bukanlah keterampilan itu sendiri seperti “tahu COBOL”, melainkan pengetahuan organisasi tentang logika bisnis besar yang menumpuk di dalam COBOL. Developer rata-rata pun bisa belajar COBOL, tetapi programmer COBOL pensiunan yang kembali dengan kontrak 500 ribu dolar per tahun itu bukan karena COBOL, melainkan karena pengetahuan institusional yang terakumulasi
Jika bank dan institusi benar-benar membayar programmer mainframe muda dengan sangat tinggi, masalah struktur demografi saat ini mungkin tidak separah ini
Mereka melihat proyeknya hampir selesai, dan menganggap tim penulisan ulang sudah cukup akrab dengan COBOL sehingga sisanya bisa dilakukan tanpa dia. Namun kenyataannya, meskipun mereka memahami COBOL, pengetahuan institusional miliknya sangat dibutuhkan. Akhirnya ia kembali paruh waktu dengan tarif konsultasi yang sangat tidak masuk akal sampai transisi selesai, sambil menjalani sekolah pascasarjana dan meningkatkan kemampuannya
Programmer yang cukup baik bisa membaca dan mengikuti program COBOL. Namun mereka tidak tahu mengapa ekspor inti saat ekstraksi data untuk pelaporan 10-K tiba-tiba mati. Penyebabnya, seseorang berasumsi jumlah record tertentu tidak akan melebihi 3000, lalu meng-hardcode agar program langsung error jika nilai itu terlampaui
Kenyataannya saya dibayar jauh lebih rendah daripada pekerjaan sebelumnya memasang infrastruktur kabel fisik, yaitu memasang fiber optic dan Ethernet tembaga; alasan saya memilih pekerjaan itu pun hanya karena kantornya ber-AC. Itu bukan pekerjaan yang ingin saya jadikan karier
Ketika bekerja sebagai administrator sistem Windows level menengah yang menangani dukungan telepon pelanggan di penyedia cloud, saya menghasilkan hampir 30% lebih banyak dibanding saat menjadi staf mainframe junior di bank/asuransi. Meski merupakan keterampilan langka dan berada di industri bernilai tinggi, pekerjaan mainframe dibayar jauh lebih rendah, dan di perusahaan itu developer mainframe mendapat kompensasi terendah di antara developer pada semua level karier. Satu-satunya yang mendapat bayaran pantas adalah kontraktor independen yang sebelumnya sudah bekerja 30 tahun sebelum pensiun
Namun gaji untuk peran seperti itu menyedihkan dibanding kompensasi yang bisa didapat dengan teknologi lain, dan kehidupan modern sangat menekan kita untuk mengejar gaji yang lebih besar
Program ini menawarkan harga pasar yang “adil” untuk posisi entry-level di industri, dan pada tahun pertama membuat peserta mencoba 2–3 tim atau departemen. Di akhir program, jika perusahaan masih menyukai mereka, kandidat bisa memilih tim untuk posisi tetap, tetapi tidak ada kenaikan gaji, dan pada titik itu orang-orang yang tidak cepat menunjukkan hasil sudah tersaring
Dari sisi perusahaan, hasilnya luar biasa. Mereka bisa memakai programmer muda yang lebih mahir COBOL daripada rekan baru mereka dengan biaya 60 ribu–70 ribu dolar per tahun, sementara rekan senior atau yang sudah lama bekerja dalam beberapa kasus menerima 200 ribu–400 ribu dolar
Nenek saya memprogram dengan punched card, tetapi saya tidak tahu perangkat kerasnya apa, dan sekarang sudah terlambat untuk bertanya. Ayah saya banyak memakai Fortran dan COBOL di mainframe Soviet, lalu kemudian banyak mengerjakan Y2K di AS
Barang paling keren di antaranya adalah cetakan program Fortran yang dulu dirobek menjadi tiga bagian oleh ayah saya untuk membungkus film format besar 64mm dari foto gunung yang ia ambil. Sepertinya itu berasal dari mainframe Minsk-32, nama programnya MATR1, melakukan manipulasi matriks, dan komentarnya menyebut medan/topografi. Sekarang saya membingkainya dan menggantungnya di dinding dekat meja kerja
Saya sendiri sudah coding dengan berbagai bahasa sepanjang hidup, dan kini anak remaja saya tertarik pada coding, belajar Java dan Python di SMA. Menuju programmer generasi ke-4
Jika benar dari sudut pandang teknologi itu adalah posisi paling penting di bank, mengingat pangsa pasar Nordea di Swedia dan Nordik, kalau tim itu hilang, ekonomi Swedia—bahkan mungkin Nordik—bisa terguncang. Kalau begitu, sepertinya dampaknya ke UE juga akan cukup besar
Setelah membaca tulisan ini, saya terus bertanya-tanya apakah para programmer COBOL yang membuat bank-bank seperti ini tetap berjalan sebenarnya adalah bus factor yang sangat diremehkan di berbagai kawasan ekonomi dunia. Saya juga penasaran apa rencana cadangan untuk situasi seperti itu
[0] https://en.wikipedia.org/wiki/Nordea
Menurut saya hilangnya pengetahuan institusional mungkin menjadi faktor besar dalam bencana itu
Ditambah lagi meningkatnya penjualan SUV yang lebih berbahaya bagi pejalan kaki dan pesepeda, justru bisa terasa mengejutkan bahwa bank runtuh bukan karena programmer yang meninggal, melainkan karena pembukuan buruk dan penipuan
Bagian “dulu saya punya meja pribadi, tapi sekarang dipindahkan ke ruang terbuka tempat memilih kursi mana saja, dan saya benar-benar membencinya” anehnya sangat terasa relevan meski saya belum pernah bekerja dengan mainframe
Karena kursi, posisi dan kecerahan monitor, tinggi meja, dan sebagainya sudah disesuaikan dengan diri sendiri, konsep hot desking itu sendiri jadi terasa konyol. Saya berharap mereka sekalian saja menyerahkannya secara resmi
Saat bekerja sebagai konsultan integrasi sistem di bidang layanan keuangan, saya sering harus berintegrasi dengan sistem core banking seperti ini
Biasanya, jika menegosiasikan antarmuka yang benar-benar baru, gesekan dari sisi teknis, bisnis, dan kepatuhan regulasi bisa besar sehingga proyek mudah molor 1–2 tahun atau lebih. Karena itu kami berusaha memakai ulang titik integrasi yang sudah ada dari proyek sebelumnya
Integrasinya biasanya berupa pengiriman dokumen terstruktur sebelum jam tertentu pada malam hari untuk pemrosesan batch malam. Dokumen data berbasis offset secara desain memiliki area yang belum dialokasikan untuk pembaruan dan penggunaan di masa depan, dan jika perlu informasi baru, kami menegosiasikan byte mana dari area itu yang bisa dipakai
Di sisi ekstraksi data, kadang ada upaya mencari API yang lebih “modern”, tetapi jangan terlalu berharap pada sesuatu yang granular seperti REST. Kami sering rapat dengan tim regulasi dan kepatuhan untuk mencari cara menghindari pengembangan baru yang mahal
Tambahan lagi, staf kepatuhan sering kali jauh lebih pragmatis dan berorientasi solusi daripada orang IT. Meyakinkan tim kami bahwa teks regulasi tidak selalu harus ditafsirkan secara harfiah dengan batasan paling ketat sering kali lebih sulit daripada mencapai kesepakatan dengan staf kepatuhan
Jika membayangkan lapisan integrasi seperti ini menumpuk selama puluhan tahun lewat ratusan proyek, barulah terasa mengapa penggantian core system begitu sulit
Ibu mertua saya bekerja seumur hidup di departemen IT sebuah perusahaan asuransi. Ia tidak banyak memprogram, tetapi seiring waktu menjadi sumber pengetahuan domain
Banyak cerita lama. Sebelum ada sistem komputer yang layak, tentu saja semuanya disimpan sebagai dokumen fisik, dan proyek pertamanya setelah lulus kuliah adalah berkeliling ke kantor-kantor satelit untuk menata ulang sistem berkas cabang agar sesuai dengan strategi baru yang dibuat kantor pusat
Operasional cabang itu berhenti sementara tim benar-benar mengeluarkan semua dokumen, memberi label ulang, lalu memasukkannya kembali, dan keseluruhan proyek memakan waktu lebih dari setahun. Itu agak mengubah cara saya memandang pekerjaan saya sendiri
Saya menyesal tidak lebih banyak berbicara dengan nenek sebelum ia terkena demensia. Saya tahu ia seorang matematikawan dan programmer, tetapi saat kami sempat berbincang beberapa tahun lalu, ia mengatakan pernah bekerja menghitung orbit satelit di Uni Soviet
Setidaknya saya berharap itu memang satelit
Ia meraih gelar matematika dalam 3 tahun pada usia 20, dan pada 1970-an memprogram komputer dengan kartu berlubang.
Sekarang ia bahkan tidak bisa mengikat tali sepatu dengan stabil. Saya harap kalian mencatat pencapaian dan kisah hidup orang-orang tercinta sebelum terlambat
Mudah dipakai, punya banyak pertanyaan siap pakai, dan Anda juga bisa membuat pertanyaan sendiri. Rekam langsung di ponsel, dan jika mau, wawancaranya juga bisa diunggah ke Perpustakaan Kongres AS
https://storycorps.org/participate/storycorps-app/
Nenek saya berusia 95 tahun tahun ini. Ia masih berangkat setiap hari ke lembaga riset di kawasan bekas Soviet dan menulis simulasi numerik dengan Fortran dan Maple
Rekan-rekannya masih tidak ingin pensiun, dan nenek saya juga menunda pensiun setiap tahun. Pengetahuan analisis numerik dan matematikanya luar biasa, dan saya benar-benar bangga padanya
Pekerjaan pemrograman pertama saya adalah di sebuah perusahaan transportasi, dan ada banyak programmer yang sudah bekerja lebih dari 15–20 tahun; banyak di antaranya terutama memelihara COBOL yang menjalankan bisnis
Di antara para programmer senior itu ada banyak perempuan, dan rasanya di kelompok senior jumlahnya lebih dari 50%. Yang menyedihkan, programmer yang lebih muda masih cukup banyak yang perempuan, tetapi umumnya laki-laki
Karena perusahaan itu terutama merekrut dari perguruan tinggi teknik setempat, ini tampak seperti contoh menarik yang menunjukkan bagaimana, seiring waktu, jumlah perempuan yang masuk ke jurusan rekayasa perangkat lunak menurun