Bölüm Hakkında
Konuklar:
-Çağrı Şenkal: Havelsan Test Otomasyon Yazılımları Takım Lideri
-Bülent Sarıkaya: Çankaya Üniversitesi, Bilgisayar Mühendisliği 4. Sınıf Öğrencisi
Reconnect’te, şirketlerin teknoloji ekiplerinden bir yönetici ile kendisinin mezun olduğu üniversitede eğitim hayatına devam eden bir öğrenci buluşuyor!
Sekizinci bölümde Havelsan bizlerle!
Bölüm Metni
Gediz Deren Öktem Ertürk
Selamlar herkese, Coderspace'ten Gediz ben. Hepiniz Reconnect'in yeni bölümüne hoş geldiniz. Hep söylediğimiz gibi bu seri bizim için de çok özel. Çünkü teknoloji sektöründe öncü isimler burada öğrencilerle bir araya geliyor. Aynı okul ve bölümden bir mezun bir de öğrenciyi buluşturduğumuz bu podcast'te hem eski okul günlerine dönülüyor, hem de sektöre yeni girecekler için ilham dolu hikayeler ve tavsiyeler konuşuluyor.
Gediz Derem Öktem Ertürk
Bu bölümde Çankaya Üniversitesi Bilgisayar Mühendisliği mezunu, Havelsan Test Otomasyon Yazılımları Takım Lideri Çağrı Şenkal, şu anda aynı bölümde 4. sınıfta öğrenciliği devam eden Bülent Sarıkaya ile buluşuyor. Sektöre yeni atılacak Bülent'in sorularını merakla bekliyorum. Ona söz vermeden önce bir selamlamak isterim konuşmacılarımızı. Çağrı Bey, hoş geldiniz. Nasılsınız?
Çağrı Şenkal
Merhaba, hoş bulduk. Sağ olun, siz nasılsınız?
Gediz Deren Öktem Ertürk
Ben de çok iyiyim. Çok teşekkür ederim. Bülent sen de hoş geldin. Umarım iyisindir. Güzel geçiyordur her şey.
Bülent Sarıkaya
Hoş buldum. Teşekkür ederim. Güzel geçiyor.
Gediz
İkinize de katılımınız için tekrardan çok teşekkür ederiz. Şimdi ben sözü daha fazla uzatmadan soruları için Bülent'e sözü bırakıyorum. Bölüm sonunda tekrar görüşmek üzere. Kolaylıklar diliyorum.
Bülent
Teşekkürler. Gediz bahsetti ama ben de kendimi tanıtarak başlayayım. Ben Bülent Sarıkaya, Çankaya Üniversitesi Bilgisayar Mühendisliği 4. Sınıf Öğrencisiyim. Coderspace'in düzenlediği, şu anda dinliyor olduğunuz podcast'ın moderatörlüğünü yapacağım bugün. Bugün konuğumuz Çağrı Şenkal. Çağrı Bey hoş geldiniz.
Çağrı
Merhaba, hoş bulduk.
Bülent
İsterseniz ben sözü daha fazla uzatmadan sorularımıza geçelim. Öncelikle sizi tanıyalım. Kendinizi tanıtarak başlayabilir misiniz? Kariyerinizi bir yolculuk olarak bahsetmeniz mümkün mü?
Çağrı
Tabii. Adım Çağrı, Çağrı Şenkal. 1980'de Ankara'da doğdum. İlkokulu Ankara'da okudum. Sonra annem ve babam doktor. Tayinleri çıktı, Bandırma'ya yerleştiler. Ben de onlarla beraber ortaokulu ve liseyi okumak üzere Bandırma'ya gittim. Orada ilk bilgisayarımla tanıştım. Şanslı bir insandım. O yıllarda bilgisayar kullanmak şansına sahip olmak çok mümkün değildi. 1990 yılından bahsediyoruz. Benim okulumda IBM PS2 bilgisayarlar vardı. Sadece disket sürücüleri vardı. Hard diskleri bile yoktu. Ama onları kullanarak okulda basic ile programlama yapılabiliyordu. Programlama dersimiz vardı. Şunu söyleyebilirim herhalde. O günden beri ben hep bilgisayar mühendisi olmak istedim. Üniversite tercihlerinde sadece bilgisayar mühendisi yazdım.
Çağrı
Hani bu benim hayalimdi. O yüzden şu anda da bilgisayar mühendisliği olduğum için çok mutluyum. Sırasıyla lise yıllarımda bir 486DX 400'üm vardı. Ondan sonra 1998 yılında üniversiteyi kazanıp Ankara'ya döndüm. Doğduğum yere döndüm. Çankaya Üniversitesi Bilgisayar Mühendisliği'ni kazandım. Çankaya Üniversitesi Bilgisayar Mühendisliği'ne puanla giren ilk öğrencilerdenim. Yani bölümün ikinci senesiydi. Biz Arı Koleji'nin binalarında ders görüyorduk. Daha o zaman Çankaya Üniversitesi'nin kampüsü yoktu. Bugün sizin ders gördüğünüz kampüs yoktu. İlk bilgisayarım, tabii ki bilgisayar mühendisi olduğum için artık yeni bir bilgisayarım olması gerekiyordu. Pentium 3 Celeron'du. Celeronlar şeydi, öğrenci dostu bilgisayarlardı çünkü ucuzdular. İlk sene kolaydı üniversitede.
Çağrı
Muhtemelen sen de benzer şeyler yaşamışsındır. Çünkü ilk seneki dersler genelde lisedeki derslerin devamı gibiydi. Fizik, kimya, matematik. O yüzden çok zorlanmadım. Ama sonra ikinci sene alan derslerinin başlamasıyla ve işte Calculus 2 gibi, Differential gibi derslerin artmasıyla bayağı zorlandım ve ortalamam düştü. Motivasyonum da biraz düştü. Biraz işte kendimi sorgulamaya başladım. Acaba yapabilecek miyim? Bilgisayar mühendisliğinde başarılı olabilecek miyim diye zorlandığım bir dönem yaşadım. Sonra 3. seneden itibaren çok şanslı olduğum bir döneme girdim. Çok iyi hocalarla tanıştım. Doğru seçmeli dersler aldım.
Ondan sonra 3. ve 4. sınıfta ortalamam gittikçe yükseldi ve 3'ün üzerinde bir ortalamayla Çankaya Üniversitesi'den mezun oldum. Mezun olduktan hemen sonra da o zaman Meteksan Sisteme bağlı Mobilsoft isminde bir şirkette çalışmaya başladım. 2002 yılı, daha henüz akıllı telefonlar ilk defa ortaya çıkmış. Nokia tüm cep telefonu piyasasının hakimi. Satılan piyasadaki telefonların yarısından fazlası Nokia ve böyle kayar kapaklı, kameralı, ilk defa Symbian işletim sistemli ve Java ile program geliştirebildiğiniz bir cep telefonu vardı.
Benim mezun olduğum senede. Mobilsoft'ta bu cep telefonları için mobil uygulamalar geliştiriyorduk. İşte cep telefonundan, şimdiki tabletlere karşılık gelen Palm cihazlarından ve bilgisayarlardan karşılıklı oyun oynayabildiğimiz, satranç oynayabildiğimiz, cross platform oyunları oynayabildiğimiz oyunlar geliştiriyorduk 2002 yılında. Çok eğlenceli bir zamandı. Bir sene kadar burada çalıştım.
Ondan sonra ikinci işim olan DataSel'e geçtim. Datasel hastane yazılımları yapmasıyla ünlü bir şirketti. Ama bizim orada çalıştığımız proje, benim ve ekibimin çalıştığı proje Türk Patent Enstitüsü'nün otomasyon projesiydi. Burada da Java ile veri tabanı uygulamaları geliştirdik. Türk Patent Enstitüsü'nün otomasyon yazılımını gerçekleştirdik. İki sene burada çalıştıktan sonra da hâlâ çalışmakta olduğum, yani 20 senedir çalışmakta olduğum Havelsan'da işe girdim.
Bu arada da 2003 yılında ODTÜ'de yüksek lisansa başladım. O zaman şimdiki kadar popüler olmayan yapay zeka ve expert systems üzerine dersler aldım. Ama o zaman yapay zeka kışı diye tanımlanan bir zamandaydı. Yapay zekaya ilgi çok azdı. Makine öğrenmesine ilgi çok azdı. O alanda ilerleyemedim. Çünkü hani sektörde ve savunma sanayinde pek kullanılmıyordu o zaman. 2006 yılında yüksek sahasal mezun oldum. Havelsan'daki ilk senemde.
Çağrı
Havelsan'a Meltem projesiyle girdim. Orada da Java ile Meltem Deniz Kuvvetleri için yapılan bir deniz karakol uçağıydı. Bu uçağın uçakta çalışan görev yazılımları ve yer komuta kontrol yazılımları vardı. Yer komuta kontrol yazılımlarını Java ile geliştiren bir ekipteydim. Daha sonra bu proje Birleşik Arap Emirlikleri'ne satıldı. Bir süre Birleşik Arap Emirlikleri'ne gidip geldim.
Sonra yine deniz savaş sistemleri altında sahil gözetleme radar sistemi projesinde çalışmaya başladım. Projenin ihale hazırlık aşamasından projenin sonuna kadar hep projedeydim. Gene bu projede mikroservislerle ve Java'yı kullanarak Türkiye'deki tüm sahili şeridini radar ve elektroaktik kameralarla izleyen bir uygulama geliştirdik. Halen de şu anda bu SGDS uygulaması, Sahil Gözetleme Radar Sistemi uygulaması kullanılıyor.
2018 yılında TÜBİTAK destekli Türkiye'nin en büyük ARGE projesi olan 2018 yılı için 120 milyon TL bir bütçesi vardı. Bugün enflasyonu daha düzeltsek bayağı büyük bir meblağ. Yerli ve milli 5G projesinde çalışmaya başladım. Projenin amacı çok büyüktü. 18 yerli firma, bir mobil haberleşme şebekesi yani bugün Turkcell'in, Vodafone'un ve Türk Telekom'un yaptığı ve kullandığı tüm haberleşme altyapısını yerli olarak prototip olarak üretmeyi hedefleyen 2,5 yıllık bir projeydi 2018 yılında. Proje tüm hedeflerini gerçekleştirdi. Aslında belki de bilinen bir şey değil bu. Aslında haberlere çıktı ama çok bilinen bir şey değil. Ama proje kapsamında yerli bir baz istasyonu, yerli radyolink cihazları, mobil haberleşmedeki Turkcell'in, Vodafone'un veri merkezlerinde bulunan bulunan çekirdek şebeke yazılımı ki Java ile yazdığımız mikro servislerden oluşan çok büyük bir yazılımdı. Hepsi bu proje kapsamında prototip olarak gerçekleştirildi.
2020 yılında İstanbul Boğazı'nda, Boğaz'ın bir yakasıyla diğer yakasında 5G cep telefonlarıyla bütün bu haberleşme şebekesinin her bileşeni kullanılarak bir demo yapıldı. İşte o zamanki Ulaştırma Bakanı, TÜBİTAK Başkanı, Sanayi Bakanı gibi herkesin katıldığı bir demo yapıldı. Amaç, Türkiye'deki 5G ihalesi yapılmadan ki sanırım önümüzdeki sene yapılacak, yerli ve milli ürünlerin çoğalmasını sağlamak ve bunların 5G şebekesi oluştururken kullanılmasını sağlamaktı. Bu proje de 2020 yılının ortasında hedefini tutturarak tamamlandı. Benim çok keyif aldığım bir projeydi. Gurur duyduğum bir projeydi çalışmaktan.
Bu projeden sonra da şu anda çalışmakta olduğum test otomasyon yazılımları takım liderliğinde Havelsan'daki test ve doğrulama direktörlüğünde çalışmaya başladım. Biraz uzun oldu ama sanırım yolculuğum ve kariyerimin uzun özeti böyle.
Bülent
Çok teşekkür ediyorum cevabınız için. Bir sonraki soruma geçeyim. Havelsan'da ekibinizdeki rolünüz nedir? Yani günlük olarak yaptığınız işler, konumunuzdan bahsedebilir misiniz biraz?
Çağrı
Havelsan'da test otomasyon yazılımları takımında liderlik yapıyorum. Havelsan'da test işleri bir bağımsız direktörlük tarafından yönetiliyor. Ben bu direktöre direkt bağlı bir bağımsız takımım. Aynı zamanda bu direktörlüğe bağlı test grupları var. Havelsan'da 3 teknik genel müdür yardımcılığı var. Bir tanesi sivil bilişim sistemleri, bir tanesi simülatör sistemleri, bir tanesi de komuta kontrol ve savaş sistemleri için. Bizde de buna karşılık gelen test direktörlüğünde her bir genel müdür yardımcılığına test hizmeti veren grup liderlikleri var. Bunlar yaklaşık 20-30 kişilik ekiplerden oluşuyor ve geliştirilen ürünlerin test edilmesinden sorumlu ekipler.
Benim çalıştığım test otomasyon yazılımları takımı da yaklaşık 100 kişilik ekibe test araçları ve simülatör desteği sağlıyor. Neden böyle bir şeye ihtiyaç var? Bizim çalıştığımız savunma sanayi projelerinde radar, elektro-optik, IFF gibi cihazlar kullanılıyor uçaklarda, gemilerde. Bu cihazları yazılım geliştirdiğiniz ortamlarda kullanma ya da entegre etme şansınız yok. Siz radarı kullanan bir yazılım geliştireceksiniz ama masa başında yanınıza radarı koyup çalışma şansınız yok. Bunun yerine radar yerine geçen simülatörlere ihtiyacınız oluyor. İşte bizim ana görevlerimizden bir tanesi takımımızın bu simülatörleri ve test araçlarını geliştirmek. 10 kişilik bir ekibimiz var. Çoğunluğu bilgisayar mühendislerinden oluşan. Java, JavaScript ve Python dillerini kullanarak çalışıyoruz uygulamalar ve test araçları geliştiriyoruz. Simülatörler geliştiriyoruz. Kendi in-house geliştirdiğimiz test araçlarımız var. Doruk adını verdiğimiz. Bu Doruk'u kullanarak jenerik mesajlar oluşturabiliyoruz ve TCP ile UDP ile yayın yapan herhangi bir cihazın yerine jenerik olarak geçebiliyoruz.
Bunun dışında gündelik olarak ben ne yapıyorum derseniz ana görevim aslında ekip için engelleri kaldırmak, ekibe yön vermek ve ekibi insiyatif alması konusunda yüreklendirmek diyebilirim. Ve ana amacım ben olmasam bile işlerin aksamadan devam edeceği bir düzen kurmak. Bunu hedefliyorum. Umarım da yapabiliyorum diye düşünüyorum. Çünkü ben şuna inanıyorum; bir yöneticinin başarısı aslında yöneticinin kendi kişisel başarısı değil, ekibinin başarısının bir bileşkesidir. O yüzden ben ne kadar ekibimin engellerini kaldırırsam, onların önünü açarsam, onların inisiyatif almasını, bağımsız hareket etmesini sağlarsam, ekibim o kadar başarılı olur, ben de onlar kadar başarılı olurum diye düşünüyorum.
Bülent
Teşekkür ediyorum cevabınız için. Sorum şu, özellikle Çankaya Üniversitesi Bilgisayar Mühendisliği'ndeki eğitiminizin Havelsan'da şu andaki rolünüze nasıl katkı sağladığını düşünüyorsunuz? Veya herhangi bir katkısı var mı, varsa nasıl etkiledi?
Çağrı
Kesinlikle çok katkısı var. Şöyle ki ikinci seneden sonra, üçüncü seneye geçtiğimiz zaman alan dersleri arttı, yazılımla ilgili dersler arttı. O sıradaki rektörümüz Kenan Taş, ODTÜ'den Ziya Karakaya hocamızı getirdi. Ziya Karakaya hocamız Object Oriented, C++ ve Java dersleri verdi. Üç tane ders verdi. Ondan sonra da ayrılıp Atılım Üniversitesi'ne geçti. Şimdi de Türk Hava Kurumu Yazılım Mühendisliği Bölüm Başkanı. Çok iyi bir hocaydı. Bize gerçekten Object Oriented'ı, C++ ve Java'yı çok iyi bir şekilde anlattı.
Şöyle örnekler vereyim. 2001 yılında bu dersleri aldım. 2001 yılında bir online eğitim portalı vardı Ziya hocanın. Sınavlarımızı online olarak browser üzerinden yapıyorduk. Yani bütün C++ ve Java programlama sınavlarını online olarak yapıyorduk bundan 24 sene önce. Bazı sınavlarımız 6 saat sürüyordu. Şöyle söyleyeyim dışarı çıkmak, yemek yemek, tuvalete gitmek falan serbestti çünkü sorular şu şekilde ilerliyordu: 2 saat boyunca size bir hedefler veriliyordu. Programlama hedefleri veriliyordu. Onları yapıyordunuz. 2 saatin sonunda yeni hedefler veriliyordu. Zaten sınavın ne olduğunu ilerlemeden göremiyordunuz. Aralarda gidip işte yemeğinizi çayınızla alıp devam edebiliyordunuz falan. Kopya çekmek zaten mümkün değildi çünkü yazdığınız kod 2 saatten sonra o kadar karmaşık ve ayrık bir hale geliyordu ki başkasına baksanız bile zaten anlaşılacak bir durumu olmuyordu. Bizim için çok büyük bir şanstı. O yüzden hem Kenan Taş'a ve o zaman ki rektörümüze hem de Ziya Hoca'ya çok teşekkür ederim. Kendisinin emeği bende çoktur. Onun sayesinde 2001 yılında Java ile tanıştım. Java'yı sevdim ve Java öğrendim.
Bundan sonra çalıştığım her işte, Mobilsoft'ta, Datasel'de, Havelsan'da hep Java'yı kullandım. Java benim ekmek teknemdi. Bir programlama dilinde uzmanlaşmayı tercih ettim ve bu Java'ydı ve şimdiye kadar doğru bir tercih olarak gitti ve bunu öğrenme fırsatı sağladığı için Çankaya Üniversitesi'ne teşekkür ediyorum.
Bülent
Teşekkür ederim cevabınız için. Sorum şu, Çankaya'da özellikle hangi dersler veya hangi projeler şu an yaptığınız işe, şu anki rolünüze en çok katkı sağladı? Bu herhangi bir kulüp etkinliği veya okulda katıldığınız herhangi bir etkinlik olabilir veya benim de içinde bulunduğum Bilgisayar Mühendisliği Topluluğu yani bu tarz topluluklarda yaptığınız etkinlikler olabilir. En çok hangisi katkısı sağladı?
Çağrı
Kesinlikle yani o zaman için yeni çünkü Java dili 95 yılında çıkmıştı. Aldığım Java dersi, C++ dersi ve Object Oriented dersleri bugün de kullandığım ve en çok işime yarayan derslerdi. Ama bu derslerin dışında biz de Eşli Danslar Topluluğu'nda aktif olarak yer aldım 3 sene boyunca. Orada başka türlü belki de tanıma şansı bulamayacağım pek çok insanla tanıştım. İşletme bölümünden, endüstri mühendisliğinden çok iyi arkadaşlarım oldu. O zamanlar mesela işte seminerler falan olduğu zaman onların öncesinde dans gösterileri yapıyorduk bayağı eğlenceli zamanlardı. Sana da tavsiye ederim eğer hala bir dans topluluğu ya da Eşli Danslar Topluluğu varsa katılmanı tavsiye ederim.
Bülent
Hâlâ var ve umarım ben de bir gün katılmalıyım. Diğer sorum eğer üniversite yıllarınıza şu anda geri dönecek olsaydınız bugünkü bilginizle ve deneyimlerinizle bir proje başlatacak olsaydınız bu ne olurdu? Veya böyle dediğiniz bir proje yaptınız mı üniversite zamanınızda? Herhangi kişisel proje olabilir veya okul projesi olabilir. Diğer sorum da üniversiteden mezun olmadan önce bilseydim iyi olurdu dediğiniz bir şey var mı?
Çağrı
Yani şimdi 2002 yılında mezun olduğumu düşünürsek Android yoktu. Apple yoktu. Akıllı telefonlar, demin bahsettiğim gibi Nokia vardı. WhatsApp ve benzeri haberleşme uygulamaları yoktu. Bitcoin ve Blockchain yoktu. Yani bugünkü bildiğimiz hâliyle insansız kara ve hava araçları yoktu. ChatGPT, LLM'ler hiçbiri yoktu. Bugünkü bilgimle bunları biliyor olsaydım Bitcoin seçerdim herhalde bilmiyorum ama yani çalıştığım sektör itibariyle de herhalde insansız kara ve hava araçları üstüne üniversiteden mezun olduğum yıllarda çalışmaya başlamış olmak isterdim çünkü o zamanlar Türkiye'de insansız kara ve hava araçlarıyla ilgili 2002 yılında çok fazla bir çalışma yoktu ama şimdi şunu görüyoruz ki aslında bu çalışmalar o zamanlar da yapılabilirdi. O zamanlar da başlanabilirdi. Ve belki o zaman başlarsak şimdi çok daha ileride olabilirdik. Bu belki bizim uzay teknolojileri konusunda da daha ileride olmamızı sağlardı. Yani bandı başa sarabilmiş olsam herhalde 2002 yılında insansız kara ve hava araçları konusunda çok daha önceden çalışmaya başlamış olmak isterdim.
Çağrı
Okuldan mezun olduğunda keşke şunu da bilsem dediğin ne vardı diye sormuştun. Şöyle cevap vereyim. Okuldan mezun olduğum zaman şunu fark ettim, okulda bu konuda öğrendiğimiz derslerin aslında büyük bir kısmının direkt olarak yazılım geliştirme işiyle uğraşacaksan ki bilgisayar mühendisinden Türkiye'de mezun olan insanların büyük bir kısmı yazılım geliştirmeyle uğraşıyor. Elbette yurt dışında ASML gibi bu işin daha çok donanım tarafında, daha çok mikro işlemci tarafında çalışan insanlar da var. Ama Türkiye'deki pek çok bilgisayar mühendisi gibi eğer yazılım geliştirmeyle uğraşacaksan şu bir gerçek ki okulda öğrendiğimiz pek çok ders işte Mikroişlemciler dersleri ya da işte Differential dersleri, signal processing dersleri günlük hayatta direkt her gün kullandığımız bilgiler içermiyor. Bu bilgiler tabii ki bir mühendislik formasyonu açısından gerekli ve ihtiyaç duyulan şeyler ama şunu bilmekte fayda var; Türkiye'deki yazılım geliştiren şirketlerin çoğunda bir büyük yazılım projesi geliştirmek için ihtiyaç duyulan çok daha farklı ve okulda öğretilmeyen teknolojiler var.
Mesela bugünkü teknoloji stack'lerine bakarsak git ve versiyon kontrol sistemleri gibi, konfigürasyon yönetim sistemleri, front-end, back-end geliştirmekle ilgili dünya kadar farklı framework var. Normalde gündelik yaşamda bir yazılım mühendisi, yazılım geliştiren bir insan bunları aktif olarak çokça kullanıyor. Ama bunlar aslında okulda öğretilen bilgisayar mühendisliğinin belki %20'sini ya da %25'ini falan oluşturuyor.
Şunu bilmekte fayda var bence mezun olmadan önce. Bu dersler eğer yazılımla uğraşacaksanız bu alandaki öğreneceğiniz şeyler sizin gündelik hayatınızda çok daha fazla kullanacağınız şeyler. Ve eğer mezun olmadan önce neyi bilseydim dediğim şey varsa şunu kesinlikle bence bilmek için ya da öğrenmek için çaba sarf etmek gerektiğini düşünüyorum.
Büyük, çok büyük yani 20 kişinin, 50 kişinin, 100 kişinin beraber çalıştığı ve beraber ürettiği büyük yazılım projelerinin nasıl geliştirildiği, hangi metotların kullanıldığı, hangi yazılım geliştirme tekniklerinin kullanıldığı, hangi araçların, hangi teknolojilerin, hangi frameworklerin kullanıldığı, nasıl kullanıldığı, insanların nasıl beraber etkileşimde, collaboration'da bulunup büyük projeler ürettiğini öğrenmek isterdim. Ya da bununla ilgili daha çok bilgi edinmeye çalışmış olmak isterdim.
Bülent
Teşekkürler. Peki Havelsan'da işe yeni başlayan birinin özellikle bir bilgisayar mühendisliği mezunu olarak hangi teknik becerilere sahip olması gerekiyor sizce?
Çağrı
Bu aralar yakın zamanda son 2-3 yıldır Havelsan bir savunma sanayi şirketi olmasına rağmen JavaScript ve TypeScript dilleri revaçta ve biz de aktif olarak kullanıyoruz. Yani biz derken sadece test otomasyon yazılımları takımından bahsetmiyorum. Havelsan'daki tüm yazılım geliştirme ekipleri bunları aktif olarak kullanıyor. Ana sebebi de şu: Hem frontend yazılım geliştirme için hem de backend yazılım geliştirme için JavaScript kullanılabiliyor.
Backend'de Node.js, frontend'de Vue.js, React gibi frameworkler kullanılabiliyor. Dolayısıyla tek bir dil altyapısı kullanarak bir full stack development gerçekleştirilebiliyor. Özellikle TypeScript'le buna Type desteği geldiği için ve daha iyi formatlı yazılımlar üretilebildiği için JavaScript'i tercih ediyoruz programlama dillerinden. Hâla Java ve Spring'i backend development için kullanıyoruz aktif olarak. Dolayısıyla ikinci sıraya programlama dili olarak Java'yı koyabilirim. Hala aktif olarak kullanılıyor. Üçüncü sıraya da Python'ı koyabilirim. Çünkü aktif olarak yapay zeka teknolojileri Python'la yazılıyor ve kullanılıyor. O yüzden Python bilmek de kesinlikle şart.
Dolayısıyla üç programlama dili bilme şansın varsa bence bunlar kesinlikle JavaScript, Java, Python olmalı şu anda. Araçlara gelecek olursak bence Cloud gibi, Cursor gibi, Copilot gibi kodlama asistanları, yapay zeka destekli kodlama asistanlarını aktif olarak kullanmak, LLM'leri aktif olarak kullanmak çok önemli. Ama tabii bu şu demek değil, şu anki teknolojide bütün bir yazılımı, büyük bir yazılımı Cursor'a ya da Copilot'a yazdırmak mümkün değil. Ben şöyle tanımlıyorum; Eğer LLM'lerin, Copilot'ın, Cursor'ın ürettiği yazılımı anlayabiliyorsanız, analiz edebiliyorsanız ve ürettiği yazılımda gerekli değişiklikleri yapabilecek bilgiye sahipseniz bence kullanmakta hiçbir engel yok. Hiçbir sıkıntı yok.
Bülent
Teşekkürler. Ben de tam onunla alakalı bir soru soracaktım. Benim şahsi de çok merak ettiğim bir şey bu. Şu anda yapay zeka bildiğiniz gibi en büyük teknoloji trendlerinden biri. Peki sizce biz bilgisayar mühendisliği öğrencileri olarak veya sektöre yeni adım atmak isteyenler olarak bu değişime ayak uydurmak için yönümüzü değiştirmeli miyiz? Farklı sektörlere yönelmeli miyiz? Kariyer planlarımızda neleri yeniden düşünmeliyiz sizce?
Çağrı
Bir sektör olarak ve bir meslek olarak yazılım geliştirmenin daha uzunca bir süre bir yere gideceğini düşünmüyorum. Burada bence anahtar kelime soyutlama. 1950'lerden bu yana baktığımız zaman yazılım geliştirme aslında her zaman üst üste soyutlama katmanlarında oluşmuştur. İlk başta makine diliyle kod yazılıyordu. Makine dili dediğimiz şey neredeyse sayılardan oluşuyor. Şöyle bir şey düşün. İnsanlar ilk defa kod geliştirirken bildiğin 0105 yazarak kod yazıyordu. Böyle insanlar vardı. Sonra assembly ortaya çıktı. Assembly'nin tek yaptığı şey aslında sayılara bir isim takmaktı. Yani 0-1 yerine mov yazıyordun. Böylece mov, ax, bx dediğin zaman işte bu ax değişkenini bx'e kopyala anlamına geliyordu. Aslında bütün yaptığı sayının yerine bir isim takmaktı. Bunu sayıya çevirmek için de Assembler'lar olarak kullanılıyordu Assembly dilinde.
Sonra ilk defa Fortran ve COBOL'la daha sonrasında C ile derlenen diller ortaya çıktı. Compiler kullanılan diller. Bir soyutlama katmanı daha çıktı. Derleyicinin yaptığı şey neydi? Senin yazdığın kod instructionlarını alıp makine diline çevirmekti. Şimdi 1970 yılına dönüp makine diliyle kod yazmayı adet edinmiş birine derleyiciyle kod yazmayı gösterdiğimiz zaman muhtemelen şey diye düşünürlerdi: "Makine diliyle kod yazmayı bilenlerin işte devri kapandı artık yazılım geliştirme bitti. Sadece compilerla, C ile kod yazanlar olacak ve sayısı çok azalacak." Ama iş burada bitmedi. Bu bize modüler programlamayı getirdi.
Fortran, COBOL ve C modüler programlamayı getirdi. Kodumuzu küçük fonksiyonlara bölüyorduk. Fonksiyonlar birbirini çağırıyordu. Bu hala minik bir soyutlama katmanıydı. Bundan sonra Smalltalk, C++ ve Java geldi. Smalltalk ve C++ bu soyutlama katmanının üstüne Object Oriented'ı getirdi. Artık klaslar vardı. Kodu klaslar şeklinde organize edebiliyorduk. Java bunun üstüne memory management'ı getirdi. Artık bir değişken ne zaman yaratılıyor, ne kadar memory ayırmak gerekiyor, işim bittiği zaman ben nasıl boşaltacağım? Bununla uğraşmıyordum. Halbuki C'de kod yazan adam her bir değişken için ayrı bir memory alanı oluşturup sonra da bunu işi bittiği zaman ortadan kaldırmakla yükümlüydü. Bir soyutlama katmanı daha.
Çağrı
Java bir de standart kütüphaneler getirdi, C++'da ve C'de olmayan. Çünkü herkesin ayrı ayrı tekrar tekrar aynı fonksiyonları geliştirmesi gerekmesin diye. Bunun üstüne 1995'den sonra JavaScript ve PHP artık web ve HTML'in patlamasıyla, web teknolojinin patlamasıyla gelişti. Ekstra bir soyutlama katmanı olarak fonksiyonel programlama ortaya çıktı. İşte Haskell, Clojure, Kotlin gibi diller fonksiyonel programlamayı getirdi. Bunlar çok popüler olunca ve kod yazmayı hızlandırdığı için Java gibi diller de bu fonksiyonel yetenekleri kendilerine kattılar, evrildiler. Daha fazla soyutlama katmanı eklediler.
Dolayısıyla başladığımız yere bakarsak 1950 yılında program geliştiren bir insana bugünkü yazılmış Java ile Clojure ile Kotlin ile yazılan kodları göstersek herhalde çok şaşırır. Yani hani bunun büyü olduğunu falan düşünür. Geldiğimiz çünkü soyutlama katmanı inanılmaz. Sonuçta hâlen bilgisayarda çalışan yazılım makine dili aslında ama arada interpreter'dan geçiyor, derleyiciden geçiyor, makine diline dönüşüyor, bir sürü yol kat ediyor. En az 3-4 tane soyutlama katmanı var ama sonuçta çalışan şey makine dili.
Ben açıkçası yapay zeka araçlarını, cloud'u, cursor'u, copilot'u, LLM'leri bir soyutlama katmanı olarak görüyorum. Bugün bize sağladıkları şeyler bizim yazılım geliştirme ihtiyaçlarını yazılım geliştirme gereksinimlerini İngilizce dilinde ya da Türkçe dilinde bilgisayara aktardığımız bir arayüz sağlıyor. Sonuçta bir soyutlama katmanı olarak bize kod üretiyor. Aslında biz kodun üzerine bir soyutlama katmanı koymuş olduk sadece. Ne yapıyor? Biz İngilizce bir prompt veriyoruz. Bu promptun sonucunda bir program oluşuyor. Bir şey değişmedi. Bir kat daha koyduk üstüne sadece. Ben olayı böyle görüyorum. Yani bütün bu LLM, Cloud, Cursor, Copilot gibi yazılımların aslında yazılım geliştirmeyi kolaylaştıran bir soyutlama katmanı olduğunu düşünüyorum.
İleride belki bizim şu anda hiç hayal edemediğimiz çok daha başka soyutlama katmanları çıkacak. Bu soyutlama katmanları belki prompt yazmayı bile gerektirmeyecek. Belki sizin sadece işte bu metanın geliştirdiği düşüncenizi okuyan sistemlerle kafanızda oluşturduğunuz yapılarla kod geliştirilecek. O belki bir soyutlama katmanı olacak. Ama sonuçta gördüğün gibi 1950'den bu yana yazılım geliştirme sadece üzerine soyutlama katmanı ekleyerek gidiyor. Ama yazılım geliştirme bir yere gitmiyor. Ben gideceğini de düşünmüyorum bir süre.
Bülent
Teşekkür ederim. Gerçekten çok güzel açıkladınız. Son soruma geçeyim o zaman. Son sorum Havelsan'da çalışmaktan mutluluk duyduğunuz 3 akla gelen şey nedir?
Çağrı
Havelsan'da çalışmaktan en çok mutluluk duyduğum şey ve aslında başkalarına da tavsiye edebileceğim şey pek çok anlamda güven duyduğum bir ortamda çalışmak öncelikle. Şöyle ki bir startup şirketinde ya da yurt dışında büyük bir şirkette de çalışsanız Microsoft'ta, Amazon'da da çalışsanız aklınızın bir kenarında her zaman şu soru vardır, Microsoft mesela geçenlerde işte yüzde beş personel işten çıkarttı. Zaman zaman Amazon ve Google da işten çıkartıyor. Hep şöyle bir soru olur aklınıza. Ya işte acaba işler kötü giderse Amazon satışlarını çok yapamazsa, Microsoft ürünlerini çok satamazsa acaba işten çıkartılır mıyım diye bir soru her zaman olur. Ve bunun şöyle bir şeyi var. Genelde teknoloji sektöründe Google, Microsoft ve Amazon aynı anda eleman çıkartıyor. Niye? Çünkü biri işten çıkarttığı zaman diğeri de işten çıkartıyor ki bu problem daha az yansımaya sahip olsun şirket itibarı açısından onlarda. Ve bu şöyle bir birleşik probleme yol açıyor, iş bulmak gittikçe daha zor bir hale geliyor teknoloji sektöründe. Benim Havelsan'la ilgili en büyük yaşadığım güven hiçbir zaman acaba işsiz kalır mıyım korkusu yaşamadım.
Çağrı
Çünkü, Havelsan bir savunma sanayi şirketi olarak size şu güveni verir: Eğer siz işinizi düzgün bir şekilde yapıyorsanız sektör ne kadar kötüye giderse gitsin bu şirket sizi işten çıkartmayacak güvenini verir. Bu benim için önemli bir şey. Çünkü hiçbir zaman bunun stresini yaşamadım. Bu benim için bir rahatlık. Herkes için bu önemli olmayabilir ama benim için önemliydi. Belki memur bir ailenin çocuğu olduğum için. Bu rahatlığı aradım ve bu şekilde çalıştığım için de mutlu oldum.
Diğer taraftan Havelsan'da uzun yıllar çalıştığım için çok sayıda insan tanıdım. Çok iyi arkadaşlıklar kurdum, çok iyi dostluklar kurdum. Pek çoğu bu uzun yıllar boyunca Havelsan'dan ayrıldılar. Bazıları yurt dışına gitti. Bazıları başka savunma sanayi şirketlerine gitti. Ama sonuçta yine güven odaklı olarak şöyle söyleyebilirim. Şu anda da Havelsan'da beraber çalışmaktan keyif aldığım ve güvendiğim insanlarla çalışıyorum. Bu benim için çok önemli.
Karşılıklı güven ilişkisi üzerinden çalışmak, sırtımı yasladığımda tereddüt etmeyeceğim, beni koruyacağına emin olduğum bir yöneticiyle çalışmak, aynı şekilde benim beraber çalıştığım arkadaşlarım da bana güven duyuyor olması benim için çok önemli. Böyle bir ortam sağlayabiliyor Havelsan. Sanırım benim Havelsan'da en çok çalışmaktan keyif aldığım ya da Havelsan'la ilgili beni mutlu eden şeyler bunlar. Temelde aslında hepsi güven üstüne kurulu.
Bülent
Teşekkürler. Benim sorularım bitti. Dolayısıyla podcast'in sonuna geldik. Sorularımı içtenlikle cevapladığınız için çok teşekkür ederim Çağrı Bey. Bu podcast içinde bulunma fırsatı verdiği için de Coderspace'e çok teşekkür ederim. Eğer sizin eklemek istediğiniz son birkaç şey varsa sizi dinleyelim. Sonra sözü Gediz'e bırakalım.
Çağrı
Ben de bu fırsatı verdiği için Gediz Hanım'a ve Coderspace'e çok teşekkür ediyorum.
Gediz
Öğrencilik yıllarından sektörde herkes tarafından bilinen bir şirkette liderlik pozisyonuna kadar uzanan bu yolculuğu bizlerle paylaştığınız için teşekkür ederiz Çağrı Bey öncelikle. Biz geriye dönüp yolumuzu değiştiremiyoruz. Fakat, eminim ki katılımınızla Bülent gibi son sınıfta olan, yeni mezun olan veya bölüme girmiş ama ne yapması, nereye odaklanması gerektiğini bilemeyen pek çok dinleyicimize ilham oldunuz. Tabii sizin de bahsettiğiniz gibi teknoloji gelişmeye devam ediyor. Belki Bülent de yıllar sonra geriye dönüp bunun gelişini nasıl göremedim diyecek ve belki bir podcastte veya o zamanlar artık Podcast yerine nasıl bir şey olursa, şimdiki aklım olsa üniversite yıllarımda şuna odaklanırım diyecek. Yine de konuşmalarımızın ufuk açtığına eminim. Bülent sana da soruların ve moderatörlüğün için teşekkür ederiz. Sektöre yeni gireceklerin sesi oldun. Ağzına sağlık. Reconnect'in bu bölümünde bizleri dinleyen herkese de tekrardan teşekkür ederiz. Yeni bir bölümde tekrar buluşana dek hepiniz hoşçakalın.