Herkesin pişmanlıkları vardır… Bazen birbirimizinkilerden öğrenebiliriz.

Okul. Dogru okul ve doğru bölüm secmis olmanin cok yararini gordum. Fakat bolumde derslere gereken onemi vermek yerine kendimi pratik konularda gelistirmeye daha cok zaman ayirdim. Not ortalamasina onem vermedim. (yine de iyi sayilabilecek bir ortalamam var.) Bazi konularda fundamental eksiklerim oldu, CS kodlu dersler disinda neredeyse butun derslerden nefret ettim ve zoraki zaman ayirdim, dolayisiyla onlarin bana katacagi faydalari goz ardi ettim.

Bir teknolojiye takılmak. Ciddi ciddi teknik seyler gelistirmeye baslayali 7 yil oluyor. Bu zamanin buyuk cogunlugunda bir teknoloji ogrenip gerisinden korkarak kactim. Ornegin yillarca ASP ile gelistirdim, yillarca PHP ile gelistirdim. Bu ikisinden de elbette bir seyler ogrendim ama dogrudan daha mantikli ve ise yarayacak dillere giris yapsaydim universiteye girdigimde 1-2 tane Python, Java, C++ gibi dillerden birini biliyor olabilirdim. PHP ile üniversiteye girdikten sonra da cok ilgilendim ve bu dile harcadigim butun vakti zaman kaybi olarak goruyorum. Galiba 5 yil MySQL kullandim, ama PostgreSQL’den ve digerlerinden hep kactim. Simdi ise MongoDB kullaniyorum.

**Startup kültürü. **16 yaşımdan beri ilginç projeler deniyorum. Fakat bunlardan para kazanma beklentisi veya gelir modeli oluşturma fikirlerini hep göz ardı ettim. Yıllar önce bir şeyler denemiş olmayı  “avantaja çevirip”, gerçek iş modelleri deneyip, başarısız olup, başarısızlıktan tecrübe kazanabilirdim.

Öğretmeyen projeler yapmak. Birbirine cok benzeyen, sınırlı sayida insanin kullanacagi bir suru gereksiz proje gelistirdim. En azindan her birini farkli teknolojilerle-araclarla gelistirip bir seyler ogrenebilirdim. Sunu gordum ki,

_Eger maasli bir calisan degilseniz, y_eni bir sey ogrenmenizi gerektirmeyen isin size hicbir faydasi yok.  Hele de ogrencilik gibi kendinizi gelistirmeniz gereken bir zamandaysa bu tip projeler zaman kaybi. Şekle takılmak. Ikinci sinifta ismi guzel gorunuyor diye Turkiye Bilisim Dernegi Genc grubuna katildim. Ardindan iki sene kadar oranin baskanligini yuruttum, guzel insanlarla tanistim, bir suru etkinlik organize ettim, bu beni bir cok yonden gelistirdi. Fakat bu olusum ve TBD’nin geri kalani ne yazik ki isminden bekledigim kalitede degildi. Bunun yaninda Microsoft Student Partner oldum. Adinda Microsoft geciyor diye mantikli bir seydir diye dusundum. Fakat sonra Microsoft Turkiye’nin cok hatali tutumlar sergileyebilecegini gorup oradan da ayrildim. Kisaca, bu ulkede kalite isimden veya sekilden anlasilmiyor.

Linux. Son 15 yilda yukselen ve piyasada en cok kullanilan teknolojilerin cok buyuk kismi GNU/Linux veya UNIX tabanina dayaniyor. 12 yildir bilgisayar kullaniyorum, bunun ~9 yilini Windows’la gecirdim. Windows’la gecirdigim butun zamani vakit kaybi olarak degerlendirebilirim. 15 yasinda bash script yazabiliyor olsaydim bugun cok farkli bir skill set’e sahip olabilirdim.

Bu yuzden her bilgisayar muhendisi adayi C#, .NET’i ve Windows’u acilen birakip Linux/OS X kullanmali; Java, Python, C/C++, Ruby, Scala, Lisp gibi dillerde ve GNU Tool’larinda (bash scripting) kendini gelistirmeye devam etmeli. [ilgili yazi] Okumak. RSS ve bloglar araciligiyla sektorle ilgili haberleri ve teknik konulari surekli takipteyim. Ancak bu yeterli degil. Universitede bos vaktim az olsa da daha cok teknik kitap okuyabilirdim (ornegin, O’Reilly serisinden), daha cok startup kulturu ve execution uzerine okuyabilirdim, daha cok bilimsel yayin takip edebilirdim –en azindan okuma yetenegimi gelistirebilirdim.

Algoritmalar. Hep urun gelistirmek icin kod yazdim. Belki de daha cok yarismalara ve mulakatlara yonelik algoritmalar uzerinde calissaydim Microsoft’ta degil de Facebook’ta veya Twitter’da staj yapabilirdim. Bos zamanimin bir kismini TopCoder‘da sorular cozerek, teknikler ogrenerek harcayabilirdim.

Siz ne düşünüyorsunuz?