
Uzun yıllardır Ceviz.Net’e, forumlarında yaptığı katkılarla olsun, yazdığı makalelerle olsun destek veren değerli programcı arkadaşımız Ali Çehreli ile Amerika’da arkadaşımız Volkan Uzun sizler için sıcak bir röportaj gerçekleştirdi. Her ikisinede çok teşekkür ediyoruz.
Uzun bir süredir Ali Çehreli ile röportaj yapmayı istiyordum. Her seferinde, zamansızlık, tembellik gibi sebeplerle ertelerken, Ceviz.net’in yeni bir dizayn ve yeni bir misyon ile açılış yapacağını duyduğumda, bu röportajı yapmak için Şahin’den müsaade isteyip hemen Ali’ye email attım. Ali sağ olsun o kadar işinin arasında bu röportaj isteğimi kabul etti. Zaman darlığından ve de Alinin olduğu yere benim gitmem 5-6 saat süreceğinden dolayı bu röportajı iterative olarak offline yaptık. Daha çok soru cevap şeklinde olan röportajdan keyif alacağınızı ümit ediyorum.
V: Volkan Uzun
A: Ali Çehreli
V: Ali Çehreli kimdir? (babamın oğluyum cevabını kabul edemicem Ali)
A: Ali Çehreli, Silikon Vadisi’nde bilgisayar programcısı olarak çalışan birisi. Evli, 11 yaşında kızı var…
Genel olarak sıkıcı birisi olduğunu söyleyebilirim: uyuşturucu yok, sigara yok, entrika yok, yalan yok, vs.
V: Yapma Ali, bir yazılımcının yalan söylemediğini düşünemiyorum ben. Projeden sorumlu kişi, en azından senin bölüm ne zaman bitecek dediğinde bile hiç hafiften salladığın olmadı mı
, kahve de mi içmiyorsun program yazarken, biliyorsun kahve ve pizza programcı dendiğinde akla gelen 2 sembol artık
A: Kodlamanın ne zaman biteceği konusunda ben de herkes gibi yanılıyorum ama bu konuda yalana gerek yok. Zaten elimizde değil
hep daha çabuk bitecek sanıyoruz. Ben halen yanılıyorum. ![]()
Kahve konusu ilginç: herhalde 5 yıldır işyerinde hiç kahve içmiyorum. Hiç! NetContinuum’da çalıştığım zamanlarda programda zorlandığım her an kalkıp kendime kahve koyduğumu ve şirkette günde 5-6 fincan içmeye başladığımı fark edince kendime söz verdim ve o zamandan beri işyerinde tek yudum içmedim.
V: Hangi okullardan mezun oldun, ne eğitimi aldın?
A: Ankara Teğmen Kalmaz İlkokulu; İlkokul 1
Kayseri Çingilli İlkokulu: İlkokul 2
TED Kayseri Koleji: İlkokul 3
TED Ankara Koleji: İlkokul 4 – Orta 3
İstanbul Nişantaşı Anadolu Lisesi
İTU Elektrik Elektronik Fakültesi: Elektronik ve Haberleşme Bölümü, Tıp Elektroniği
İTU Fen Edebiyat Fakültesi: Fizik Mühendisliği Yüksek Lisans, Dinamik sistemler, noral ağlar, cellural automata.
V: Tıp elektroniği nedir? Noral ağlar konusu da çok ilginç sanırım şu an artificial intelligence alanında veya computer learning alanında bahsi çok geçiyor, bunun bir fizik konusu olduğunu bilmiyordum, var mı bu konuda söyleyebileceğin ilginç şeyler?
A: Tıp elektroniği, hastaya bağlanan tıbbi elektronik aletlerle ilgili bir dal. Kalp pilleri, elektrokardiyogram, MRI, vs. gibi. Ama onu okuduğumla kaldım, o konuda hic çalışmadım.
Benimki “katı hal fiziği”ydi. Fizikteki isimin çoğunu yazdığım bilgisayar programlarıyla yapılan deneylerle geçirdim. “Moleküller yüzeyin belirli noktalarına yapışıyor olsunlar, çok sayıda molekül bir araya gelince ucup gitsinler; sonunda yüzeydeki molekül ortalaması ne olur” gibi soruları yanıtlıyorduk. Fraktaller de konulardan birisiydi. Hepsi cok zevkliydi ama kendimi akademisyen olarak göremedim hiç. Amerika’ya gitme fırsatı da tam o sıralarda doğunca devam etmedim.
V: Okulda öğrendiğin şeyleri uyguladığın oldu mu yoksa okul eğitimin teorik mi kaldı?
A: Okuduğum okullarla şu anda yaptığım işin fazla bir ilgisi yok. Tamamen ilgisiz değiller ama ne elektronikle ilgileniyorum, ne de fizikle.
V: Peki hazır bu eğitim konusuna değinmişken, sence iyi bir programcı olmak için üniversite eğitimine ihtiyaç var mı? Sonradan kitapları okuyarak, programlama kurslarına giderekte bir şeyler başarılır mı?
A: Tabii ki üniversiteye gitmeden de bilgisayarcı olunur. Örneğin benim bilgisayar bilgimin çok azı üniversiteden geldi; o da Elektronik Bölümü’nde gösterildiği kadarı… Benim gibi çok insanla da çalıştım.
Ama üniversite eğitiminin önemsiz olduğunu söylediğim sanılmasın. Çalıştığım insanların hemen hepsi bilgisayar bölümlerinden mezunlar… Üniversitenin getirdiği teorik ve pratik yetenekleri hemen görebiliyorum. Açıkçası mektepliler gerçekten farklı oluyorlar.
V: Sertifikaların var mı?
A: Sertifikam yok. Bir iki kere şirketler tarafından eğitime ve fuara gönderildim ama sertifikalı değillerdi.
V: Peki sertifikalara inanıyor musun, şu an gerek Amerika da gerekse Türkiye de insanlar binlerce dolar para verip sertifika sınavlarına hazırlayan kurslara gidiyor, bu konuda ne düşünüyorsun? Başvurduğun işlerde sertifika soruldu mu hiç?
A: Sertifikasına göre değişir herhalde. Bazı konularda sertifika kişinin ne kadar bilgili olduğunu gösterirler tabii ama işin başına geçince o kişinin ne kadar başarılı olacağını gösteremez. Bunları söylerken sertifikaların sınavla verildiğini varsayıyorum.
Bildiğim kadarıyla benim konumda, yani programcılıkta sertifika yok. Aslında var galiba… Örneğin C++ bilgisini ölçen bir site vardı… Ama sınavla ölçülen bilgi programcılık yeteneğini göstermez. O yöntemle olsa hiç bilmeyenleri eleyebiliriz.
Aslında bu, programcı alırken yaptığımız is görüşmeleri için de doğru. Orada da toplam 45 dakikada bir insanin grubumuza ve firmamıza teknik ve kişisel acılardan uygun olup olmadığını anlamamız gerekiyor. Çok zor bir is… Uyamayacak olanı anlamak çok kolay; örneğin yerel nesnenin adresini fonksiyondan döndüren adayın pek sansı olmuyor. ![]()
Ama çok iyi adayı bulmak da her zaman mümkün olmuyor. Zor is… ![]()
Herkes kendi ortamına bakmalı. Eger bir konuda sertifika önemliyse almak gerekir tabii. Programcılıkta, en azından C ve C++ programcılığında sertifika kullanılmıyor, benden bugüne kadar hiç istenmedi ve biz de kimseden istemiyoruz.
V: C/C++ konusunda yaptığın çalışmaları (makale, örnek kodlar, vs ) topladığın bir site var mı?
A: Son derece ilkel acehreli.org benim sitem. Yazdığım bir kaç tane yazı orada var. Yazıların hepsi ceviz.net‘te de bulunuyor tabii ki.
V: Peki neden yazıyorsun, neden paylaşmak istiyorsun bilgini? Okuduğum birkaç makalede bu tartışılıyordu, öğrenmek için, paylaşmak için, un/şan/şöhret için vs deniyordu, sonuçta para da almıyorsun ve zamanını harcıyorsun? Kitap çıkartmayı düşünüyor musun ?
A: Bu konuyu ben de çok düşündüm. Forumlarda takılan ve sürekli olarak bilgi veren insanlar var. Bu konuda aklıma gelenleri sıralayacağım:
+ Senin de söylediğin gibi iyi şekilde ünlenmek çok güzel bir duygu.
+ Bilgi zaten kimsenin değil, bilgiyi birilerinden edindiğimize göre, başkalarına devretmek de çok doğru olur.
+ Bilgi alışverişinde aslında olay iki taraflı: bilgiyi aktarandan çok bilgiyi alan daha önemli, çünkü bilgiyi edinmeye çalışan o.
+ Kendimi düşünürsem; hep iyi öğreten ve iyi öğrenen birisi olduğumu düşündüm ve bunu başkalarından da duydum. Hangi tarafta olursam olayım, öğrenme olayı bana mutluluk veriyor.
Bu konuda güzel bir anim var: Üniversite zamanlarında ben de özel ders vermiştim. Öğrencilerden birisi, çok akilli olduğu halde matematikten kötü giden bir ortaokul öğrencisiydi. Çocuğu sınavlarından bir kaç tanesinde sınıf birincisi haline getirdim ve tabii çok mutlu oldum.
Ama asil önemlisi, yıllar sonra ortak tanıdıklardan duyduğuma göre o kişi “Ali abi hayatimi kurtardı” diye düşünüyormuş. Paha biçilmez bir mutluluk!
+ Paylaşmak herkese yarar. Yardımlaşan toplumların bireylerinin ortalamada daha iyi durumda olduğu görülüyor.
+ İnsan baba olunca doğal olarak daha bir yardımcı oluyor. Doğal olarak “öğreten adam” olunuyor.
+ Bu anlatacağımı Python’un ustalarından Alex Martelli’den öğrendim: Salt yardim etmenin getirdiği bir mutluluk var. Bunu Maslow’un tanımladığı “İhtiyaçlar Üçgeni’nin (Abraham Maslow, “Hierarchy of Needs”) en tepesinde görüyoruz. Yani karşılık almadan yapılan yardım, kişiyi mutlu eder. Bunda da yüceltecek veya şaşıracak bir şey de yok aslında; bu her insanin içinde olan doğal bir duygu.
Kitap çıkartmayı düşünmüş ve hatta bir arkadaşla da bir C++ kitabi yazmaya başlamıştık. Daha birinci bolumun sonunda hiç bir şeye benzemediğini düşünmüş ve bırakmıştım. Zaten piyasadaki bu kadar kitabin arasında bir C++ kitabına daha gerek olduğuna da bir turlu kendimi inandıramamıştım.
#sayfa_sonu#
V: Neden C/C++ dillerini seçtin?
A: Programlamaya ilk olarak Sinclair Spectrum’un BASIC diliyle başladım. Sonra hem üniversitede başkaları da kullanıyor diye, hem de çok yakın bir arkadaşım öğrendiği için kendi kendime C öğrendim.
Elektronik bitirme ödevinde Z80 makine dili de kullanma fırsatım oldu ama makine dili bildiğimi söyleyemem.
C’yi Fizik Yüksek Lisans projemde kullandım. Diğer öğrencilere göre daha bilgili olduğum için o zamanlar kendimi C biliyor sanıyordum.
C++ öğrenmek de hep aklımda olan bir şeydi. Boğaziçi Bilgisayar’da okuyan ve benim için erişilmez gibi görünen bir arkadaşım iyi C++’ciydi. O yüzden C++’i erişilmesi zor bir hedef olarak görüyordum. Bir gün ben de öğrensem ne süper olurdu…
Berkeley Networks’te C bilgimi kullanma fırsatı bulunca C programcısı olmadığımı fark ettim. Her ay, bir ay önce yazdığım kodların kötülüğüne şaşırıyordum. Özellikle bilgisayar bölümünden gelen programcılar yanında çok yetersiz olduğumu görünce kendimi geliştirmeye karar verdim. Hem C’yi hem de C++’i kendi kendime öğrenmeye başladım.
V: Kendini geliştirmek için neler yaptın, yardım eden birisi var mıydı? Öğrenme aşamasında rol model aldığın biri var mıydı? Su an bir rol model var mı?
A:Kendimi geliştirmek için üç maddelik bir reçeteden yararlandım:
1) comp.lang.c++.moderated haber grubunu günlük olarak izledim; bunda ailemin bana (ve kardeşime) edindirdiği İngilizce’nin büyük yardımı oldu tabii ki.
2) O gruptan öğrendiğim iyi kitapları aldım ve okudum.
3) Öğrendiklerimi çalıştığım islerde uyguladım.
comp.lang.c++.moderated grubuna katkıda bulunan bir çok kişinin benim gibi çok sayıda kişiye çok yararlı olduğunu söyleyebilirim. O insanlar da bu yardımı para almadan yaptılar. Belki ben de onlar gibi olmak istemişimdir.
Bu kişiler içinde benim için en etkilisi Herb Sutter’dir. Grupta “Guru of the Week” adli konuları acardı, tartışmaları yönlendirirdi ve hepimizi bilgilendirirdi.
Evet, Herb Sutter en etkili olan kişiydi ama onun gibi daha bir çok kişi vardı. Örneğin büyük ustalardan Andrei Alexandrescu’nun sonradan kitap haline gelen fikirlerinin oluşmasını naklen izleme fırsatım oldu.
Sorularını önce gruba sorar ve çözümler üretirdi. Ayni şey Scott Meyers için de geçerlidir.
O ustaların bile bazen ne kadar bilgisiz olduklarını görmek, yaptıkları basit hatalara tanık olmak onları bizim düzeyimize indiriyordu.
Sonuçta benim bilgi ocağım olarak comp.lang.c++.moderated grubunu düşünebiliriz. Benim için bütün olay onunla başladı. ![]()
C++’i öğrenmeye ve öğrendiklerimi uygulamaya 1997 yılında başladım. Çok önemli bazı kavramları anlamam beş yıl surdu. Örneğin akilli göstergeleri (smart pointers) veya daha genel olarak RAII’yi bastan lüks sanıyordum. Doğru C++ yazmak için şart olduklarını ancak beş yılda anladım.
V: RAII açıklamak ister misin yoksa anlamak isteyen bjarne stroustrup ve raii yazıp kendisi mi bulsun
A: RAII kısaca şöyle anlatılabilir:
Onun yerine, kaynağı bozucu işlevinde (destructor) geri veren KaynakSorumlusu gibi bir RAII sınıfı kullanılmalıdır:
void foo()
{
KaynakSorumlusu k(kaynak_ayir());
bir_seyler_yap();
}
Bundan fazlasını başka bir sohbete bırakabiliriz herhalde.
V: Önümüzdeki yıllarda c++ dili için geliştirmeler görüyor musun? Su an yoğunlukla kullanılan Java/c# gibi diller nerdeyse her yıl büyük revizyona girerken c++ biraz geriden mi geliyor?
A: C++ da gelişmeye devam ediyor ama standartlaştırma işlemleri çok zaman aldığı için bu is çok yavaş ilerliyor. C ve C++ bugüne kadar bazı ihtiyaçları göz ardı ettiler. Örneğin grafik arabirimler veya çoklu işletim dizileri (threads) hep “kütüphaneler tarafından halledilir” diye C ve C++’in kapsamına alınmadı. Bunun sonucunda da bu diller doğal olarak bu konularda diğer dillerin gerisinde kaldılar.
V: Donanımın inanılmaz hızlanması, c++ boost veya diğer kütüphanelerle yaptığı şeyleri c#/Java gibi dillerin otomatik yapması, c++ a olan ilgiyi değiştirecek mi?
A: Bence C++ da doğal olarak gözden düşecek. Gelişmenin gereği bu. Yeni C++’ci gelmeyince de benim gibi eskiler çok değerli olacağız.
V: Yeni başlayan birine ne tavsiye edersin? C++, C veya C# veya başka bir dil?
A: Öncelikler yeni başlayanların amaçlarını anlamak gerek.
Eğer amaç programlamanın zevkini yasamaksa; bence Python, Ruby, Haskell, vs. gibi dillere yönelmek yeter. Bu dillerle programlar çok hızlı geliştiriliyor. Ayrıca kullanıcı kitlesi çok yaygın olmadığı için, bir azınlığın parçası olmanın getirdiği mutluluk da var.
Eğer amaç programcılıktan para kazanmaksa; o zaman içinde bulunulan pazarın gerekleri doğrultusunda gitmek gerekir. Örneğin eğer Türkiye’de C veya C++’i gerektiren isler yaygın değilse, onları öğrenmek para getirmeyecektir. Örneğin Web programcılığı yapan şirketler PHP kullanıyorlarsa o zaman PHP öğrenmek gerekir.
Eğer amaç özellikle C++ öğrenmekse; o zaman sabır, çok okumak, ve çok denemek gerekiyor. C++ öğrenmesi çok zaman alan bir dil olarak biliniyor. Benim için de öyle oldu. Bu dilde deneyimsiz programcıların içine düşebilecekleri çok tuzak var. Bunlar kaynak sızıntısına yol açabilecek sıradan kodlama hataları olabileceği gibi, dilin nesneye yönelik programlamaya yaklaşımı nedeniyle oluşabilecek tasarım hataları da olabiliyor. Programcı kendisini içinde çıkılmaz sınıf tasarımlarında veya sınıf ilişkilerinde bulabiliyor.
C++’in yaratıcısı Bjarne Stroustrup’a atfedilen bir deyiş var. İngilizce’den çevirince: “C kendinizi ayağınızdan vurmanıza izin verir, C++ bütün bacağınızı kopartmanıza…”
Öğrenmek için çok kitap okumak gerektiği gibi, bu kitapların bir de sakıncası var: kapsamlı olmak amacıyla gereksiz konuların üstünde çok fazla duruyorlar ve öğrenen kişiyi sanki o konular çok kullanılıyorlarmış gibi yanıltabiliyorlar. Oysa C++’in amacı kolaylık getirmek. Benim artik yazdığım çoğu C++ kodu son derece basit sınıf tasarımlarından oluşuyor. En önemli şey basitlik.
V: Burada aslında bir konuya atlamak istiyorum, sınıf dizaynı gerçekten çok önemli, sonradan çok bas ağrıtabiliyor, bunu nasıl öğrendin ? daha iyi dizayn için, daha iyi oop için tavsiye edebileceğin şeyler var mı? Scott Hanselmann mesela iyi bir dizayn için bolca başkalarının iyi yazdığı kodu okuyun der, hatta haftada bir kendisi kod okumaya ayırmış, ve hangi kod iyidir diye düşünmeyelim diye de kendisi web sitesinden her hafta okunmaya değer bir Open Source proje adini verir. Senin tavsiye edebileceğin iyi sınıf dizaynı kullanan c++ örnek kodları var mı?
A: – Sınıf tasarımlarıyla ilgili bilgileri hem okuduklarımdan (kitaplar ve forumlar) ve duyduklarımdan (ACCU toplantıları), hem de kendi deneyimlerimden edindim. Halen daha tam bildiğimi söyleyemem. Ama en büyük kural, basitlik…
Programcılıkta karşılaşılan çoğu durum tekrar oluyor aslında. Bir yerden sonra çözülen problemler değişmiyor. Belki ilgimin azalmasının nedeni de budur.
Ben artık çoğunlukla söyle yazıyorum:
+ sınıfa gerek yok; öncelikle küçük fonksiyonlar yazıyorum
+ belirli bir sure hatırlanması gereken veriler varsa, o zaman sınıf tanımlıyorum
+ Çok şekillilik gerekiyorsa, örneğin bir hayvanlar topluluğu ile ilgileniyorsak; en yukarıda bir arayüz sınıfı oluyor; örneğin Hayvan… Onun hemen altında ve o da eğer gerekiyorsa, bir gerçekleme sınıfları düzeyi oluyor: örneğin dört ayaklı hayvanların yürüme işini üstlenen bir sinif olabilir, veya kanatlıların kanat çırpmasını halleden bir sınıf… O düzeyin altında da asıl sınıflar geliyor: Kedi, Köpek, Güvercin, vs.
Bu kadar basit bir düzen, benim karsılaştığım ve çok şekillilik gerektiren hemen her durumda yetti. Yetmiyorsa daha karmaşık da yapılır ama işin doğrusu ve güzeli, daha karmaşığı uygulamada çoğunlukla gerekmiyor.
+ baslık dosyaları olabildiğince kısa olmalı
+ yalnızca gerektiği kadar kodlamalı; ilerde isimize yarayacağını düşündüğünüz şeyleri kodlamayalım; ne kadar az kod, o kadar az hata…
+ vs.
Bunun gibi çok sayıda kural var…
Başkalarının kod örnekleri tabii ki yararlı olur ama ben özellikle okumak için çaba göstermiyorum.
Benim bildiğim en iyi C++ kütüphaneleri Boost içinde bulunuyor ama onlar çok becerikli ve çok esnek kütüphaneler oldukları için kodları da çok karmaşık.
#sayfa_sonu#
V: Ceviz.nette aktif yöneticisin, peki ceviz.net dışında hangi forumlarda/sitelerde seni c/c++ veya başka konularda uzman olarak izleyebiliriz?
A: ceviz.net dışında eskiden Cdili Yahoo grubunun da yöneticilerindendim ama ne yazık ki o grup artik bitkisel hayata girdi sayılır. Bunun dışında günlük olarak dağ bisikletçiliği için mtbr.com‘un forumlarını izliyorum. Arabam Audi olduğu için çok seyrek olarak AudiWorld.com’a bakıyorum. Tek tekerlekli bisiklete binmeyi öğrendiğim zamanlarda unicycle.com‘u izlediğim de olmuştu. Piyano çalmayı öğrenmeye başladığım zamanlarda bir piyano sitesini izlemiştim. Ama artik izlemiyorum.
Eskisine göre çok daha az olarak comp.lang.c++ newsgroup’unu; daha da az olarak comp.lang.c++.moderated’i izliyorum. Üç dört yıl önce bunlara günde bir kaç katkıda da bulunurdum ama artık o kadar ilgimi çekmiyor. Belki ayda bir iki kere…
Hiçbir forumda uzman olduğumu söyleyemem. ceviz.net‘in C++ forumunda bilgili olarak görünüyorum ama herkes gibi ben de öğrenmeye devam ediyorum.
V: Türkiye de C++ dilini çok iyi kullanan tanıdığın kişiler var mı? mesela Kaan Aslan’ı tanır mısın yada Ali Vefa Serçe?
A: Kaan Aslan’ı, yazdığı kitaplardan tanıyorum. Ali Vefa Serçe’yi ise hiç duymadım. Türk yazarların kitaplarını herhalde en son 5-6 yıl önce edinmiştim ama artik izlemiyorum.
V: Amerika’ya geliş hikayen nedir?
A: – Amerika’ya gelişim tamamen şans eseri oldu. Ben başkaları gibi gelmek için çabalamadığım gibi, gelmeyi hayal etmemiştim bile.
Elektronik’ten mezun olduktan sonraki ilk isim İstanbul’daki Karel Bilgisayar’dı. Galiba sonradan Vestel’in parçası oldular; ama Karel Elektronik’le karıştırmamak gerek: onlar galiba telefon sistemleri üretiyorlardı…
Karel Bilgisayar’da danışman olarak çalışan bir Amerikalı’nın öncülüğünde ilk Türk bilgisayarı projesinde çalıştık. Digital Research’un işletim sistemini ve programlarını Türkçe’ye çevirdik. Çok zevkli ve çok verimli bir dönemdi. Proje başarısız oldu ama bu iş benim için çok yararlı oldu.
O Amerika’lıyla kendisi Amerika’ya döndükten sonra da ilişkim devam etti: arada bir telefon veya faks mektubu şeklinde… Birlikte çalışmamız çok verimli olduğu için beni hep Amerika’da kendisiyle çalışmaya davet ediyordu. Bir noktada yüksek lisansım bitti, kendi kurduğumuz firma battı, ve şimdiki eşimle evlenme kararı aldım… Bu durumda Amerika’ya o adamın şirketinde çalışmaya gitmek uygun hale geldi.
V: Farklı teknolojileri öğrenmen için zaman ayırıyor musun ? Yoksa c/c++ biliyorum yeter mi diyorsun? Farklı teknolojileri zaman ayırıp öğrenmeye çalışıyor musun? Hiç deneyişte öğrenemediğin oldu mu ?
A: Benim en zayıf taraflarımdan birisi, tek uzmanlığımın C++ dili olması. Teknoloji yakalanmayacak kadar hızlı ilerliyor ve doğrusu eski ilgimin de kalmadığını fark ediyorum. Belki de tek ümidim, C++’in gözden düşmesi ve benim de değerimin artması olur diye düşünüyorum. Yoksa bu gidişle tam bir dinozor olarak kalacağım.
Çalıştığım şirketlerin bazıları ağ ortamları için entegre devre tasarımı yaptığı için, kendimi entegre devre tasarımcılarını anlayan bir programcı olarak da görüyorum. Kendim tasarlayamam ama o insanlarla yakin çalışabilirim.
ACCU’nun Silikon Vadisi kolunda aktif sayılırım. Her ay bir konuşmacı davet ediyoruz. Böylece biraz olsun yeni konuları öğrenebiliyorum. Örneğin son olarak Haskell dilinin uzmanlarından o dilin bir tanıtımını izledik. Genellikle konuşmacılarla aksam yemeğine de gittiğimiz için toplantıda soramadıklarımıza yemekte devam ediyoruz. Böylece C++’in yaratıcısı Bjarne Stroustrup’la, Python’un yaratıcısı Guido van Rossum’la vs. ayni masada oturma fırsatı da buldum.
Deneyip de öğrenemediğim olmaz herhalde ama artik teknolojiye ilgimin azaldığını fark ediyorum. İnsan yaşı ilerledikçe kendi felsefeleri olduğunu da keşfediyor. Benden iki tane: “hiçbir şeye başlamak için hiçbir zaman geç değildir” ve “bir şeyi yapabilen bir insan varsa ben de yapabilirim.” Bunların ne kadar doğru olduğu şüpheli ama öyle olduğunu düşünmek güzel.
V: ACCU toplantılarına hiç katılmadım ama bizim daha çok user group adi verilen toplantılarımız var. Konuşmacılar çağırılır, yemek yenir sohbet edilir, ayni konsept sanırım. Türkiye de bunu Microsoft sponsorluğunda INETA derneği yapıyor sanırım. Bu tip gruplar umarım Türkiye dede çok yaygınlaşır.
A:Ben bu tur toplantıları Türkiye’de başlatmak için bir kaç kere girişimde bulundum ama orada bulunmayınca olmuyor. Becerebildiğim tek şey, Türkiye’ye her gidişimde forumlardaki insanlara Türkiye’de bulumsak istediğimi söyleyen bir çağrı yapmak ve gelebilenlerle görüşmek. Başka bir çok arkadaşla olduğu gibi seninle de öyle tanışmıştık.
Bu sene Türkiye’ye gidemedim ama…
V: Unit testing, continuous integration, source control gibi konulardaki düşüncelerin nedir? Bunlarsız yazılım evi olur mu? Amerika’daki yazılım evlerinde bunların yaygınlık oranı nedir?
A:Gerçek anlamda unit testing’i hayal aşamasının ötesine geçemeyen bir şirketimizin projesinde kullandım. Çalıştığım hiçbir firma her bir fonksiyonu deneyecek kadar alt düzeyde “unit testing” yapmadı. Unit testing’in çok yararlı olduğunu duyuyorum. Kendim de kısa projemde büyük yararını gördüm. Her fonksiyonu denetleyen bir test bulunduğu için, kodun seklini gönül rahatlığıyla değiştirebiliyordum ve yaptığım hatalar unit test tarafından hemen yakalanıyordu.
V: Hangi test framework’u kullanıyorsunuz? Diğer frameworkleri denedin mi? xunit, mbunit, nunit
A:Ben UnitTest++’i kullandım. Yazan kişi mevcut ‘test framework’leri denedikten sonra kendisi daha iyi olduğunu düşünerek UnitTest++’i yazmış. Ben tavsiyelere güvendim ve başkalarını denemedim.
Source control’suz hiçbir firmada çalışmadım ve onsuz herhangi bir geliştirme yapılabileceğine inanamam. Çalıştığım firmalarda sırasıyla SourceForge, cvs, Perforce, ClearCase ve svn kullandım. Su anda Riverbed’de de svn kullanıyoruz ve daha fazlasına gerek olduğunu da sanmıyorum.
V: Peki checkin yaptığı kodla derlemeyi kiran programcıya ofiste verdiğiniz ceza var mi ? Myspacedeki bir senior developerla konuşmamızda onlar cezası komik gelmişti, bir tuhaf maske varmış, kodu kiran o maskeyi takıyormuş ertesi gun.
A: Öyle ilginç cezası olan ortamlarda bulunmadım.
Bazı firmalarda maskotlar oluyor ama. Kodu en geriden gelen ve surumu yavaşlatan programcının veya grubun oturduğu yere şans getirsin diye yerleştirilebiliyor.
Simdi çalıştığım firmada (Riverbed) derleme çok seyrek bozuluyor. Bozanın da hemen haberi oluyor çünkü otomatik olarak derleyen sistem derleme hatalarını son değişiklik yapan programcilara haber veriyor. Yani artik sorun olacak düzeyde değil.
V: Aop, agila development, extreme programming gibi konularda ne düşünüyorsun? Bu tip yazılım mimarilerin Amerika’daki yaygınlık oranı nedir?
A: Bunlar arasında Extreme Programming’i öğrenmiştim. İlkelerinden bazılarını çok beğeniyorum. Örneğin programlamanın hep iki kişi tarafından yapılması (pair programming) bana çok doğal geliyor. Ben de programlamayı ilk öğrendiğim dönemlerde bir arkadaşımla bilmeden bunu uygulardım ve çok zevk alırdım. Birimiz bilgisayar basında kodu yazarken diğeri arkasına yaslanmış olarak düşünmeye yardim eder, fikirler sunardı. Extreme Programming’in ilkelerinden unit testing’e az önce de değindim. O da çok yararlı…
Ama Agile veye Extreme Programming yapan bir yerde çalışmadım
V: Open source için ne düşünüyorsun? Sence gelecekte firmalar kodları açıp servis üzerinden mi para kazanacak? Open source, MS gibi firmaları tehdit eder mi?
A: Açık kaynak kodlarından bu güne kadar çok yararlandığım için hiçbir eleştirim olamaz. Çalıştığım firmaların da herhalde hepsi açık kaynak kodlu kütüphanelerden yararlandılar. Microsoft’u nasıl etkilediğinden kendim emin değilim ama bir arkadaşımın fikrini aktarabilirim: Linux, başka rakiplerin güçlenmesini önleyerek Microsoft’un ekmeğine bal sürüyor.
V: Senin yaptığın/yardim ettiğin bir open source proje var mi?
A:Açık kod projesinde çalışmadım.
V: Peki bir teklif gelse fikrin ne olur? Vaktinin az olduğunu biliyorum, mesela code-mentoring fikrine nasıl bakarsın?
A:- Belki olabilir ama açık kod projelerinin dinamiğini bile bilmiyorum
V: Linux vs Windows savaşına ne diyorsun, sen hangi taraftasın
A: Bastan çalıştığım firmalar hep Windows ortamında proje geliştiriyordu; artık tamamen Linux… Sonuçta galiba ben de artık Linux tarafındayım.
V: Peki evdeki pcinde ne kullaniyorsun ?
A:Evde çok yaşlı bir bilgisayarda Linux, çok yaşlı bir dizüstünde Windows XP var
V: Yeni dillerin c#/Java Amerika’daki kullanım oranı nedir? Hangisi daha çok tercih ediliyor ? c++/c/Java veya c#? hangisinin iş bulması sence daha kolay?
A:Bütün Amerika’yı bilemem ama benim çalıştığım firmalarda büyük çoğunlukla C ve C++ kullanıldı. İyice alt düzey islerde C, bunun dışındaki hemen her yerde, örneğin kullanıcı arayüzlerinin hemen gerisindeki kodlarda C++… Biraz Python da var. Web arayüzünde galiba Ajax’tan yararlanıldı. Başka firmalar Java teknolojilerini de kullanmışlardı
#sayfa_sonu#
V: Silicon valleyde startuplar yeniden hortladı mı? tekrar bir boom olayına mı gidiyoruz ne dersin her gün yeni bir startup ve networking sitesi ile?
A: Startup’lar tekrar hareketlenir gibi olmuştu ama ne yazık ki ekonomi yine kötüleşmeye başladı. Bu ekonomik ortamda eski canlılığına gelebilmesi için daha çok beklememiz gerekecek sanırım. Az once unit testing’i deneme olanağı bulduğumu söylediğim proje de bir startup firma içindi. Ocak 2008 civarında para bulmaya çalıştık; ilgilenenler oldu; ama sonunda para bulunamayacağı belli olunca bıraktık.
V: Yurtdışında çalışan sektöründe başarılı Türklerle iletişimin ne düzeyde ? Var mı şöyle bir grand master grubunuz ?
A: Türk işadamlarının ve mühendislerin toplantıları olduğunu biliyorum. Amerika’ya ilk geldiğimizde esimle birlikte katıldığımız Türk günleri de olmuştu. Artik ilkokul zamanlarından tanıdığım bir arkadaşımın da dahil olduğu kendi arkadaş grubumu görüyorum. Hemen hemen hepimiz de dağ bisikletçisi olduğumuz için bir araya gelmek çok kolaylaştı.
V: Sanal ortama, online social networking sitelerine katılıyor musun? Facebook, myspace, c++gurus falan gibi?
A: Social networking’e hiç bulaşmadım ve şimdilik öyle bir isteğim yok. Benim online hayatim e-mail ve bir kaç forumdan oluşuyor. Bu güne kadar hiç RSS feed’i almadım, hiç bloğum olmadı, hiçbir bloğa katkıda bulunmadım, cep telefonumla Internet’e hiç bağlanmadım. Yani oldukça ilkel bir İnternet hayatım var. ![]()
Eskiden IRC kanallarına girmiştim; belki on yıl önce…
Bir de instant messaging kullanıyorum ama o da çalıştığım şirketlerde gerektiği için. Diğer çalışan arkadaşlarla işle ilgili olarak (veya ilgisiz olarak) yazışıyoruz.
V: Anlaşılan seni social networking e çekmek için dağ bisikleti networking sitesi yapmamız gerekecek J, ya da C++ kullanarak web programlaması yapmak…
Ceviz.net ile nasıl tanıştın? Ceviz.net için ne düşünüyorsun? Var mı bir eleştirin
A: Kurucularından olduğum Inviscid Networks kapanmak üzereydi. İngilizce haber gruplarından sonra Türkçe bilgisayar sohbetinin zevkli geleceğini düşündüğüm için bir kaç foruma üye olmuştum. Bunların en iyilerinden birisi kapanınca, oradan tanıdığım insanlar ceviz.net‘i önerdiler. ceviz.net‘le öyle tanıştım. ceviz.net‘te C/C++ forumundan başka forumları izlemiyorum.
V: Online meetingler için pek zamanım yok demiştin daha önce, ama mirc gibi bir ortamda ceviz gurus gibi bir toplantiya katılma fikrine sıcak mısın ? Sorulan soruları direk cevaplamak gibi?
A: Çok uzun zamandır irc’ye bağlanmadım. Soruları anında yanıtlamak için ya işimi aksatmam gerekir, ya da tesadüfen o sırada tamamen boş olmam gerekir. Soru yanıtlamak hoşuma gittiği için başka sorumluluklarımı da aksatmasından korkarım. O yüzden ben daha çok forum ortamını seviyorum. Sorular soruluyor, yanıtlar da zaman bulununca veriliyor. Üstelik işte boş olduğum anlarda ceviz.net‘e hep bakıyorum ve gelen soruları hemen yanıtlayabiliyorum. Kısacası, ben bu durumdan memnunum.
V: Ne yersin ne içersin? Neden artik kırmızı et yemiyorsun J, en sevdiğin sushi nedir? Cereal a nasil alistin
A: Türkler olarak zaten hep sağlık bilgilerine açığız. Ben de bilgilerimi abonesi olduğum bir iki dergiden ve sağdan soldan duyduklarımdan ediniyorum.
Çok sağlıksız yediğimiz bir çağda yaşadığımız için zaten hep sebzeye doğru kaymaya çalışırdım. Örneğin dışarıda yediğimizde hep seçeneklerden daha sağlıklı olanını seçmeye çalışırdım. Kolalı içecekleri de uzun suredir çok aza indirmiştim.
Beslenme Amerika’da çok büyük bir sorun haline geldiği için bu konu üzerine filmler ve kitaplar yazıldı. Ben “Supersize Me” filmini seyrettikten sonra McDonalds, Burger King gibi çabuk yemek lokantalarına gitmemeye başladım.
“Fast Food Nation” ve “The Omnivore’s Dilemma” adli kitapları okuduktan sonra da içinde “yapay tatlandırıcı” ve “doğal tatlandırıcı” olan hiçbir şeyi yememeye başladım. Evet, doğal tatlandırıcının da yapay tatlandırıcı kadar yapay olduğunu öğrendim.
Mısırı bütün olarak yemeyi çok seviyorum ama onu kimyasal süreçlerden geçirerek üretilen kimyasal maddeleri içeren şeyleri yemiyorum. Örneğin “high fructose corn syrup” benim için bir düşman!
O kitaplardan et endüstrisinin durumunu da öğrenince bu sistemin içinde yer almak istemediğimi fark edip kırmızı et ve tavuğu da bıraktım. Deniz mahsullerine bayılırım. Sushi’yi de çok seviyorum. Şimdilik en sevdiğim, tadı Türk balıkları kadar kuvvetli olduğu için “saba (mackerel)”. Somon ve tunayı da diğer sushi çeşitlerinden daha çok seviyorum galiba.
San Francisco civarı etnik lokantalar açısından cok zengin. Vejetaryenlik de çok yaygın olduğu için zaten her mutfağın mutlaka etsiz çok sayıda çeşidi oluyor.
V: Bilgisayar dışı hobilerin nedir? Mountain bike nasıl gidiyor?
A: Eskiden C++ bir hobimdi ama artik öyle olduğunu söyleyemem. Hobi olduğu zamanlarda çok şey öğrendim ama şimdilik yalnızca bir kullanıcısıyım.
Hayatim boyunca hep bir spora ilgim oldu. Ortaokul ve üniversitede atletizm’le ilgilenmiştim. Orta mesafe koşuculuk ve sonra üniversitede 400m engelli… Çok zevkliydi tabii ama çok da başarısızdım. Ondan sonra Amerika’da çim üstünde futbol oynama zevkini tattım. Sakatlıklardan kurtulamayınca onu bırakmak zorunda kaldım.
Şimdilerde en büyük hobim, dağ bisikletçiliği. Haftada üç kere yapmaya çalışıyorum. Hem spor açısından hem de sosyal açıdan çok seviyorum. Çok sevdiğim arkadaşlarımla haftada iki kere 3-8 saat kadar birlikte olmayı sağlıyor. Hiç antrenman yapmadan senede 1-2 yarışa da katılıyorum ama hiç iddialı olmadan…
Bundan başka, üç yıl önce kızıma piyano dersi aldırmaya başladığımız günlerde ben de kendi kendime piyano öğrenmeye karar vermiştim. Annemin biz küçükken istediği ama hiçbir zaman gerçekleşmeyen bir hayaliydi. Evde bos olduğum her an piyano basındayımdır. Kendimi hep müzik açısından yeteneksiz görmüşümdür; Şimdi bu açığımı tatmin edici derecede kapattığım için çok mutluyum. Hiçbir zaman küçüklüğünde ders alan birisi gibi çalamam tabii ama arkadaşlarımın ve ailemin severek dinlemesi beni çok mutlu ediyor.
Senede bir kaç kere autocross (Solo 2) denen araba yarışlarına da katılıyorum.
Bir ara tek tekerlekli bisiklete binmeyi öğrenmeye karar vermiştim. Arada bir üstüne çıkıp mahallede bir iki tur atıyorum.
Bundan sonraki projem şarkı söylemeyi öğrenmek olacak, çünkü sesim çok kotudur. Bunu herhalde kendi kendime düzeltemeyeceğim ve sanırım mutlaka ders almam gerekecek. Belki de bir bilgisayar programından yararlanırım. Şarkı söylemeyle ilgili bilgisayar oyunlarının ne kadar iyi veya kotu söylendiğini belirttiklerini biliyorum. Belki de öyle bir teknolojiden yararlanırım.
V: Nasıl bu kadar genç görünüyorsun, yan yana dursak senden çok daha yaşlı duruyorum, C++ ile bu kadar uğraşıp da hala beyaz saçın yok ilginç bu?
A:Genç göründüğüm doğru. Şimdilerde genel hata 12 yıl J 42 yasındayım ama 30 sanılıyorum.
Anne ve babam da genç gösterirler. Öncelikle onunla ilgili olmalı. Sağlıklı beslenmenin cilde iyi geldiğini biliyorum, belki onun da yararı vardır. Güneşin cilde kotu geldiğini biliyorum; belki güneş kremi kullanmamın yararı vardır.
V: Amerika kültürünü uzun sure görmüş, Türk kültürüyle büyümüş, kendi alanında gerçekten uzman biri olarak, ne tavsiye edersin Türk gençliğine?
A: Öncelikle Türk gençliği zaten süper! Espri anlayışımız, kafa yapımız, hayata bakışımız, vs. çok bize has şeyler. Türk kültürünün ürettiği ve beslediği komedi dergilerimiz başka yerde yok. Koyun sürüsü şeklinde yeni şeylerin peşine takılmamız bile çok hoş.
Acayip misafirperver ve yardım severiz.
Ben aslında Türk gençliğinden çok uzakta kaldım sayılır ve her şey çok çabuk değişiyor ama daha çok Amerikalılarda gördüğüm iyi yanları önerebilirim belki…
Türkiye’de çok stresliydik ve birbirimize çok çabuk sinirleniyorduk. Burada herkes çok daha sakin ve hoşgörülü. Böyle olunca hayat daha güzel oluyor.
Türkiye’de çok şekilci ve on yargılıydık. Giyim kusama göre, aksana göre hemen damgayı vuruyorduk. Bunlar Amerika’da da mutlaka etkilidir ama burada herkesin önce insan olarak kabul edildiğini görüyorum.
Önerilecek başka şeyler de vardır ama aklıma gelenler bunlar.
ali çehreli, silicon valley turk, accunun müzik yarışmaları 2011, acehreli röportaj, ali çehreli kim, ali çehreli röportaj, ali cehreli twitter, Ali Vefa SERÇE, talat özen
Benzer Konular:
Bilişim adına ülkemizin en önemli temsilcilerinden Sayın Ali Çehreli ile bu röportajın yapılması çok sevindirici bir gelişme.
ınşallah yeni ropörtajlarla devam ederiz.
Ben de bir kaç gün önce Ali bey in sitesinden merak edip cv sini okumuştum. Çok güzel bir röportaj olmuş. Kendisini yakından tanıma fırsatı bulduk. Volkan Bey e teşekkürler. Ali Beye iş ve aile hayatında başarılar,mutluluklar diliyorum.
Böyle insanlarımızın başarısı bizide gurulandırıyor, kutluyoruz kendisini.
daha 19 yaşındayım inşallah ceviz.net de 2.bir acehreli olurum.bu arada Ali abi kaç yaşında ?
ali cehreli olmak onemli degil diye dusunuyorum, insanın kendini tanıyıp kendisi olması lazım, o zaman gelir ötesi.
(ps:Bu demek degil ki acehreli olabilmek kotu birsey, oyle bir mana cikmasin)
ali cehreli olmak derken ali abinin bilgi ve kariyer seviyesinin yüksek olduğunu (suan ki bakış açımdan) vurgulamak istedim ben bunalthe yım cevizde de hep bunalthe olarak kalacağım.sadece belirtmek istedim..tabi ki haklısın samil.
Güzel tecrübeleriyle paylaşımdan, derse çok anlamlı bir soru-cevap olmuş buluşturanlar sağolsun.
Arada turkce yazilim , bilisim forumlarini da okumak gerektiginden bir bakayim dedim eskiden de bildigim bu siteye, roportaj gozume carpti. KImseyi yermek degil amamcim fakat elestiride bulunacagim.
Benim okudugum kadariyla(yarisindan sonrasini hizli gectim) roportaji yapilan arkadasin “SILICON VALLEY” disinda hicbir ozelligi yok. bashettigi sevye kitap alinip ogrenilebilinecek c++ programlama. Ne programladigindan, nasil mimari yapildigindan, projenin nasil gelistirildiginden falan hic bahsedilmemis. Neden bahsedilmeli diye dusnuyorum. Cunku yazilimcilik, yazilim muhendisligi yada programcilik ta diyebiliriz, dillerin hicbir onemi yoktur. Sadece syntax tiplari vardir c-like , pascal-like diye. Copiled ve interpreted diller vardir. Gelistirilecek olan yazilimin abstraction(soyutlama) sevyesine, mimarinin dogasina gore en uygunu secilit ve bilgisayar muhendisi, yazilim muhendisi yada programci proje dahilinde belli bir planla herhangi dile hizli sekilde adapte olabilir. Yani tek bir c++ dilini ogrenmis bir insanla roprtaj yapip ta aman class boyle yaratilir, pinter soyle yapilir gibi teknik detaylarin sorulmasina anlatilmasina hic anlam veremedim. Kisinin amerika macerasi ilginc bulunabilir fakat yailim dunyasindan biriyle roportaj yapicak olsam. Bidibidi dilini bile “SILICON VALLEEEYYY” birini buyuk bir guruymus gibi sunmak yerine gercek tecrubeli bir yazilim mimari, yazilim proje yoneticisi, yada developper la trendler , yazilim mimarileri, egitimler hakkinda gorus alirdim.
bu yaziyi yazmamin sebebi, yazilim sektoruyle alakasi olmayan ve ogrenmek isteyen, yada ileride bilgisayar muhendisligi ve muadili bolumleri sececek olan insanlarin turkiyede bu isi sadece wooooooow c++ kodlamak falan zannetmesini cok yanlis bulmaman kaynaklaniyor. Kod yazicak insan bulmak gunumuzde cok kolay. HIntliler cok ucuza yapiyor. Kalkipta 10 sene boyunca yazilim isinde tek bir yazilim dilini dibiklamis bir programciyi boyle cok ozelmis gibi roprtajla sunmak bence yanlis yonlendirici olmus. Bu sektorde ulkemizi temsil eden gercekten ust duzey o kadar insan varken.
Bu yazdiklarin sadece sahsima ait elestiridir, yazida gecen kisilerin ismini ilk defa duyuyorum. Ama genclere de soyluyorum, yazilimcilik boyle bidikbidik dil ogrenmek degildir, bu isleri yapacak kisilerin bilgisayar ve yazilim muhendisligi dersleri almasi sarttir. Bu temelleri alan kisi icin programlama dillerini bilip bilmemekten bahsetmek cahilliktir. Gercek muhendisler icin onemli olan herhangi problem karsisinda kendilerini context(ortam,icerik)e hizli adapte edebilme, hizli ve akilci cozum sunabilme kapasitesidir.
Bunlardan bahsedilmedigi icin roportaji cok sig buldum.
Ali isimli bu arkadasa da elestiri, cv sine Software Engineer yazmis fakat bu egitimi almadigi icin ve yaptigi islere ve roportajina bakilirsa programmer yazmaliymis.
Okuyanlara vizyon katacak roportajlar yapmaniz dilegi ile. Turkcemdeki cumle bozukluklari icin ozur dilerim.
Saka ediyor olmalisiniz
Oncelikle, yazilim muhendisi demissiniz sanirim bilgisayar muhendisi demek istediniz, cunku yazilim muhendisligi ve bilgisayar muhendisligi farkli seyler. Programlamanin , degisik dillerin ogrenildigi bigisayar muhendisligi.
Sunu soylemeliyim ki, soylediginiz sey bastan hatali. Bir mufredatta okutulan kitaplari alarak o egitime sahip olamazsiniz. Sizin oneriminize gore univeriteleri ve teknoloji enstutulerini kapatiyoruz ve hemen kitapciya kosuyoruz.
Kaldi ki burada listelenmis olan kitaplar sadece c,c++ ile program yazmak icin teknik gelistirmeye yarayan kitaplardir. Yazilim gelistirmekle alakali tek kitap Head First Software Development olabilir belki, kaldi ki hicbir okul brain-friendly guide serisini mufredat dahilinde okutmaz.
Mühendislik eğitimi almış birisi zaten yazılım mühendisliği konularınada kendisi özel olarak yönelebilir. Demissiniz, yalnis.
Kavram karmasasi olmasin diye yazilim muhendisligi nedir hatirlatayim, yazilim muhendisligi buyuk capli yazilimlarin gelistirilebilmesi amaciyla, metotlar , kaynak yonetimi, proje gelistirme lifecycle lari, kalite yonetimi, yazilim mimarisi, dokumantasyon, insan-bilgisayar arayuzu, veritabani mimarisi,network gibi dersler alir. Google da software engineering diye aratirsaniz universitelerin programlarini gorebilirsiniz. Emin olun yazilim muhendisligi okuyacak kisi computer engineeringden gelmese bile programcilik bilgisi varoldugu varsayilacagindan, bu tarz programlama ile ilgili teknik kitaplardan hicbirini gormiyecektir.
Kulaktan dolma bilgilerle ahkam kesmeyi cahillik olarak goruyorum.
Ali bey kendisi foruma cok faydali olabilir, cok iyi programci olabilir, benim tepkim bilgisayar bilimlerine yonelmek isteyen genclere, bu islerin sadece bu roportajda deginiildigi kadar dar bisey olarak gosterilmesidir.
Turkler heryerinde, cok basarili akademisyenler var ben bu roportajin bu sekilde sunulmasini yanlis buldugumdan bir yorum yaptim. Kaldi ki ali bey de beni bu konuda hakli gordugunu soyleyen bir mail atti bana. Bana katilmadigi konularla ilgili bir cevap hazirladim, kendisi bana verdigi cevabi siteye yorum olarak eklendiginde, bana katilmadigi noktalarla ilgili cevaplarimi da burada yayimlayacagim.
Yorumlara teşekkürler!
Talat Ozen’e katılmamak olanaksız: Yazı gerçekten son derece yüzeysel.
Ancak yazıyı tekrar okudum; ama “Silicon Valley’de bir Türk: Ali Çehreli” başlığında bile bu yazının kapsamı hakkında yanıltıcı bir unsur göremedim. Bu yazı olduğundan daha farklı görünmeye çalışmamış: tamamen bir kişiye odaklanmış.
Evet, Ali Çehreli C++ programcılığıyla geçinen bir kişidir. Talat Ozen’in bulamadığı hiçbir vasfı olmadığını çok iyi biliyorum. Ali Çehreli’nin ceviz.net’teki bir yazıya konu olması için de görebildiğim tek özelliği, ceviz.net’in C++ forumundaki katkılarıdır. Benim anladığım kadarıyla bu yazı, bir forum üyesini tanıtan bir yazıdan başka bir şey değil.
Talat Ozen’in yazdıklarına bir kaç yanıtım var:
- Ne kadar deneyimli olursa olsun, hiçbir programcı herhangi bir dile hızlı bir şekilde uyum sağlayamaz. Bunun nedeni, her dilin kendince bir düşünce tarzı olmasıdır. Örneğin hiçbir dilden gelen hiçbir programcı C++ dilinin *gerektirdiği* gibi düşünemez. Örneğin C++ dilinin *gerektirdiği* düşünce tarzı, bozucu fonksiyonlar (destructor) üzerinde döner. Bu tür bir düşünce tarzı ne Java’da vardır, ne C’de. Bunu başka dillere de uyarlarız.
“Gerektirme” sözcüğünün üstüne basıyorum, çünkü C++’da başka tür bir programlama çalışamaz. ışin ilginci, Ali Çehreli RAII denen bu konuya tam da bu yazıda değinmiş…
- Ben Hindistan’la doğrudan iş yapan, hatta Hindistan’da ofisleri olan birden fazla şirkette çalıştım. Ek olarak, bir arkadaşım küçük firmasının çoğu işini Hintliler de dahil olmak üzere dünyanın çeşitli kültürlerinden insanlara yaptırıyor.
Bu deneyimlere dayanarak Hindistan’a iş yaptırmanın genelde son derece pahalı bir iş olduğunu söyleyebilirim.
- Programcılık belirli araçları ve aletleri belirli şekillerde öğrenmeyi ve kullanmayı gerektiren bir zanaattır. Programcılık aynı zamanda, bir problem çözme işidir ve bunu belirli kısıtlar altında yapmayı gerektirdiği için bir anlamda mühendisliktir.
Hem zanaat, hem de mühendislik; aletleri tanımayı ve ustaca kullanmayı gerektirirler. Yazılımcı arkadaşlara programlama dili denen aleti küçümsememelerini öneririm. Aletleri küçümseyerek yazılımcı olunamaz.
- Yazılımcılık dünyanın en zevkli ve tatmin edici uğraşlarından birisidir. Yazılımcı olmak için bilgisayar ve yazılım dersleri almak gerektiğini düşünmeyin. Okullar çok şey kazandırırlar ama sakın bunun bir şart olduğunu düşünmeyin. Dünyada her konunda *alaylı* çok sayıda başarılı örnek olduğu gibi, *mektepli* çok sayıda başarısız da vardır.
Türk kültüründe çok duyulan “sen yapamazsın,” “biz yapamayız,” “senin yaşın geç” gibi öğretilere kapılmayın. ısterseniz her şeyi, her zaman yapabilirsiniz.
- Talat Ozen “programmer”ı herhalde Türkçe’deki “programcı”nın tam karşılığı olarak önermiş. Oysa CV’min hedeflediği kitle için “programcı”nın karşılığı “software engineer”dir; maalesef CV’lerde “programmer” diye bir tanım yoktur.
Computer Science veya Ülkemizdeki kavramıyla Bilgisayar mühendisliği ile Yazılım Mühendisliği(Software engineering) kvramlarının farkını biliyorum.Üniversiteler ne için vardır öncelikle ona karar vermek lazım.Üniversiteler Belirli bir alanda uzmanlaşmak ve kişilerin kişisel gelişimlerini sağlamak için devlet tarafından(genel) oluşturulan eğitim kurumudur.Üniversitenin amacı belirli alanlarda belirli sektörlerde ve konularda nitelikli kişiler yetiştirmektir.(Öğretmenlik,Tıp,Mühendislik,Siyasi bilimler vs).Üniversitenin amacı oradaki Eğitimcilerin Deneyimlerini,Tecrübelerini ve Akedemik bilgileri öğrenciye aktarmaktır ve Öğrenciye bunları uygulama imkanı sunmaktır.Bunun dışında üniversiteler ilk sene hariç.Öğrenciyi araştırmaya ve geliştirmeye zorlar.Üniversitelerde okutulan kitapların hepsi Oradaki profosörler tarafından yazılmıyor.Oradaki profosörler tarafından yazılsa bile Ürün kalite yönetimi,Teknik Konular,Yazılım mühendisliği esasları,Network ve bunun gibi konular üzerinde bir çok kitap ve diğer bilgi kayanakları(ınternet,
Kurslar) mevcuttur.Mühendis olmak için “Mühendissin sen” diplomasına %100 gerek yoktur.Bu konularda tecrübe en önemli husustur.Teorik bilgi ile bir yere gelinemez bunuda söylememiz gereklidir.Ülkemizde yüz binlerce yazılım uzmanı veyahut mühenisi,Bilgisayar mühendisleri mevcut.Neden ülkemiz gelişemiyor ve piyasada üretilen ERP çözümleri dışında pek fazla birşey yok.Bir yazılım şirketinde(Microsoft mesala) 4 sene aktif olarak projelerde görev alan biri 4 sene software engineering eğitimi almış kişileri 4 sene sonra karşılaştırabilirsiniz.Sözlerim yanlış anlaşılmasın Mühendislik etiğini tam olarak almak için ve sosya ilişkileri güçlendirmek için kesinlikle şarttır.