Hdteknohaber ailesi olarak yeni haftada yeni bir Yazılımcı Salı‘ sı ile karşınızdayız. Her hafta olduğu gibi bu haftaki konuğumuz da sektörün içerisinden bir yazılımcı. Kendisine sektördeki tecrübelerini, yazılımın geleceğini sorduk. Cevaplarını sizle paylaşmak isteriz.
Bu haftaki konuğumuz kendisinin kişisel sosyal ağında belirttiği üzere Physicist / Engineer / Software Architect / Entrepreneur / Instructor / Consultant Yaşar Safkan.
Hdteknohaber: Yaşar Bey merhaba, bize ve okuyucularımıza kendinizi tanıtır mısınız?
Yaşar Safkan: Bu soruya derli-toplu cevap vermek pek kolay değil. Hayat o kadar çok dilimden oluştu ki şu ana kadar, belki yapabileceğim en iyi tanım, “bir işte dikiş tutturamamış biri” olabilir. Diğer bir bakış açısıyla, farklı alanlarda geniş tecrübeleri var denebiliyor. Buradaki seçim, benden medet umulması veya çamur atılması gereğine göre değişiyor.
1995 yılında Boğaziçi Üniversitesi’ nden beni Elektrik-Elektronik Mühendisliği ve Fizik dallarında iki adet diplomayla mezun ettiler. (Buna ÇAP yani Çift Ana dal Programı deniyor.) Sonrasında, Massachusetts Institute of Technology’ de (MIT olarak bilinir, uzun halini doğru yazmak zor, MİT ile karıştırmamakta fayda var) fizik doktorası yaptım; deneysel nükleer fizikçi oldum.
Sonrasında, Türkiye’ de döndüm. 2001 yılından beri, aradaki bir-iki deliği saymazsak, Boğaziçi Üniversitesi’ nde her dönem part-time (resmi olarak saat ücretli deniyor buna) öğretim görevlisi olarak her dönem bir ders veriyorum. 2001′ den beri ise, hayatımı çoğunlukla yazılım işlerinden kazanıyorum. Arada 2004-2006 yıllarında Yeditepe Üniversitesi Bilgisayar Mühendisliği Bölümü’ nde tam zamanlı Öğretim Görevlisi olarak görev yaptım. 2008-2009 yıllarında bir Google maceram var. 2005-2008 arasında Türkiye’ nin ilk startup’ larından biri sayılabilecek Overtam’ in kuruluşunda yer aldım. Google dönüşü Intertech/Denizbank’ ta üç yıl kadar çalıştım. Son yıllarda, Safkan Yazılım’ ı kurdum; artık danışmanlık ekseninde çalışıyorum.
Twitter’ a yazdığıma bakarsanız şöyle diyor: Physicist / Engineer / Software Architect / Entrepreneur / Instructor / Consultant
Belki hepsi doğru, belki de hepsi yanlış…
Hdteknohaber: Çok hızlı ve detaylı bir giriş yaptınız. Hem akademik hem de sektörde çok fazla tecrübeniz var. Lisans eğitimine başladığınızda Fizik üzerine de eğitim almışsınız. Hatta bu konuda bir doktora da yapmışsınız. Çalışma hayatında peki hangi sektörlerde yer almayı tercih ettiniz.
Yaşar Safkan: Yazılım. Yazılım danışmanlığı. Biraz da eğitim.
Hdteknohaber: Çalışma hayatınız yazılım sektörü üzerine olmuş. Çok farklı ve gerçekten önemli yerlerde bulunmuşsunuz. Misal Google’ ı düşündüğümüzde yazılım sektöründeki herkes büyük olasılıkla orada olmak isteyecektir. Peki, bu çeşitlilik çalıştığınız ortamlarda kullandığınız teknolojilere, yazılım ürünlerine nasıl yansıdı.
Yaşar Safkan: Zor sorular bunlar. Zorluğu şuradan; benim iş gündemim altı ayda bir değişiyor. Buna artık şaşırmamaya da başladım. Zaman geliyor, aynı gün üç ayrı platformda kod yazıyorum. Zaman geliyor elimi koda sürmüyorum. Kullandığınız derken, geçmiş de dâhilse, liste epey uzun sayılır. Programlama dili olarak, Java, C#, Python, JavaScript, Objective C, C/C++ yazmışlığım var. Perl, PHP, COBOL’ a hiç bulaşmadım. Platform olarak, Linux, Windows, Android, IOS üzerinde kod yazmışlığım var. Kütüphane ve framework isimlerini yazmıyorum; saçma çünkü. Ha, bir ara Netduino üzerinde de kod yazdım. Daha eski vakitlerde, assembler yazmışlığım da var; ama ondan hiç para kazanmadım.
Hdteknohaber: Liste epeyce geniş. Ortalama ya da belki daha altı bir yazılımcı olarak kendimize baktığımızda sizin akademik yönlerinizde ağır basıyor. Bu faydalandığınız kaynaklara kişilere de yansımıştır diye düşünüyoruz. Bu konuda iş hayatınızda faydalandığınız kaynaklardan, kişilerden de bahsedebilir misiniz?
Yaşar Safkan: Epey bir kitap ve arkasındaki epey bir yazar..
Donald Knuth var mesela. Bilgisayar programlaya damardan girmek isteyen herkesin, “The Art of Computer Programming” serisini en azından sağlam bir karıştırması gerekir. Pek öyle satır satır okunabilecek gibi bir kitap değil, ama sanki garip bir güç taşıyorlarmış hissi geliyor insana okurken.
Joel Spolsky elbette. “Joel On Software” bloğundan toplama, ama okunması gereken bir kitap. İkincisi de vardı bunun. Stack Oveflow ve Stack Exchange sitelerini de ona borçluyuz.
Martin Fowler’ı pas geçemeyiz. “Refactoring” kitabı eski ama halen günceldir. “Patterns of Enterprise Architecture” da okunası bir kitap.
Tom DeMarco ve Timothy Lister var tabi. Peopleware’ ı okumadan yazılım ekip yönetmeye kalkmamak lazım aslında. Bu adamların tüm kitaplarını okumak gerek. (Yanılmıyorsam neredeyse hepsini okudum.)
Gerald M. Weinberg. Vay arkadaş. Bir adam, 20 kitap kadar bir seride, her şeyi mi anlatır? Adam her şeyi anlatmış. Kendisini biraz geç keşfettim; bir kaç ay önce Müfit Sözen hocamın tavsiyesiyle oldu. Yazdığı her şeyi hatmediyorum bu aralar vakit buldukça.
Müfit Sözen var kaynak olarak. Kitap yazmış değil ama canlı kitap.
Hdteknohaber: Gerçekten kaynak olarak çok fazla örnek sundunuz bize. Mühendisliğin hakkını verebilmek için bu sektöre yeni girmiş ya da daha üniversite sıralarında olan meslektaşlarımıza yol gösterecektir. Peki sizce çalışma hayatında insanlara neler önerirsiniz? İnsanlar bir yazılım teknolojisi üzerinde mi uzmanlaşmalı yoksa birkaç teknoloji hakkında fikir sahibi olmalı mıdır?
Yaşar Safkan: İşinizi ne görüyorsa. Yani, işe başladığında COBOL öğrenmiş ve emekli olana kadar da hep COBOL yazmış, bundan da mutlu olmuş insana benim nasıl bir eleştirim olabilir ki? Yaptığım ancak gereksiz ukalalık olur.
Ancaaaak?
Bildiğim, tanıdığım en iyi yazılımcılar arasında, çok sayıda programlama dili ve platformu bilenler ezici çoğunlukta. Buradaki korelasyona aman dikkat! Çok sayıda programlama dili bilenler, zaten yetenekli yazılımcı oldukları için bunu yapabiliyorlar. Yoksa çok sayıda programlama dilini zorlayıp öğrenmek sizi muhtemelen daha iyi bir yazılımcı yapmayacaktır.
Amaaaa?.
Bir kaç yazılım dili ve platformu öğrenmeden, dillerin ve platformların artılarını ve eksilerini, avantaj ve dezavantajlarını anlamak ve kavramak çok mümkün olmuyor. “En iyi dil benim dilimdir” demek de, yazılım yobazlığına giriyor. Farklı paradigmaları ve bakış açılarını anlamak ve kavramak, yeteneğinizi artırmasa bile, kesin olarak ufkunuzu genişletecektir.
Bir deeee?.
Şu değişen dünyada, hangi teknolojinin veya dilin tutunacağını hangisinin yarın yok olup gideceğini tahmin etmek zor. COM/COM+ hatırlayan var mı? Hani .NET kalkacaktı? Objective C naftalinden beklenmedik anda çıktı geldi, yine rafa kalkıyor şu anda. Tüm yumurtaları aynı sepete koymak, hele Türkiye gibi ülkede çok mantıklı olmayabilir.
Hdteknohaber: Birazda işin internet boyutuna bakalım mı? Teknoloji dünyasındaki gelişmeleri takip ettiğiniz siteler mevcut mu?
Yaşar Safkan: Palavraya karnım tok. Kuru gürültüye de pabuç bırakacak günler geride kaldı. Herkesin yeni çıkan her şeyin yarının en önemli şeyi olacağını iddia ettiği sitelerle işim pek yok dolayısıyla. Burada, gerçekten bir naneye yarayacak şeyleri ayıklama konusunda kişisel ağıma güveniyorum. (İşe de yarıyor.) Gerçekten ipe-sapa gelen bir şey olursa, bana kadar ulaşıyor.
Hdteknohaber: Epeyce iş hayatı hakkında konuştuk. Söylediklerinizin gençlere yol göstereceği kesin. Peki iş hayatı dışında mesleki anlamda kendinizi geliştirmek için neler yaparsınız?
Yaşar Safkan: Benim iş hayatım ile geri kalanı arasında bir çizgi yok. Kendimi geliştiriyorsam, o zaten iş hayatıdır. İş hayatının dışında isem, kendimi geliştirmiyorumdur. Spor yapıyor veya yan gelip yatıyor olabilirim.
Ama para almak için çalıştığım saatler dışında ne yaptığımı söyleyebilirim.
Okurum. Blog yazarım. Safkan.org adresinden erişin, okuyun. Davet edilirsem, gidip konuşurum. Bazen davet edilmezsem de konuşurum. FOSDEM ve OSCON’ a katılırım zaman zaman.
Hdteknohaber: Şimdi gelelim resme birazda dışarıdan bakmaya. Aslında üç farklı soru olsa da birlikte sormak geniş geniş cevaplarınızı dinlemek isteriz. Öncelikle ülkemizde yazılım sektörünü nasıl görüyorsunuz, gelecekte nasıl olacak? Aynı zamanda ülkemiz diğer ülkelere oranla yazılımda nerede? Bunlara cevap vermenize etki eden artılar eksiler neler?
Yaşar Safkan: Bu üç soruyu bir arada cevaplamak uygun düşüyor.
Türkiye’ de yazılım sektöründe, sıkıntı bol miktarda var. Temelde, sıkıntı iki ana başlık altında toplanıyor:
Kültür Uyumsuzluğu
Cehalet
Birinci madde, kültür uyumsuzluğu. Biz bir tahakküm memleketiyiz. Devlet-şirket-aile yapılanmalarının tamamında, otorite seviyoruz. Kim altta, kim üstte, kim kimi döver bilmek istiyoruz. Hep bir amir-memur ilişkisi içindeyiz. Ayrıca, birbirimize zerre kadar güvenmiyoruz. O kadar güvenmiyoruz ki, etrafınıza bakın, aile şirketi olmayan, gerçek anlamda profesyonellerce yürütülen bir şirket yok. Şirketlerin içinde yetki delegasyonu yok. Böyle bir kültürün içinde, bilgi çalışanlarının verimli olacağı (ki yazılımcı bilgi çalışanının en bilgi çalışanıdır) bir ortamı gerçeklemek, neredeyse imkânsıza yakındır.
İkinci madde, cehalet. Yukarıda, sayıp döktüğüm yazar ve kitapları tanıyan, okumuş ve özümsemiş neredeyse hiç bir etkili ve yetkili insan yok memlekette. Genel olarak yönetimden, özel olarak da yazılım yönetiminden neredeyse bihaber bir yazılım sektörümüz var. İçgüdüsel yöntemlerle yazılım yönetmeye çalışıyoruz. İşin kötü tarafı, yazılım âleminde içgüdüsel olarak akla gelen çözümlerin neredeyse tamamı yanlış.
Geri kalan sıkıntılar, bu iki durumun sonuçları veya türevleri.
Otuz yıl önce yazılıp kitaplara geçmiş bilgiler konusunda cahil olduğumuza göre, dünyanın yaklaşık otuz yıl gerisindeyiz diyebiliriz.
Hdteknohaber: Peki sizce ülkemizde yazılım temalı etkinlikler ne durumda. Yeterli sayıda ya da nitelikte mi?
Yaşar Safkan: Sorulduğu şekliyle soruya cevap veremiyorum yine. Bu sefer ikiye böleceğim.
Yazılım temalı yeterli sayıda etkinlik var mı?
Evet var.
Bu yeterli sayıda etkinlik, yeterli mi?
Değil. İçerikler zayıf. Çoğu firma reklamı. Sunumlar ya hazırlıksız, ya içi boş. Ya da önceki sezonun tekrarı. Yani diyesim o ki, daha çok kaliteye ve bu meseleleri ciddiye almaya ihtiyacımız var.
Hdteknohaber: Ya akademik eğitim hakkında neler düşünüyorsunuz? Sektörün ihtiyaçlarına karşılık verebilecek düzeyde mi?
Yaşar Safkan: Yazılım açısından bakınca, üniversiteler maalesef teknolojinin hızına ayak uyduramıyorlar gibi bir görüntü var. Yani, spesifik teknoloji öğretmek üniversite öğretiminin işi olmayabilir. Ancak, unit testing, source control, continuous delivery gibi kavramsal seviyedeki şeylerin eğitimi de verilemiyor. Programlama dilleri patır kütür değişirken, bu hızı yakalamak da mümkün olmuyor. Öte yandan, aslında okulda verilen algoritmalar ve veri yapıları gibi derslerin gereksiz olduğunu düşünenler var. Ama iyi yazılımcılar bu konuları iyi bilenlerden türüyor her zaman. Yani, akademik eğitim gerek, ama yeter şart değil.
Hdteknohaber: Peki son olarak yazılım sektöründe yer alacak gençlere tavsiyeleriniz nelerdir?
Yaşar Safkan: Bununla ilgili komple yazı yazdım, ufak ufak da yazı dizisine doğru gidiyor. Buyurun: Yazılım Kariyerinin Başındakilere Ukalalıklar
Vermiş olduğu bu değerli cevaplar için Hdteknohaber ekibi olarak Yaşar Safkan’ a teşekkür ediyoruz. Umarız bu sektörde yer alan ya da alacak meslektaşlarımıza yol gösterir.
Yaşar Safkan‘ın bloğunu takip etmek isterseniz linkini ziyaret edebilirsiniz.
[…] [Tıklayabilirsiniz] Yazılımcı Salısı?nda Bu Hafta ? Yaşar […]