31 May 16, Tuesday @ 13:28
Ekşisözlük'teki bilgisayar mühendisliği
tanımlarına
bakınca, "bilgisayar mühendisi mimar, programcı ameledir", "utp kablo takmayı
bilmezler", "temeli hardware'dir", "programlamayla alakası yoktur", "bilgisayar
bilimlerinden farklı bir şeydir", "asıl işi işlemci tasarlamak" gibi saçmalıklar
arasında kayboluyorsunuz.
Bu da şaşırtıcı değil çünkü bazı
hocalar ve
mezunlar bile bu
yanlış fikirleri yaymaya devam ediyor.
Bilgisayar Mühendisleri Odası'nın şu
kuruluş raporuna
bakın:
Meslek Alanında Yaşanan Tahribat (sayfa 9):
...sektör kamu ile akademiden ziyade serbest piyasa koşulları içinde büyümüş...
kamusal düzenleme olmaması (yüzünden) ülkemiz salt tüketici konumda kalmış...
bilgisayar mühendisleri teknoloji ve bilim dünyasında
çığır açan çalışmalara imza atmak yerine kod yazan kişiler olarak kalmışlardır.
Bu metni yazan ve okuyan hiç kimsenin aklına, "silikon vadisinde çığırları açanların kamu düzenlemesi
mi vardı?", "serbest piyasa hakimiyetindeki Amerika, bilişim tüketicisi konumunda mı?"
ya da "Knuth, Tarjan, Sedgewick gibi teorik araştırmacılar bile her gün kod yazıyorken
bizim bilgisayar mühendislerinin ayağına bu niye bağ oluyor" gibi çok basit sorular
gelmemiş anlaşılan!
Bu bilgi kirliliğine engel olmak için bazı kavramları temelden açıklamak gerekiyor.
Bilgisayar Mühendisliği
Bir çok ülkede Computer Science (Bilgisayar Bilimi) olarak geçen bölümdür. Bir uygulamalı
matematik alanıdır. Temel problemleri: neleri hesaplayabiliriz (karmaşıklık, quantum),
nasıl hesaplayabiliriz (algoritmalar, veri yapıları, yapay zeka, diller ve derleyiciler) ve
neyle hesaplayabiliriz (bilgisayar mimarisi, ağlar, sistemler) olan bir bilim dalıdır.
Türkiye'de bir mühendislik bölümü olarak açılmasının nedeninin devlet kadrolarında mühendis
olmayanların teknik kadro sayılmasının zorluğu ve yüksek maaş alamamaları olduğunu düşünüyorum.
Mühendislik iki anlamda kullanılabiliyor: Bilimsel bilginin bir şeyler geliştirmek için
kullanılması ile bir profesyonel meslek dalı. Birinci anlamın bir sakıncası yok. Örneğin bir
problemin çözülmesi için bir program geliştirmek bir mühendislik çalışması olarak
görülebilir.
İkinci anlamda ise sıkıntı büyük. Profesyonel mühendislik, tıpkı doktorluk ya da
tesisatçılık gibi bir meslektir. Denetime bağlıdır, mesleği yapanlar bir oda ya da
kuruma kayıtlı olmak ve belli yeterlik şartlarını yerine getirmek zorundadır.
Bunun amacı da, örneğin evinize patlama riski olan bir doğalgaz borusu bağlanmasını
ya da iki inşaat mühendisinin aynı bina için farklı statik hesapları vermesini
önlemektir.
Böyle bir durum bilgisayar mühendisliği için iki nedenden anlamsız. Birincisi
bu bir profesyonel meslek değil, bir bilim dalı ve bu bilgiye herhangi biri sahip olabileceği
gibi kendi başına her türlü amaçla da kullanabilir. İkincisi ise yaratıcılığa
ve çeşitliliğe açık bu alanda, şu iş bu şekilde yapılır gibi meslek kurallarını
üretecek bilgiye sahip değiliz. Evet, bazı tasarım kalıpları (design patterns),
ve yazılım geliştirme teknikleri (test tabanlı geliştirme, sürüm kontrolü, vb)
icat ettik ama hâlâ genel problemi çözebilmiş değiliz. Bu iş bir bilim olduğu
kadar aynı zamanda bir sanat da. Şirketlerin diplomaya sertifikaya
değil kendi mühendisleriyle yapılacak mülakata bakmasının altında da bu yatıyor.
Bilgisayar Bilimcisi Program Yazmaz mı?
Bu saçma fikrin savunulmasının ardında diplomayı aldıktan sonra yan gelip yatarak
para kazanma beklentisi var herhalde.
Araştırmacılar için hipotezlerini test etmenin, modellerini incelemenin önemli bir yolu
program yazmak. Bazen teorileri ispatlamanın bir yolu bile olabiliyor.
Endüstride ise program yazmayacağım diyen adamı görüşmeye bile çağırmazlar. Google,
Microsoft, Apple gibi şirketlerin herhangi bir pozisyonuna girmek için iş görüşmesinde
bile program yazmanız gerekiyor.
Bir kişi analiz yapacak, diğeri tasarım yapacak, kalanlar da tasarımdaki fonksiyonları
yazacak modeli 60'larda kaldı. Yazılım geliştirme, yazılımların artan karmaşıklığı ile
birlikte çok daha dinamikleşti. Tasarım, gerçekleme, test ve hata ayıklama ayrı süreçler
değil artık. Takımlar, hiyerarşi yerine birlikte çalışan uzmanlardan oluşuyor.
Elini kirletmeyen biriyle hiç kimse çalışmaz. Okulda ödev olarak yazdığı programlar
dışında bir deneyimi olmayan adamın zaten tasarım bilgisi de olamaz. Dahası, bu işlerden
bir kaç yıl kopmuş birinin bile tasarım becerisi hızla düşmeye başlar.
Okullu mu Alaylı mı?
Bir başka saçma tartışma. Genelde bu tartışma teorik bilgi mi yoksa pratik bilgi mi
gibi yanlış bir düzleme de çekiliyor. O yüzden ikisine de bakalım.
Örneğin elindeki dosyalardan bazı bilgileri tarayıp istatistiksel bir sonuç
çıkarmak isteyen bir kişiye Python ile basit betikler yazmaya yetecek kadar
bilgisayar bilimleri bilgisi yeterli olabilir. Benzer şekilde bir felsefeci
hiç programlama öğrenmeden yalnızca karmaşıklık teorisini çalışarak kendi
alanında ihtiyaç duyacağı bilgilere kavuşabilir.
Karşılaşılan herhangi bir problemi çözebilecek genel bir program yazma
yeteneği ya da bilgisayar bilimleri alanında yeni bilgiler keşfedebilecek
bir araştırma yeteneği için ise üniversite eğitimi programında yer alan
hemen her konuyu öğrenmek şart.
Bilgisayarlar bir çok katmandan ibaret.
Algoritmalar, kitaplıklar, diller, işletim sistemi, işlemci, transistörler,
elektronlar. Bu katmanların hangi seviyesinde çalışırsanız çalışın altınızda
kalan kısımlara bağımlısınız. Dolayısıyla işinizi daha iyi yapabilmeniz altta
neler döndüğünü bilmenize bağlı.
Teorik ve pratik bilgiden biri daha üstün diyemezsiniz. Daha iyi bir algoritmayla
kazandığınız teorik hızı, o algoritmanın işlemci önbelleği kullanımı daha kötü olduğu
ve veri setiniz yeterince büyük olmadığı için geri kaybedebilirsiniz örneğin.
Bu bilgileri nereden ve nasıl öğrendiğiniz değil, öğrenmiş olmanız önemli. Dahası
dünyanın en iyi üniversitelerinde bile okusanız, işlenen konular ve yaptığınız
ödevler sizi bu alanda uzman yapmaya yetmeyecek.
Orko der ki...
Eskiden İstanbul'da her kahvede, satrançta o kahvedeki herkesi yenmiş ama başka
birileriyle oynamadığı için Kasparov'u yenerim ben diye böbürlenen tipler vardı.
Ne iş yapıyorsanız yapın, o alanda dünyanın en iyileri kimse onları bulun ve
onları tanımaya ve geçmeye çalışın. Bilgisayar alanında bir şeyler keşfetmiş
her araştırmacının, günlük yaşamda kullandığımız ürünleri yapan her geliştirici
ve girişimcinin, Internet üzerinde blog'ları, sunumları, ders videoları, makale
ve kitapları var.
Hayatında büyük ölçekli bir ar-ge projesinde yer almamış, eski ders
kitaplarından okuduğu arkaik tanımları öğreten hocaları, yaptığı e-ticaret sitesi
ya da muhasebe programıyla kendini girişimci sananları, yabancı dilden yarım
yamalak çevirilerle kitap yazanları, forumlarda iki üç soru cevapladığı için
büyük üstat havalarına giren tipleri ciddiye almayın.
Yoksa yukarda alıntıladığım kişiler gibi kendi küçük mağaramızda dışardaki
dünyanın gölgeleriyle oyalanır dururuz.
28 January 15, Wednesday @ 14:25
Teknolojik gelişme insan topluluklarının yaşam biçimini kökten
değiştirebiliyor.
Mesela tarımın keşfiyle (kabaca MÖ 9000), avcı-toplayıcı göçebe
topluluklar yerleşik düzene geçip köy, şehir ve devletleri
oluşturdular. Az sayıda kişinin bütün topluluğa yetecek yiyeceği
üretebilmesi, diğerlerini günlük yiyeceği toplamak derdinden
kurtarıp kral, asker, rahip, bilim adamı gibi sınıf ve meslekleri
ortaya çıkardı.
Bu değişimin olumsuz etkileri de oldu. Kalabalık ve sabit
topluluklar; dışkıların birikip su kaynaklarını kirletmesi,
bulaşıcı hastalıklar, kıtlık ve savaşlar gibi yeni sorunlar
yarattı. Ancak, sınıflaşmayla ortaya çıkan bilim ve siyaset;
kanalizasyonlar, su kanalları, yönetim ve hukuk sistemleri
icat ederek bu sorunları zamanla çözdü.
Sanayi devrimi (18. yy) başladığında dengeler yeniden bozuldu. Kol
gücü ihtiyacı düşer ve üretim verimliliği sürekli artarken bir yandan
da oluşan katma değeri cebe atan işverenler ile işçileri arasındaki
uçurum açılıyordu. Artan işsizliğin pazarlık güçlerini azalttığı
işçiler, bir araya gelip sendikalaşarak güç dengesini yeniden
kurdular. Günlük sekiz saat mesai, çocuklara işçilik yaptırılmaması,
hafta sonu tatili gibi hakları yasalaştırmayı başardılar. Bir yandan
da makinalaşmanın getirdiği yeni iş kollarına (makineleri kullanmak,
inşa ve tamir etmek) eleman sağlamak için temel eğitim sistemleri
ve okullar kuruluyordu.
Bu gelişmeler sayesinde; geçiş dönemindeki isyanlara (mesela
Luditler),
bir anda oluşan fakirlik ve sömürüye, işverenlerin sendikalara
acımasız saldıralarına rağmen, bilişim devriminin (20. yy) başlarına
geldiğimizde, en azından gelişmiş ülkelerde, toplumun çoğunluğunu orta
sınıf oluşturmakta ve kendine eğitim, iş, sağlıklı ve iyi bir yaşam
olanağı bulabilmekteydi.
Bilişim devrimini bilgisayar, Internet, sosyal medya gibi değişik
aşamalara bölmenin doğru olmadığını düşünüyorum. Tarımın ya da buhar
makinasının icadına karşılık gelen ve herşeyi başlatan olay,
Alan Turing'in 1930'larda kendi adıyla anılan Turing makinesini
keşfidir. Son derece basit ve soyut bir makinenin yapılabilecek tüm
hesaplamaları yapabilmesi o kadar güçlü bir fikirdi ki, çok kısa bir
zamanda bilgisayarların, hesaplanabilirlik, karmaşıklık ve kriptoloji
bilimlerinin, iletişim teknolojilerinin, otomasyonun ve robotların
ortaya çıkmasına yol açtı.
Bilgisayar bilimleri alanında çalışan bir kişi olarak
mesleğimin özünün diğer meslekleri yok etmek olduğunu düşünüyorum.
Veritabanları, muhasebe ve İK elemanlarını; kendi kendini süren
araba, şöförleri; sosyal medya, gazeteci ve siyasetçileri; online
eğitim, ögretmenleri; ATM ve POS cihazları, banka katiplerini;
Amazon, tezgahtarları; yüksek seviyeli programlama dilleri ve
tasarım araçları, programcıları; bulut bilişim servis ve
yazılımları, sistem yöneticilerini yok ediyor.
Her gelişme ile başka bir alandaki rutin düşünsel işler ortadan
kalkıyor. Tıpkı sanayi devrimindeki gibi, verimliliğin ve işsizliğin
birlikte artması söz konusu ve gene aynı şekilde işverenler
tasarruf edilen katma değeri cebine atıyor; ancak önemli bir fark var.
Bu sefer, kol gücünden sonra zihinsel iş alanları da kaybolunca;
yalnızca eğitimle insanlara verilebilecek yeni bir iş becerisi
kalmadı. Kol ve zihin gücü otomasyonla kolayca sağlanırken,
çok az kaynakla çok büyük değer ortaya çıkaran tek yetenek
yaratıcılık. O da malesef eğitimle aktarılabilecek bir şey
değil. Belki bir parça geliştirilebilir ama daha ziyade
köreltildiğini görüyoruz. İçinde yüksek miktarda şans da
içeriyor. Bırakın toplumun çoğunluğunu, tek bir kişiyi bile
alıp sanatçı, girişimci, mucit ya da vizyoner yapamayız.
Bu nedenle mesela Amerika'da tartışılan gençlerin
STEM
eğitimine yönlendirilmesi ya da ilkokullara konacak programlama
dersleri gibi önerilerin, bireysel gelişime fayda sağlasa da,
işsizliği çözmesi beklenmemeli.
Bu durumun yarattığı eşitsizliği, geçmişte de varolan ve sosyal
faktörlerden kaynaklanan eşitsizlikle karıştırıp yalnızca bir gelir
dağılımı sorunu olarak görenler var. İşin bu tarafının çözümü kolay:
toplanan vergiler, teknolojinin de yardımıyla, her insana temel
barınma, beslenme, iletişim ve eğitim imkanlarını sağlamaya
fazlasıyla yeter. İnsanların ideolojilerini bir tarafa bırakıp
böyle bir amacı gerçekleştirmeye karar vermeleri zor tabi, ama
problem bir mühendislik problemi.
Hatta bazı para tüccarlarının büyük servetlerini hiç bir iş
yapmadan daha fazla güç ve para kazanmak için kullanabilmesi bile
bence ana problem değil. Teknolojinin artan asimetrik gücüyle
"disruption" eninde sonunda onları da yenecek. Milyar dolarlık
Kodak, Nokia gibi dev şirketlerin, ar-ge de yaptıkları halde,
bir anda çöpe gidebildiği bir dünyada yaşıyoruz. Petrol zenginliği
bile ufaktan azalmaya başladı.
Ancak, dünyada hâlâ sanayi devriminin fikirsel gelişmelerini bile
özümseyememiş büyük halk kitleleri ve devletler varken; böyle bir
yeni yaşam biçiminin insan topluluklarında yaratacağı sosyolojik
ve psikolojik çalkantının nelere yol açacağı bilinmiyor.
Şu anda ciddi bir tepki ve reddetme var. Eşitsizliğe olan tepki,
sorunun kaynağını görmeyip fanatizme ve faşizme dönüşüyor.
Irkçılık ve kutuplaşma artıyor. Sokaktaki sıradan
vatandaştan, Avrupa Merkez Bankasına bir sürü kişi ve kurum
borçlanmayla eski düzeni sürdürebilme derdinde. Siyasal partilerin
bu konuda bir söylemi bile yok, ya da sanayi devriminin temel
varsayımları çoktan çökmüş ideolojilerini anlatıyorlar. Orta
sınıfta durumu henüz iyi olanlar, işsiz ya da az kazanan insanların
tembellikten bu durumda olduğuna inanıyor. Değişimi görmeyen
gençler mesela Amerika'da hâlâ yüz elli bin dolarlık öğrenim
kredisi alıp iş bulma imkanı vermeyecek üniversite bölümlerinde okumaya
devam ediyor. Eşitsizliğin olumsuz tarafını sosyal politikalar
ile engellemeyi başaran ama olumlu tarafından değer yaratmak için
faydalanamayan (göçmenlik ve bireysel girişim konusundaki
katılıkları yüzünden) bazı gelişmiş Avrupa ülkelerinin toplam
ekonomik gücü zayıflıyor. Daha bir çok örnek sayılabilir.
Hoşlanmadıkları ve birlikte yaşamayı bilmedikleri rastlantısallık,
teknoloji ve iletişim tarafından ivmelenerek hızlandırılırken;
insan topluluklarının yaşayacağı büyük buhrandan bir ütopya mı
yoksa felaket mi çıkacak bilemiyorum.
27 January 14, Monday @ 00:25
Tek
bağlı liste
(singly linked list), kolayca göz ardı edilebilecek basit gözüken
bir veri yapısıdır. Aslında onu bir çeşit yönlü çizge (directed graph)
olarak düşünmek daha doğru ve programlanmasında birçok ince nokta
var. Belki de bu özelliğinden dolayı programcılara
iş görüşmelerinde sık sık soruluyor.
Bugüne kadar karşıma çıkan sorulardan bir derleme yaptım. Eleman
ekleme gibi temel işlemler ya da tek bağlı listenin özelliklerinden
bağımsız genel sorular yok. Eğlenceli ve öğretici olacağını tahmin
ediyorum.
Çözerken (C dili için)
struct node {
struct node *next;
void *data;
}
gibi minimal bir şekilde tanımlanmış bir liste varsayabilirsiniz.
Problemlerde istenen O(1) kabaca liste uzunluğundan bağımsız olarak
sabit miktarda, O(N) ise listenin eleman sayısıyla orantılı
bellek ya da işlem sayısını belirtiyor.
-
Verilen listede sondan k'ıncı (mesela beşinci) elemanı
döndürebilir misiniz? İdeal çözüm O(1) bellek, O(N) işlem.
Bu ısınma sorusuydu :)
-
Verilen listede dairesel bir döngü (bir eleman sonraki eleman
olarak önceki elemanlardan birini gösteriyor) olup olmadığını
bulun. O(1) bellek O(N) işlem. Bu çok sık sorulan bir
soru.
-
İki tane liste veriliyor. Bu listelerin birleşip birleşmediğini,
eğer birleşiyorlarsa sondan kaçıncı elemandan itibaren birleştiklerini
bulun. O(1) bellek O(N) işlem.
-
Çift sayıda eleman içeren bir liste veriliyor. Listeyi bir eleman
ilk yarısından bir eleman da ters yönde olmak üzere ikinci yarısından
sıralanacak şekilde değiştirin. Örnek olarak eğer 1->2->3->4->5->6
listesi verilmişse bunu 1->6->2->5->3->4 haline getireceksiniz. Yine
O(1) bellek O(N) işlem. Bu sorunun listeyi olduğu gibi ters çevirme
ya da her k elemanı ters çevirme gibi değişik halleri sıklıkla
soruluyor.
-
Dairesel (son elemanın bir sonraki eleman olarak ilk elemanı gösterdiği)
bir listede, herhangi bir elemana ait bir işaretçi veriliyor.
İşaretçinin gösterdiği elemanı listeyi bozmadan silebilir misiniz?
Bellek kullanmadan ve O(1) işlemde!
-
Bir önceki sorunun çözümü dairesel olmayan bir listede çalışır mı?
Hangi koşullarda çalışmaz?
-
Peki eğer node yapısına ek bir bilgi (ama işaretçi falan değil,
o zaman çift yönlü listeye döner) koyarsak bu koşulları da çözebilir miyiz?
Bellekte node yapısının kapladığı yeri büyütmeden bu bilgiyi koymanın
bir yolu var mı?
-
Yine aynı soruda, işlem sayısı limitini kaldırırsak, dairesel olmayan
liste için soruyu çözmek mümkün mü?
Sorularda anlaşılmayan yerler olursa yorumlarınızı bekliyorum. Tek
bağlı listelerle ilgili yukardaki kriterlere uyan başka
sorularınız varsa onları da yazın. Eğlenceli ve zorlu sorulara
ödüllerimiz olabilir :D
26 December 13, Thursday @ 21:52
Geçen seneki bir blog yazımda,
"nasıl bu kadar yüksek faiz verebildiğimiz ise Türkiye ekonomisinin büyüdüğünü
sananları yakın bir tarihte çok şaşırtacak ayrı bir hikaye" diye bir tahminde
bulunmuştum. O günden beri olan olayların hiçbirini tahmin edemez, hatta bazılarına
söyleseniz bile inanmazdım. Ancak ekonomideki sistemik zayıflığı ve bunun olaylardan
olumsuz etkilenme fonksiyonunun
konkav olduğunu görüyordum.
Nitekim, dünyadaki olumlu ve olumsuz gelişmelerin ortalamasından en kötü etkilenen
ülkelerden biri olduk. Krizin etkilerini her gün şiddetle artan dövizde, seçim
döneminde yapılmak zorunda kalınan zamlarda, siyasi çözülmelerde görebilirsiniz.
Siyasal krizlerin aşılmasına ve dünya piyasalarındaki olaylara bağlı olarak bir
miktar düzelme olabilir belki, ama orta ve uzun vadede bir çıkmaz sokaktayız. Ben
herşeye rağmen Türkiye'nin bir şansı olduğunu düşünüyorum. Ancak bu şansı kullanabilmek
için önce sorununun nedenlerini anlamak, sonra da bazı büyük değişiklikleri
gerçekleştirmek zorundayız.
Üretim out, tasarım in
Dünyada büyük değişimler oluyor. Gelişen otomasyon ve iletişimle birlikte bir çok
meslek değerini yitirmeye, her mesleğin kendi içindeki değer dağılımı da az sayıdaki
uzmanlara doğru devrilmeye başladı. Çok fazla bilgi, çalışma ve yetenek gerektiren
yüksek teknoloji işleri ile vasıfsız olarak da yapılabilecek hizmet sektörü dışındaki
çalışanların geçim standartları her gün düşmekte. Hizmet sınıfının para kazanabilmesi
için de güçlü bir orta sınıf gerekiyor. Sanayi işçiliğinin ve orta kademe plaza
yöneticileri de dahil olmak üzere her meslekten "ara" elemanların gelecekte pek
bir değeri olmayacak.
Aynı durum ürünlerin ekonomik değeri için de geçerli. Mesela Cisco ya da Juniper gibi
kendini ara katmanda konumlandırmış şirketlerin alt tarafını Çin'de çok ucuza üretilen
taklit donanım ürünleri yerken, üst tarafını yazılımla tanımlanmış ağ
(SDN)
ve genel işlemciler
(hatta GPU) üzerinde
çalışan ağ yönlendirme teknolojileri yemek üzere. Cep telefonu piyasasının
üç lideri de (Google, Apple, Microsoft) aslen yazılım firması. Donanıma göre daha
zor olan yazılım alanında rekabet edememeleri, piyasanın eski liderlerinin hepsinin
alaşağı olmasına yol açtı.
Böyle bir piyasada Türkiye'nin ucuz işçilik, montaj hattı, ara sanayi gibi çıkmazlara
girmeyip, yüksek teknoloji alanında yerine alması şart. Gerçekçi düşünürsek Türkiye'nin
nanoteknoloji, biyoteknoloji ya da nükleer enerji gibi alanlarda gerekli altyapıyı,
yan sanayiyi kuracak, eleman yetiştirecek, temel bilim araştırmalarını yapacak zamanı
yok. Dolayısıyla bir yandan bunları oluşturmaya çalışırken, yatırım karşılığında en fazla
değer getirebilecek olan yazılım alanına yüklenmek en doğru strateji olur.
Çevre kirliliği ve aşırı enerji kullanımı yaratan ve karşılığında getirisi çok az olan
üretim sektörlerini kapatmak, karnımız doymadan yaşayamayacağımız için de tarımı
yeniden canlandırıp cari açığın parçası (bkz: simit zammı, susamı bile ithal ediyoruz)
olmaktan çıkarmak da bu stratejinin tamamlayıcısı olacaktır.
Değişen sınıf yapısı
Dünyadaki diğer bir önemli değişiklik ise, aynı ülke içindeki sınıflar arasında böyle
uçurumlar açılırken, farklı ülkelerdeki aynı sınıfların birbirinden haberdar olması ve
ortak bir zihniyet oluşturması.
Batman filminde, kötü adam Bane, lambayı patlatan Batman'e "sen karanlıkta görmeyi sonradan öğrendin,
ben ise karanlığın içinde doğdum" der. Benim kuşağım ve önceki kuşaklar, eposta, sosyal
medya, twitter gibi teknolojileri sonradan öğrendi. Oysa bugünkü nesil bunların içinde
doğuyor ve onları düşüncelerinin doğal bir uzantısı gibi kullanıyor.
Çağdışı kalmış işadamları hala istikrar istikrar diye debelenirken, genç kuşak silikon
vadisinde en çok edilen lafın "disruption" olduğunu, girişimcilerin yıkarak üzerine yeni
iş modelleri kurulacak alanlar peşinde koştuğunu görebiliyor. Değişimin hızını gördükleri
için istikrar denilen şeyin durgunluk ve geri kalmaya yol açan bir aldatmaca olduğunu
farkediyor.
Kısıtlı imkanlara ve bizim toplumda girişimciliğin bir değer olmamasına karşın, gençler çok sayıda
yerli girişim başlattı. Doğal olarak, belli bir noktaya gelebilenleri daha rahat kaynak
bulabilecekleri silikon vadisine göç ediyor, ancak büyük bir potansiyel olduğu açık.
Genç kuşağın dinamizmi ve dünyayla iç içe olması, Türkiye'nin en büyük avantajı.
Bu potansiyeli yazılım alanında bir atılıma dönüştürebilmek için, akademide, özel sektörde
ve toplum bilincinde büyük bir hamleye ihtiyaç var.
Akademi ve özel sektör
Bilimin önündeki en büyük engel Yüksek Öğretim Kurumu. Bu kurumun kaldırılıp,
üniversitelerin kendi rektörlerini kendilerinin seçmesi, akademik standartlarını,
kadro ve bütçelerini kendilerinin belirlemesi lazım.
Bilim adamları devlet memuru statüsünden çıkarılmalı, düşünce özgürlüğünün
sağlanması için
Tenür kavramına
benzer bir koruma getirilmeli. Buna karşın akademik hırsızlık işten atılma
nedeni sayılmalı.
Tübitak'ın girişim yatırımcılığını ve ürün geliştirmeyi özel sektöre bırakıp,
üniversitelerle işbirliği içinde temel bilim araştırmalarına yönelmesi lazım.
Kobi, teknokent vb gibi modası geçmiş kavramları bırakalım. Büroya binaya
ihtiyacı olmayan, damga vergisi dahil hiç sabit vergisi olmayan, yalnızca
kar üzerinden kurumlar vergisi ödeyen bir "yazılım şirketi" kategorisi
oluşturalım.
Yerli melek ve VC yatırımcılara teşvik ve vergi kolaylıkları sağlayalım,
hisse opsiyonu, şirket satışları, yatırım girişi, yabancı ortaklık vb
gibi konularda yasal sorunlarını çözelim. Kickstarter gibi toplumsal
finansman modellerini yasal düzenlemesini yapıp yaygınlaştıralım.
Beyin göçü
Para ve insan kaynağı ayırarak ortalama eğitim seviyesini yükseltmek mümkün.
Ancak ne yaparsanız yapın mesela Elon Musk gibi ülke ekonomisine milyalarca
dolar değer katabilecek bir adam ancak şans eseri ortaya çıkıyor. Dolayısıyla
bu insanları elde tutmak ve hatta ülkeye çekmek çok önemli. Yabancı bilim adamı,
mühendis ve girişimcilere sunacak kolay bir çalışma izni ve vatandaşlık
imkanımız olmaması bir eksiklik.
Musk da, Google'ın kurucularından Sergey Brin de Amerika'ya göçmen olarak
gelmişler. Bugün ise Amerika'da göçmen vizelerine karşı, artan işsizlik
kaynaklı bir hoşnutsuzluk var. Siyasi güçleri fazla olmasa da, diğer
sorunlar arasında vize ve göçmenlik işlerini kolaylaştıracak yasa değişikliklerini
ya da kota artışlarını yavaşlatmayı başarıyorlar. Bu, değerlendirmeyi bilen ülkeler
için çok büyük bir fırsat olabilir.
Yerli olsun, yabancı olsun, beyin gücünü getirebilmek için gereken şeyler
belli. Yaşanacak güzel bir coğrafya konusunda Türkiye çok şanslı bir ülke,
ancak İstanbul ulaşım sorunu, pahalılığı ve gittikçe çirkinleşen
yapılaşmasıyla bu avantajını kaybetmekte.
Bir diğer etken para. En kolay çözebileceğimiz de bu bence. Türkiye'de para
yok değil, yalnızca AR-GE'yi gereksiz gören bir zengin kesim var. Spekülatif
para kazanma yolları engellenir ve VC şirketleri/fonları teşvik edilirse
o paranın girişim yatırımlarına akması çok kolay olur.
Burada tabi daha önce yapılan hatalar yapılmamalı. Mesela bir tersine beyin
göçü programı oldu. Türkiye'ye dönen bilim adamlarına iki yıl boyunca az bir
ek para veriliyor. Bu tür bir programı ya zaten geri dönmeye karar vermiş,
ya da yetersiz olduğu için yurtdışında tutunamamış kişiler kullanır. Bu kısa
süreli paranın, ne alana ciddi bir faydası olur, ne de gerçekten iyi birilerini
dönmeye ikna eder.
Daha iyi bir fikir, mesela NSF ya da benzeri bir yerden bir araştırma fonu
alabilmiş kişilere gidip, aynı çalışmayı Türkiye'de yaparlarsa iki katı
destek ve kalıcı bir kadro teklif etmek olabilir.
En önemli etken ise özgürlük. Başörtülüleri üniversiteye sokmadık. Saçı uzun
gençleri dövdük. Kot pantolonla sunum yaptı diye mühendisi azarladık. Telefon
numarası 532 ile başlamıyor diye insanları restorana kabul etmedik. Şekilcilik
artık delilik boyutuna varmış durumda. Amerika'nın en büyük gücü burada saklı.
New York'ta milyar dolarlık hedge fund yöneticisi ile evsiz bir adam aynı
metroya biner, aynı parkta çayını içer. Bir ürünü sunmaya canlı yayına çıkan
CEO normal bir kazak giyer. Açık kapalı, istediği kadar çılgın giyinmiş
olsun kimse yoldan geçen bir diğer kişiye gözünü dikip bakmaz.
Kimsenin nasıl yaşadığına --yorum yapmak dahil-- karışmamamız gerektiğini,
farklılığın bir güç olduğunu, teknolojik ve ekonomik gelişmenin ancak bir
özgürlük ortamında olabileceğini kavramamız ve tektipleşmenin sonunun toplu
yokoluş olduğunu görmemiz gerekiyor.
29 March 13, Friday @ 13:50
Filmi de çekilen Moneyball kitabının yazarı Michael Lewis, geçen sene
Princeton Üniversitesinde bir
mezuniyet konuşması
vermişti. Tamamını dinlemenizi öneririm, özetle insanların başarılarını
ve geldikleri konumları büyük oranda şanslarına borçlu olduklarını ve
kendilerini başkalarından daha fazla hakka layık görmeden önce bunu bir
düşünmelerini söylüyor.
Şansın etkisini fark etmek için bilinçli bir çaba gerekiyor. Öncelikle egomuz
aldığımız eğitimi, çevremizin katkılarını, toplumdan gördüğümüz desteği
unutup gözümüzü sadece kendi özelliklerimize dikiyor. Sonra da hikaye
anlatmaya olan düşkünlüğümüz, olayları geriye dönük açıklayan, zaman içinde
gelişen taraflı yaşam hikayeleri yazmaya başlıyor.
En büyük çok uluslu şirketlerin yöneticilerine bakın. Yakın zamanlara kadar
bunlar şirketin en alt kademelerinde işe başlayıp otuz sene her kademede
çalıştıktan sonra şirketin başına geliyorlardı. Bugün ise neredeyse
üniversiteden çıkar çıkmaz CEO olarak işe başlayan insanlar var. İşe alım
kriterleri başarıdan ya da bilgi birikiminden ziyade okulda kimin
arkadaşı oldukları. Bunu mühendis seçerken yapılan binlerce görüşmeyle
kıyaslayın.
İşin komiği performans değerlendirmelerinde girişim (startup) değerleri
kullanmaları. Girişimciler için şirketi kurduktan üç ila beş yıl içinde
şirketi satmak ya da benzeri bir çıkış yapmak normaldir. Kurumsal bir
firmanın yöneticisini de bu kadar kısa zaman aralığında değerlendirirseniz,
adamın yapacağı iş, bol miktarda adam çıkarmak, uzun vadede şirketin
batmasına yol açacak işler yapıp günlük değerleri yüksek göstermek ve
üç yıl sonra bonusunu alıp gitmek olur.
Havadan zengin olan, koskoca şirketleri aptalca kararlarla batıran adamlar,
aldıkları bonus yetmiyormuş gibi bir de tavsiye vermeye kalkıncalar gülünç
oluyor. Başarının sırrı çok çalışmakmış, sabah erkenden işe gelirlermiş,
vb vb. Ortalık, liderlik sırları, falanca kişinin iş kuralları, kariyer yapmanın
on kuralı gibi zırva yazı ve kitaplardan geçilmez hale geldi. Hele kendi
avantajlarını ve yaşam kolaylıklarını unutup, utanmadan ben doğum yaptıktan
sonra bile toplantıya girdim, çalışanlardan da aynı şeyi beklerim gibi mesajlar
verenler işin tadını kaçırıyor.
Sahip olduğumuz her özelliğe bilgiye ve deneyime karşın, dünya üzerinde aynılarına
ya da daha iyilerine sahip en az bir milyon kişi var. Medya yalnızca başarılı
(=şanslı) olan azınlığa odaklanarak istatistiksel sapmaya yol açıyor ve palavra hayat
hikayelerine inanılırlık sağlıyor.
Büyük organizmaların bu aptallığı aslında iyi bir şey, doğal gelişime yer açıyor
ve hantallığın ölüp gitmesini sağlıyor. Biz şansın temel faktör olduğu bir
ortamda bundan nasıl faydalanılır ona bakalım.
Olasılık konusunda yazan çağdaş filozoflardan
Nassim Taleb
bize bunun ipuçlarını veriyor. İlk adım, bir şeyin kendisiyle o şeyin bir fonksiyonu
arasındaki farkı kavramak.
Bilmediğimiz faktörler sonucu gerçekleşen olayları altı yüzlü bir zar atışıyla
ifade edelim. Diyelim ki, attığımız zar sonucu gelen rakam kazancımız olacak.
Hilesiz bir zarda beklediğimiz ortalama kazanç (1 + 2 + 3 + 4 + 5 + 6) / 6 = 3.5
olacaktır. Bu, olumlu ve olumsuz faktörler birbirlerini dengelediğinde, yani
%50 başarı elde ettiğimizde elimize geçecek kazançtır.
Şimdi ise kazancımız zarın direk değeri değil bir fonksiyonu olsun. İlk önce
konveks bir fonksiyon olan f(x) = x*x kare fonksiyonuna bakalım. Beklenen
kazancımız (1*1 + 2*2 + 3*3 + 4*4 + 5*5 + 6*6) / 6 = 15.17 olacaktır. Bu
değer zarın kendi beklenen değerinin karesinden daha büyük (3.5*3.5 = 12.25)
bir değer. Böyle bir durumda ortalamanın altında kar etmemiz için faktörlerin
büyük kısmının olumsuz gitmesi gerekecektir.
Eğer konkav bir fonksiyon olan f(x) = kök(x) karekök fonksiyonun seçersek,
beklenen değer bu sefer
(kök(1) + kök(2) + kök(3) + kök(4) + kök(5) + kök(6)) / 6 = 1.80 olur ki,
zarın kendi beklenen değerinin karekökünden (kök(3.5) = 1.87) daha küçük
bir değerdir. Bu durumda ise ortalama kar yapabilmemiz için faktörlerin
büyük kısmının olumlu gitmesine ihtiyacımız var.
Jensen eşitsizliği
adı verilen bu durum, mesela ar-ge projelerinin neden hep geciktiğini bize
açıklıyor. Projenin eksi zamanda (daha başlamadan önce) bitmesi söz konusu
olamayacağına göre, bilinmeyen faktörlerin etkisi konkav (süreyi daha uzatacak
tarafa doğru meyilli) bir fonksiyon. Bu durumda da gecikme olmaması için
planlama aşamasında bu faktörlerin çok büyük bir bölümünü doğru tahmin
etmiş olmak (imkansız bir çaba) gerekiyor.
Taleb'in
Antifragile
kitabı bu yaklaşımın sağlık, günlük yaşam, ekonomi gibi birçok alanda doğru
riskleri almak için nasıl kullanılabileceği üzerine. Biz yine yalnızca
girişimlere odaklanalım.
Ar-ge'nin mutlaka gecikeceğini gördük. Demek ki bunu hesaba katmamız,
kaynakları tüketmeden, planlarda çok geniş zaman aralıkları bırakarak
hareket etmemiz lazım. Paul Graham,
Nasıl Ölmemeli?
yazısında farklı bir noktadan yola çıkarak benzer bir sonuca varıyor.
İşgören minimum ürünle işe başlayıp, yapılmasa da olacak herşeyi sonraya bırakmak
da çok iyi bir strateji. Hem işi basitleştirip bilinmeyenleri azaltıyor, hem de
ürün başarısız olursa çöpe atılacak emeği azaltarak kazanç fonksiyonunu olumlu
yönde büküyor.
Bir girişimin şansını çok fazla arttıramayacağımıza göre, girişim sayısını
arttırarak toplam şansı yükseltebiliriz. Daha incelikli bir strateji birden
fazla girişimi paralel olarak götürmek. Yatırımcılar arasında birbirine rakip
şirketlere eşit oranda yatırım yapmak epey rastlanan bir durum. Rekabeti bir
şirket kazandığında kaybedenlere yatırdığınız ve batan paranız sınırlı iken,
kazanan şirketten kazanacağınız miktarın limiti olmadığı için net bir kazanç
sağlama olasılığı çok yüksek olacaktır. Bu daha çok yatırımcılara uygun bir
strateji gibi de görünse, girişimciler de uygulayabilir.
Okul dönemi boş zaman açısından paralelde bir kaç girişimde bulunmak için ideal.
Bir kaç mobil uygulama ya da web sitesi kurmadan mezun olmayın. Okuldan çıkınca
yalnızca girişimlere atılmak yerine, tecrübe kazanılacak ama vakit öldürmeyecek
makul bir iş bulup, bir yandan para birikimi yaparken, bir taraftan da girişimlerde
bulunmak da güzel bir strateji olabilir.
Böyle paralel işler çok yorucu olabiliyor. İnsan beyni de bilgisayar gibi bir
önbelleğe sahip, bir işe başladığımızda yavaş yavaş detaylarla doluyor ve
hızlı çalışmamızı sağlıyor. Hemen başka bir işe geçince detayları unutup baştan
başlıyoruz. Verimliliği düşürmeden paralelliği arttırmak için benim bulduğum
strateji işleri atomik parçalara bölmek ve bir parçayı tamamen bitirmeden bir
sonraki işe geçmemek. Bir sonraki işi ise farklı bir alandan seçerek sıkılmayı
ve yorgunluğu önlemek.
Tabii işin miktarı değil niteliği önemli. O yüzden mutlaka işleri
filtrelemek lazım. Yapmayabileceğiniz hiç bir şeyi yapmayın. Emin değilseniz
yapmayın gitsin. İş hayatımda önüme acil olarak gelen, bir kaç hafta boyunca
ihmal edince de yapılmasına gerek olmadığı anlaşılan bir dolu şey oldu
(neyseki hiç birini yapmamıştım zaten eheh). Gerekli ve doğru işler tekrar
tekrar ortaya çıkıp kendilerini hatırlatır zaten.
Her şeyi tepkisel olarak planlayıp tamamen bitiş tarihleri üzerine yaşamak,
rastlantısal ve keyfi işleri hayatınızdan çıkarıp rastlantılardan etkilenme
fonksiyonunuzu olumlu taraftan daraltan bir diğer hata olur.
Bu konuda söylenecek tartışılacak çok şey var ama bu yazı fazla uzadı, artık başka
yazılara. Rastgele! :)