Mainframe COBOL programcısı annemle röportaj (2016)
(ezali.substack.com)Mainframe COBOL programcısı annemle röportaj
- Annem, ben doğmadan önce bile AB içindeki en büyük bankalardan birinde çalışıyordu.
- Banka programcılığı dünyası, çoğu insanın alışık olduğundan tamamen farklı bir dünya.
- Annem ve ekibi işi bırakırsa banka birkaç hafta içinde çöker.
1991
- Annem, Nordbanken'de (bugünkü Nordea) kurum içi eğitime başladı.
- Çeşitli sınavlara girdi; IQ testi, psikolojik değerlendirme ve çoklu görev testini geçti.
- IBM mainframe COBOL programcısı olarak başladı ve 25 yıl sonra hâlâ aynı bankada aynı işi yapıyordu.
COBOL
- COBOL, Haskell gibi fonksiyonel ya da Golang gibi eşzamanlı, havalı bir programlama dili değil.
- COBOL, zorunlu ve prosedürel bir dildir; 2002'den beri nesne yönelimli özelliklere de sahiptir.
- Mainframe programcılığı bağlamında COBOL bilen insan sayısı çok az.
Veritabanı
- Ana veritabanının adı IMS; IBM'in Apollo programı için geliştirdiği hiyerarşik bir veritabanı.
- DB2'ye geçiş deneniyor, ancak bu yıllar sürecek bir iş.
- DB2 veritabanı şu anda yaklaşık 10 TB veri tutuyor.
Batch
- Sistemin yaklaşık %80'i batch işlerinden oluşuyor.
- Batch işleri belirli zamanlarda ya da aralıklarla çalışıyor; veri işliyor veya diğer bankalara/kurumlara veri gönderiyor.
Bankanın karşı karşıya olduğu sorunlar
- Mainframe kullanan bankaların ele alması gereken çok sayıda sorun var.
- Programcılar yaşlanıyor ve yeni çalışanların bağımsız çalışabilecek hâle gelmesi 2-3 yıl sürüyor.
- Onlarca yıllık programlar var ve kimse bunların ne yaptığını bilmiyor.
Son söz
- Nordea'nın ve diğer bankaların önümüzdeki yıllarda hangi yeni teknolojileri benimseyeceğini görmek çok ilginç.
Soru & Cevap
- Neden IBM mainframe COBOL programcılığını seçtiniz? Çünkü bilgisayarlarla çalışmak istiyordum.
- Günün en kötü olayı neydi? Bir iş arkadaşım kritik bir sistem modülünde bir noktayı atladı ve banka 16 saat boyunca kapalı kaldı.
- Bankanın geleceği nasıl olacak? Mainframe'i daha modern bir şeyle değiştirmeleri gerektiğinin farkındalar.
- 90'larda kadın programcı olarak karşılaştığınız zorluklar nelerdi? Hiç sorun yaşamadım.
- 20 yıldan uzun süre aynı kod tabanında çalışmak sıkıcı oluyor mu? Yeni sistemler kurmak her zaman eğlenceliydi.
- Bir banka için kod yazmak korkutucu mu? Çok korkutucu, ama test ortamı sağlam olduğu için çoğu şey sorunsuz ilerliyor.
- Banka için hiç büyük bir hata yaptınız mı? 1997'de emeklilik tasarruf hesabından yasa dışı şekilde para çekilmesine izin veren bir hata yaptım.
- Çalışma ortamı nasıl? Kişisel masalardan açık ofise geçildi ve bundan hiç hoşlanmıyorum.
GN⁺'nin görüşü
- Mainframe'ler ve COBOL dili, finans sektöründe hâlâ önemli bir rol oynuyor ve bu teknolojiye dair uzmanlık çok değerli.
- Banka sistemlerinin karmaşıklığı ve eski teknolojilere bağımlılık, yeni sistemlere geçişi zorlaştırıyor; bu da büyük bir meydan okuma.
- Bu röportaj, teknolojinin hızlı ilerleyişine kıyasla bazı sektörlerde hâlâ eski teknolojilerin kullanıldığını gösteriyor ve bu ilginç bir tezat oluşturuyor.
1 yorum
Hacker News yorumları
2016’daki özgün HN gönderisi https://news.ycombinator.com/item?id=12096250 idi
“Bankacılık programlama dünyası, çoğumuzun alışık olduğundan tamamen farklı bir dünya” temasında daha fazla okuma arıyorsanız An oral history of Bank Python da iyi bir seçenek: https://calpaterson.com/bank-python.html
Daha önce HN’de de paylaşılmıştı: https://news.ycombinator.com/item?id=29104047
https://news.ycombinator.com/item?id=12097032
“20 yaşında bir mainframe programcısıysanız yaşınız çok değerli olduğu için yüksek maaş alırsınız” diye sık düşünülür, ama gerçek genelde ortalama, hatta ortalamanın altında olduğu için bir yetenek havuzu sorunu ortaya çıkıyor
Asıl değerli olan “COBOL bilmek” gibi becerinin kendisi değil, COBOL içinde birikmiş devasa iş mantığına dair kurumsal bilgidir. Ortalama bir geliştirici de COBOL öğrenebilir; emekli bir COBOL programcısının yıllık 500 bin dolarlık sözleşmeyle geri dönmesinin nedeni COBOL değil, birikmiş kurumsal bilgidir
Bankalar ve kurumlar genç mainframe programcılarına gerçekten yüksek ücretler ödeseydi bugünkü demografik sorun daha hafif olurdu
Projenin neredeyse bittiğini düşünüp yeniden yazım ekibinin COBOL’a yeterince alıştığına ve kalanını onsuz yapabileceğine karar verdiler; ama gerçekte COBOL’u anlasalar da onun kurumsal bilgisine şiddetle ihtiyaçları vardı. Sonunda geçiş tamamlanana kadar saçma derecede yüksek bir danışmanlık birim ücretiyle yarı zamanlı geri döndü; bu sırada lisansüstü eğitimini de sürdürüp becerilerini geliştirdi
İyi bir programcı bir COBOL programını okuyup izleyebilir. Ama 10-K beyanı için veri çıkarırken kritik dışa aktarımın neden patladığını bilemez. Çünkü biri belirli kayıt sayısının 3000’i aşmayacağını varsaymış ve bu değer aşılınca doğrudan hata verecek şekilde hardcode etmişti
Aslında önceki işim olan fiziksel kablo altyapısı kurulumundan, yani fiber optik ve bakır Ethernet döşemekten çok daha az kazanıyordum; bu işi seçme nedenim de ofiste klima olması kadardı. Kariyer yapmak isteyeceğim bir iş değildi
Bir bulut sağlayıcısında müşteri çağrılarına destek veren orta seviye Windows sistem yöneticisi olarak çalışırken, banka/sigorta şirketinde junior mainframe sorumlusu olduğum zamana kıyasla neredeyse %30 daha fazla kazanıyordum. Nadir bir beceri ve yüksek değerli bir sektör olmasına rağmen mainframe işi çok daha düşük ücretlendiriliyordu; o şirkette mainframe geliştiricileri tüm deneyim seviyelerinde geliştiriciler arasında en düşük ücreti alıyordu. Hakkını alabilen tek kişi, emeklilikten önce 30 yıl çalışmış bağımsız yükleniciydi
Ama bu tür rollerin ücretleri, başka teknolojilerle alınabilecek karşılıkla kıyaslandığında berbat ve modern hayat daha büyük maaşların peşinden gitmeye güçlü biçimde zorluyor
Bu program sektördeki giriş seviyesi işler için “adil” piyasa ücretini sunuyor ve ilk yıl içinde 2-3 ekip ya da departmanı deneyimletiyordu. Sonunda şirket hâlâ adaydan memnunsa aday tam zamanlı geçeceği ekibi seçebiliyordu, ama maaş artışı yoktu; o noktada hızlı performans gösteremeyenler zaten elenmiş oluyordu
Şirket açısından sonuç harikaydı. Yeni çalışma arkadaşlarından daha iyi COBOL bilen genç programcıları yılda 60 bin-70 bin dolara çalıştırabiliyorlardı; kıdemli veya uzun süredir şirkette olan çalışma arkadaşları ise duruma göre 200 bin-400 bin dolar alıyordu
Büyükannem delikli kartlarla programlama yapardı ama hangi donanım olduğunu bilmiyorum; artık sormak için çok geç. Babam Sovyet mainframe’lerinde çokça Fortran ve COBOL yaptı, daha sonra ABD’de Y2K çalışmaları da çok yaptı
Bunlar arasında en havalı eşya, babamın eskiden çektiği dağ fotoğraflarının 64 mm büyük format filmini sarmak için üç parçaya yırtıp kullandığı bir Fortran program çıktısı. Muhtemelen Minsk-32 mainframe’inden çıkmış; programın adı MATR1, matris manipülasyonu yapıyor ve yorumlarında arazi şekillerinden bahsediyor. Şimdi çalışma tezgâhımın yakınındaki duvarda çerçeveli duruyor
Ben de hayatım boyunca çeşitli dillerde kod yazdım; şimdi ergenlik çağındaki çocuğum lisede Java ve Python yapıyor ve kodlamaya ilgi gösteriyor. 4. kuşak programcılara doğru
Teknik açıdan bankadaki en kritik pozisyonlardan biri olduğu doğruysa, Nordea'nın İsveç ve İskandinav pazarındaki payı düşünüldüğünde o ekip ortadan kaybolursa İsveç, hatta belki İskandinav ekonomisi bile sarsılabilir. Bu da AB'yi epey etkiler gibi görünüyor
Bu yazıyı okuduktan sonra, böyle bankaları ayakta tutan COBOL programcılarının dünyanın birçok ekonomisinde fazlasıyla hafife alınan bir bus factor olup olmadığını sürekli merak ettim. Böyle bir durum için yedek planın ne olduğunu da merak ediyorum
[0] https://en.wikipedia.org/wiki/Nordea
O felakette kurumsal bilginin kaybının büyük bir etken olduğunu düşünüyorum
Yayalar ve bisikletliler için daha tehlikeli olan SUV satışlarındaki artışı da ekleyince, bankaların ölen programcılar yüzünden değil de kötü muhasebe ve dolandırıcılık yüzünden çökmesi aslında şaşırtıcı sayılabilir
“Kişisel masam vardı, şimdi herhangi bir yere oturduğun açık bir alana taşındık ve bundan gerçekten nefret ediyorum” kısmı, mainframe işi yapmışlığım olmasa da tuhaf biçimde çok dokundu
Sandalye, monitör konumu ve parlaklığı, masa yüksekliği vb. kişiye göre ayarlanmış olunca hot desking fikrinin kendisi komikleşiyor. Keşke resmen bundan vazgeçseler
Finansal hizmetler alanında sistem entegrasyon danışmanı olarak çalışırken bu tür çekirdek bankacılık sistemleriyle çok entegrasyon yapmak zorunda kaldım
Genelde tamamen yeni bir arayüz için pazarlık etmek teknik, iş ve mevzuata uyum tarafında büyük sürtüşme yarattığı için projeyi kolayca 1-2 yıl veya daha fazla geciktirebiliyordu; bu yüzden önceki projelerden mevcut entegrasyon noktalarını yeniden kullanmaya çalışırdık
Entegrasyonlar çoğunlukla gece toplu işlemleri için akşam belirli bir saatten önce yapılandırılmış belgeler teslim etme şeklindeydi. Ofset tabanlı veri belgelerinde gelecekteki güncellemeler ve kullanım için tasarım gereği henüz ayrılmamış alanlar bulunur; yeni bilgi gerektiğinde hangi baytların kullanılabileceği pazarlık edilirdi
Veri çıkarma tarafında bazen daha “modern” API'ler aranırdı ama ince taneli REST gibi şeyleri fazla beklememek gerekir. Maliyeti yüksek yeni geliştirmeden kaçınmanın bir yolunu bulmak için regülasyon ve uyum sorumlularıyla sık sık toplantı yapardık
Ek olarak, uyum sorumluları çoğu zaman BT'den çok daha pratik ve çözüm odaklıydı. Yönetmelik metninin mutlaka en kısıtlayıcı şekilde, harfi harfine yorumlanması gerekmediğine kendi ekibimizi ikna etmek, uyum sorumlularıyla anlaşmaktan çoğu zaman daha zordu
Böyle bir entegrasyon katmanının onlarca yıl boyunca yüzlerce projeyle biriktiğini hayal ederseniz, çekirdek sistem değiştirmenin neden bu kadar zor olduğunu ilk kez gerçekten hissedersiniz
Kayınvalidem tüm hayatı boyunca bir sigorta şirketinin BT departmanında çalıştı. Çok fazla programlama yapmadı ama zaman içinde alan bilgisinin kaynağı hâline geldi
Eski zamanlara dair çok hikâyesi var. Düzgün bilgisayar sistemlerinden önce doğal olarak her şey fiziksel belgeler olarak saklanıyordu; üniversiteden mezun olduktan sonraki ilk projesi, genel merkezin belirlediği yeni stratejiye uygun olarak şubelerin dosya sistemini yeniden düzenlemek için uydu ofisleri dolaşmaktı
Ekip kelimenin tam anlamıyla tüm belgeleri çıkarıp yeniden etiketleyip geri koyarken o şubenin işleri duruyor, tüm proje bir yıldan fazla sürüyordu. Kendi işime bakışım biraz değişti
Keşke büyükannem demansa yakalanmadan önce onunla daha çok konuşsaydım. Matematikçi ve programcı olduğunu biliyordum ama birkaç yıl önce kısa bir konuşmamızda Sovyetler Birliği'nde uydu yörüngeleri hesaplama işi yaptığını söylemişti
En azından uydu olmasını umuyorum
20 yaşında, 3 yılda matematik diploması aldı ve 1970'lerde delikli kartlarla bilgisayar programladı.
Şimdi ayakkabı bağcıklarını bile istikrarlı biçimde bağlayamıyor. Çok geç olmadan sevdiklerinizin başarılarını ve hayat hikâyelerini kaydedin
Kullanımı kolay, önceden hazırlanmış çok sayıda soru var ve kendi sorularınızı da oluşturabilirsiniz. Doğrudan telefona kaydedebilir, isterseniz röportajı ABD Kongre Kütüphanesi'ne de yükleyebilirsiniz
https://storycorps.org/participate/storycorps-app/
Büyükannem bu yıl 95 yaşına girdi. Hâlâ eski Sovyet coğrafyasındaki bir araştırma enstitüsüne her gün gidip Fortran ve Maple ile sayısal simülasyonlar yazıyor
Meslektaşları hâlâ emekli olmasını istemiyor, o da her yıl emekliliği erteliyor. Sayısal analiz ve matematik bilgisi olağanüstü; onunla gerçekten gurur duyuyorum
İlk programlama işi bir taşımacılık şirketindeydi; 15-20 yıldan uzun süredir çalışan çok sayıda programcı vardı ve bunların önemli bir kısmı, işi döndüren COBOL sistemlerinin bakımını yapıyordu.
Bu kıdemli programcıların arasında çok sayıda kadın vardı; kıdemli grupta oran %50’nin üzerinde gibi görünüyordu. Üzücü olan, genç programcılar arasında hâlâ epey kadın bulunmasına rağmen çoğunluğun erkek olmasıydı.
Şirket ağırlıklı olarak yerel teknik üniversiteden işe alım yaptığı için, zaman içinde yazılım mühendisliği bölümlerine giren kadın sayısının nasıl azaldığını gösteren ilginç bir örnek gibi görünüyordu.