Bu tarihi gune taniklik eden, alandaki herkese sevgi ve selamlar. Dun geceden beri yasanan saldirilara maruz kalan ve hayatini kaybeden arkadaslara gecmis olsun ve bassagligi. Yaninizda bulunamadim ama, hepinizi birer sovalye olarak goruyorum ve gozumu kirpmaksizin iki gundur takip ediyorum.
Kayiplarimiza duydugum uzuntuyle birlikte, bugunun tarihi bir gun oldugunu dusunuyorum. Uykusuz ve ise gitmek icin hazirlanmam gerektiginden dusuncelerimi hizlica aciklayip “bir yerde yazili dursun” niyetiyle yayinlayacagim;
Gozlemlerim;
- AKP’nin ortadogu politikasi coktu. Esad bile simdi guluyordur AKP’nin haline.
- Polis hazirlikli degil, is kontrolden ciktikca resmen cinnet gecirmeye basladilar.
- Saat 19.00’da BDP, TKP, taraftarlar ve binlerce sanatci/muzisen ve sivil alana girdikten sonra atacak gaz bombasi falan kalmaz. Daha simdi dahi plastik mermi kullanmaya baslamislar.
- Burjuva ve aristokrat sinifinin buyuk bolumu AKP’yi karsilarina alan aciklamalar yaptilar.
Biraz daha gecmise gidersek;
- ABD Rusya ile ortak bir Suriye konferansi duzenleyip AKP’yi coktan ortadogu politikalarinda safdisi birakti.
- Beyaz Saray’da Erdogan’in eline tutusturulan metinle, kendi agzindan Suriye’de terorist gruplari besledigi itiraf ettirildi.
- Turkiye’de islamofasizmin gittikce yukseldigini yazan pek cok makale yayinlandi.
- Turkiye’nin Cin’in pazarindan pay calmaya calistigini yazan makaleler yayinlandi.
AKP artik global olarak destegini yitirmis ve yolun sonuna gelmis gorunuyor. El avuclarinda kalan son kozlari da radikal islama oynamaya calisiyorlar.
Ve bugun Karsiyakayla Goztepe’yi dahi bir araya getirebilecek muthis bir enerji cikti ortaya. Saat 19.00’da katilacak olan gruplarin beraberinde polisin hicbir sey yapamayacagini, bu hareketin Taksim Parki’ni agaclandirdiktan sonra da butun yurt capinda duzenlenen eylemlerin de beraberinde, islamofasizmi Turkiye’den atacak harekete donusecegini ongoruyorum.
Bence bu harekete “Milli Demokratik Devrim” adi yakisir. Umuyorum ve bekliyorum. Kalbim ve gozlerim sizlerle arkadaslar.
Bu yazida bir ateist olarak kisaca neden sekuler bir ulkenin vatandasi olmak istedigimi, neden bunun benim icin bir olum kalim meselesi oldugunu anlatacagim.
Yaklasik 6 yil once Isparta’da ogrenciyken en yakin arkadaslarimdan birkaci bazi tarikatlara uyeydi. 15-16 yasindan beri birbirimizi bildigimiz icin din ve siyaset gibi konularda hic anlasamasak da kavga ve hakaret etmeden saatlerce tartisabiliyorduk bu konulari.
Bazen sirf tartismak icin bir araya geldigimiz bile olmustur. Bu arkadaslar dindardi ve bu konuda devamli beyin jimnastigi yaparlardi. Ben de o ara TKP’den bastigi Devrimler Tarihi brosurlerinden ogrendiklerimi anlatmaya calisirdim.
Simdi durumu tekrar degerlendirince, bu arkadaslarin din disindaki hicbir fikre acik olmamalarinin nedenini esasinda saglam birer apolitik birey olmalarina bagliyorum.
Zira ilgilendikleri tek konu, kendileri gibi olmayan insanlara karsi merhametlerini de rafa kaldirmalarini saglayan, inandiklari dine karsi yapildigini dusundukleri saldirilardi.
Baska hicbir konu ilgilerini cekmezdi. Insanlar nasil ozgur yasar, nasil baris icinde yasar, bu tip konular onlar icin bir konu basligi dahi degildi. Tipki herhangi bir apolitik birey gibi.
Dindar olmak, apolitik olmaktir.
Her ikisi de dunyanin gercek meselelerine uzak, esit mesafededir. Hicbir dindar 0G”Su otoyolu yapilirken kac agac kesilmis?” “Karadenizde copler denize mi dokuluyor?” “Turkiye’de neden zenginle fakir arasinda ucurum var?” “Kadinlar gercekten ozgur mu?” “Cocuk istismari nasil engellenir?” “2013 yilinda nukleer santral gelecege yatirim olur mu?” gibi konulari kafasina takmaz. Bu konuda konusursa rasgele her iki yonde de gorus bildirebilirler.
Dindarlarin yonettigi bir toplumda, sekuler bir ulkede en baslica meseleler olan konular oncelikli degildir. Oncelikli konular daha ziyade Icki icenler, evlilik disi sex yapanlar, kisa etek giyenler, sokakta opusenler vesaire olacaktir.
Yasayarak gordugumuzu dusunuyorum. Ve gittikce de islamofasizm batagina saplanan bir ulkeyi sahsen endiseyle, ne yapacagimi bilmeden takip ediyorum.
Google’da simdi arattiginizda Turkiye’nin yeni ucuz isci kaynaklarindan biri olacagini, islamofasist yonetime dogru kaydigini ongeren onlarca makale bulabilirsiniz.
Butun dunya ayni gelismeleri gozlemliyor; ozgurluklerimizi birer birer kaybediyoruz. Sokaga cikip hakkimizi savundugumuz an kimyasal gazlar ve jopla iceri aliniyoruz. Yasadigimiz alanlar AVM, HES vb projeler icin birer birer talan edilirken, bir yandan da sehirlerimizde yuzlerce insanin olduruldugu bombalar patliyor, Afyon’daki gibi kazalar meydana geliyor.
Ve bu oncelikli olmasi gereken konular Turkiye’de gundem maddesi bile degil.
Cunku artik Turkiye, gercekle baglantisini koparmis, okullarda zikirmatik dagitarak iyi bir nesil yetistirecegini zanneden, bitmek bilmeyen icki tartismalarinin, ateistlerin tinerci olup olmadigini tartismalarinin yasandigi bir islamofasizm ulkesi.
Cemaat halinde hareket eden bolgeleri bilmem ama, benim bildigim anadolu bunu hic haketmiyor.
Aradan 4 gun gecti, Reyhanli ile ilgili hicbir bilgi akisi yok. Yayin yasagini sadece bir kucuk muhalif televizyon kanali kirip halki konusturuyor, onlar da, halkin tamamen galeyana nasil geldigini gosteriyorlar.
Hayatla ilgi ve alakamiz bu kadar; kim nerede galeyana geliyor, kac kisi oluyor ve kac bina yikiliyor.
Bu insanlar hastaneye nasil gider, giderlerse sigortalari var mi, paralari var mi, o kadar evi yikilan insanin battaniyesi, cadiri var mi, ogrencilerin memleketlerine donebilecek harcliklari var mi, hicbir yerde, tek satir dahi bilgi yok.
Reyhanli halkina “nasilsiniz?” diyen dahi yok gozlemledigim kadariyla. Bahsettigim o tek videonun cekilis amaci da, ortasinda bir yerde gosterdikleri bir derginin reklami. Dergiyi gosterip konusma yapan adam tam bir ajan stereotipi.
Tam bir toplumsal pejmurdelik hali icindeyiz. Iletisim araclarina en ihtiyac duydugumuz zaman. Basit bir uygulama dahi oradaki insanlarin veya orayla iletisim kurmaya calisanlarin ihtiyaclarini karsilayabilir.
O kadar insanlarin arasindaki baglari guclendirdigini soyleyen Turkcell’in, diger GSM operatorlerinin, ve diger teknoloji sirketlerinin hic mi aklina birsey organize etmek gelmez?
Eksi Sozluk’un bir baslik acip, Reyhanli ve cevresinden gelen herkese yazma izni vermesi zor birsey midir?
Bir ulus bir felaket aninda ancak bu kadar duyarsizlasabilir.
Velakin sasirdim desem de yalan olur. Hayatla az bucuk baglanti kurmaya calisan herhangi birinin coktandir gozlemledigi sorunlarin iyice ayyuka cikisidir bu durum.
50 yil once bir sair soyle bir laf ediyor; “Biz sehirlere sanki medenilesmek icin degil birbirimizi bogazlamak icin geliyoruz.”
Durumu en iyi aciklayan sey budur. Bir turlu medenilesemedigimiz icin dogru duzgun iletisim araclarimiz yok. Insanlar koca bir felaketin ardindan yapayalniz birakilmis, ve kucuk bir caba dahi sarfetmiyoruz.
Bir suru Facebook ve Twitter klonumuz, e-ticaret ve arkadaslik sitelerimiz, “hot” deyince tek sira halinde dizilip bir kucuk cesaret ornegi dahi gosteremeyen onlarca online haber sitemiz var.
Kendini yeni medyanin oncusu sayan Dipnot TV’de bile Reyhanli’nin haberini gecelim, bir foto galerisi dahi yok.
Hani artik muhabire ihtiyac yoktu? Hani artik interneti olan herkes haber muhabiriydi?
Derhal medeniyetlesmeden, yazilim gelistirmekten, ve sosyal medyadan ne anladigimizi gozden gecirmeliyiz.
Artik ister startup’inizla dunya rekorlari kirin, ister Mars’a uzay mekigi gonderin. Sayet akli basinda torunlarimiz olursa bugunu yazip cizen, bu duyarsiz, pejmurdelikten baska birsey olmayan toplumsal halimizi bizim bugun gordugumuz travmatik, blur haliyle degil tam oldugu gibi, en gercek haliyle gorecekler ve yazacaklar.
Dunya dondugu surece gercegi saklayamaya calisanlar, kendilerine boyun egen ve canak tutanlarla beraber, er veya gec lanetlenir.
Bugun yazilim yapanlara dusen gorev ise medeniyetin onune cikan problemler icin cozum uretmektir. Bir ipin ucundan tutmanin vakti geldi.
Tum bu karamsar tablo hakkindaki fikirlerimizi ortaya koymamiz ve ne yapabilecegimiz hakkinda kolektif bir kulturle sonuca ulastigimiz tartismalar uretmemiz gerekiyor. Yazilimci olarak elimizden ne gelir, ne gibi problemleri nasil cozeriz, en azindan herkesin katilabildigi yazismalar yapabiliriz bu konuda.
Su an kisisel olarak attigim adim Ana Kaynak projesinin bir sonraki surumunu gelistirmeye baslamak oldu. Bunun hakkinda bilgi almak isterseniz bana ulasin. Kisaca ozetlemek gerekirse, Ana Kaynak Reyhanli veya herhangi bir diger konu basliginda gercek zamanli bilgi akisi saglayan portallari bir araya getiren platform olmayi hedefliyor.
Bu yazida neden teknik dokumanlardan ve yazismalardan ziyade daha sosyal ve insani konularda fikir ve tartisma uretmemiz gerektigini dusundugumu aciklayacagim.
Sunu vurgulayarak baslayalim; Turkce dokumanlar dil dagarcigimizin gelismesi ve gelecek nesillerin zihnini acacacak kelime karsiliklarinin, metaforlarin uretilmesi icin cok onemli. Bu nedenle Turkce dokuman yazan herkesin eline saglik, yaptiklari katkilar icin tesekkurler.
Lakin endustrinin sadece teknik kismiyla ilgili icerik uretmek buyuk bir eksiklik. Bizim daha sosyal konularla ilgili icerik uretmemiz gerekli. Belki konusuluyor ama ben goremiyorum onlarca kisiyi Twitter’da takip etmeme ragmen.
Ornek vermek gerekirse, ayni ulkenin vatandasi olarak, nasil yasadigimizi, bir projeyi tamamlamak icin nasil calistigimizi, nasil basarili veya basarisiz oldugumuzu birbirimize ve herkese anlatmamiz gerekli.
Herkesin esi benzeri olmayan bir hikayesi vardir. Kendinizi en siradan insan olarak da gorseniz, Yuzuklerin Efendisi serisi yazilacak kadar hikaye cikar hayatinizdan. Bunun uzerine bir de gelecekte ne yapmak istediklerinizi ekleseniz, bir o kadar da Harry Potter serisi. Neden anlatmiyorsunuz hikayenizi kardesim? Buna da mi useniyorsunuz?
Sahsen beni teknik icerikten cok daha fazla ilgilendiren kismi “birbirine benzer” insanlar olarak nerden geldik, nereye gidiyoruz kapsaminda uretilen icerikler. Bir baska deyisle, benle benzer isi yapan baska insanlarin hikayesi.
Birakin JavaScript’ti, Python’du, oydu buydu. Bunlari 78 baska dilde 2 milyon insan daha konusuyor.
Ne yapmak, nasil yapmak istediginizi, son basarisizliginizi, nasil dersler cikardiginizi anlatin.
Haksiz oldugumu dusunen var mi?
Oyleyse soyle de anlatayim; Sedat Kapanoglu’nun hikayesi Mark Zuckerberg’inkinden cok daha saglam bir hikaye degil mi?
Bizim icimizden cikan SSG, 14 Subat’ta sevgilisine hediye olarak bir site acmis, koca ulkenin en buyuk icerik platformuna donusmus.
Digerini zaten biliyorsunuz. Adamin filmi yapildi. Buna benzer olarak pek cok startup oykusunun macerasi, kisa filmi, belgeseli yapiliyor baska ulkelerde.
Peki nerede Sedat Kapanoglu’nun veya Eksi Sozluk’un belgeseli, kitabi? Onu gectim, bir e-book veya blog yazisi?
Daha en onemli hikayelerimizin dahi derli toplu anlatildigini goremiyoruz.
Turkiye’deki yazilim gelistirici komunitesinin cok seslilige ve daha soyut/sosyal/insani, artik ne derseniz deyin, o tarzda icerige ihtiyaci var.
Dun sabah Türkiye’de Dişe Dokunur Bir Proje Yok baslikli bir yaziya rastladim ve bu konuyu derli toplu ele almadigimizi, kisiler ve olaylar uzerinden yapilan degerlendirmelerin konunun ele alinisinda sapmalara yol actigini dusundugum icin bu blog yazisini yazdim.
Turkiye’de ekonomik ve kulturel pek cok sorunu devamli gozlemliyoruz. Temeli saglamlastirilmis, gercekci ve yapici sonuclar alabilecegimiz tartismalar uretebilmek icin iyimserlikle beraber radikal seviyede ozelestiri, ve bu iki yaklasim arasinda iyi bir denge kurmamiz gerekli.
Ilk bakista biraz aceleci ve daginik bir iddia gibi gorunebilir; Turkiye’den startup cikmamasi ile, yeni yapilan binalarin tamaminin cirkin olmasi ve Yedigoller parkina beton merdiven yapilmasi ayni nedenden kaynaklaniyor: toplum olarak ozensiz yasiyoruz.
Ozensiz bir medenilesme ve hayat anlayisimiz var. Temel toplumsal ve humanist kabiliyetlere sahip degiliz. Bu nedenle binalarimiz cirkin, bu nedenle yuzbinler ve milyonlar olarak toplanip bir araya geldigimiz sehirler, birbirimizi acimasizca kolelelestirmeye calistigimiz cekismelerin rutinlestigi, toplumun giderek duyarsizlastigi yerlere donustu.
Oysa bir sehrin varolma amaci insanlarin yasam kalitesini ve refahi yukseltmek, insanlari ozgurlestirmek ve konforlu yasam alanlari sunmaktir.
Yani sehir dedigimiz sey, girisimcilerin, yatirimcilarin ve muhendislerin bir araya gelip insanlara yeni bir davranis, aliskanlik kazandirdigi, yasam kalitesini artirdigi yerdir. Turkiye’de gozden kacirildigini dusundugum temel gerceklik budur.
Bir onceki blog yazimda detaylica bahsettigim gibi Turkiye’deki yatirimci ve girisimcilerin pek cogu dunyanin diger onemli noktalarinda pek rastlamadigimiz dunya gorusune ve basari anlayisina sahipler.
Startuplarin basari olcutu ve temel survive edebilme kriteri, hayatla guclu baglantilar kurup konfor ve hiz gibi katkilarda bulunabilmeleridir.
Bu nedenle, elinizdeki fikirleri olcup tartarken, dunyayi degistirmeden once sokakta beraber yurudugunuz insanlarin hayatina ne tur bir katkida bulunmaniz uzerine etraflica bir dusunmenizde fayda var. Daha iyi nasil yasayabiliriz? Insanlara nasil daha ozgur, daha “patron gibi” yasama sansi verebilirsiniz? Ornegin Bay Area’daki Uber, Good Eggs, Square gibi startuplar bu soruya cok iyi bir yanit bulup hayata gecirmisler.
Toplumumuzun daha fazla tutku ve renk sahibi, ozgur, hevesleri kirilmamis insanlara ihtiyaci var. Birbirine benzer karakteristige sahip, benzer sorunlari cozme amaci guden hackerlar ve girisimcileri bir araya getirebilen zengin bir ekosisteme sahip olmaliyiz.
Gezegenimizin maruz kaldigi degisimin dinamosu olacak yegane gucler startuplar ve hackerlardir. Gelecegi startuplarin sekillendirecegi asikar. Turkiye’nin gecmiste kacirdiklarini bir kenara birakip en modern, futurist startup orneklerinden ilham alarak gelecegi icin uretmeye baslamasi gerekiyor.
Turkiye’de yazilim sektorunun oteden beri ciddi sikintilari var. Gelistiriciler olarak yillardir karsilastigimiz sikintilar ancak bugunlerde isverenlerin de dahil oldugu tartismalara donusturulebildi. Oldukca fazla insanin hayatini dogrudan etkileyen onemli bir tartismaya daha fazla katilim beklesem de, fazlaca iyimser bir yaklasimla bu surecin olumlu sonuclar dogurabilecegine inaniyorum.
Bu blog yazisinda, hem bir yazilimci olarak, hem de Turkiye’ye dondugunde kendi isini kurmak bir isveren adayi olarak, Istanbul’da 4, 1.5 yildan bu yana da ABD’de edindigim deneyimlerden cikardigim, bazi politik temaslari da olan gozlemleri ve onerilerimi paylasacagim.
Tartismak, basit bir birey acisindan, insanin kendisi olabilmesi icin, ya da olmayi istedigi kisi olabilmesi icin gerekli bir sosyal protokoldur. Temel bir insan hakkidir. Birarada yasama gayesi olan saglikli bir toplumun surekli yapmasi gereken cimnastik hareketleridir. Bir girisim acisindan onemini vurgulamak gerekirse, uygulanmak istenen fikrin gerceklik zeminiyle olan baglantisi, uretilen tartismalarin kapsami ve icerigi ile dogru orantilidir.
Bana gore Turkiye’deki temel sikinti tam bu noktada basliyor; zengin icerikli kolektif sonuclar uretebilecegimiz tartismalari bir kenara birakalim, hic tartisamiyoruz! Okulda, isyerinde, bir isimizin oldugu herhangi bir kurumda, kendi sesinin digerlerinin sesinden daha onemli oldugunu dusunen, verdigi kararlarin sorgulanmasini saygisizlik olarak degerlendirenlerle karsilasiyoruz.
Herhangi bir teknoloji kullanimiyla para kazanmak, is kurmak isteyen herkesin saglikli bir tartisma kulturu yerlestirmesi gerekiyor. Cogunlugun mutlu olacagi kolektif kararlar uretmenin tek gecerli yolu herkesin ozgurce katildigi ve konustugu zengin tartismalar uretmektir.
Turkiye’de uretilen girisimlerin tipik sorunlarindan biri, fikirlerin saklanarak, yuceltilerek, gerceklik zeminiyle baglanti gelistirme bilincinden yoksun bir sekilde uygulanmaya calisilmasidir.
Tartismaliyiz ve kolay yem olmamaliyiz. Hakkimiz yendigi zaman, soz gumusse sukut altin falan degildir. Paylastigimiz pastadaki adaletsizlige, ev kirasi kadar gelistirici maaslarina, bircok parlak fikir mikro yatirim dahi alamazken yillarca kendini yuceltmekten ve Facebook’u kopyalamaktan baska ne yaptigi belli olmayan “sey”lerin milyonlarca dolar yatirim almasina, dunyaya yeni bir deger katmak gibi bir gayesi olmayan ama gunasiri yazilimcilardan sikayet eden kopyaci girisimcilere bir cift laf etmemek, susmak, altin falan degildir beyler ve bayanlar. Insanlarin yok sayildigi, haklarinin yendigi sirketler yerine daha adil, calisanlarinin hayatlarina katkida bulunmayi onemseyen alternatifler icin, daha cok tartismali ve kimligimiz, beklentimiz her ne ise, acik acik soylemeliyiz.
Bugun ABD’nin yazilim figuru Mark Zuckerberg ise, Turk yazilim sektorunu temsil eden figur de Turgut Ozal’dir. Absurd bir ornek gibi gorunebilir lakin, bir kulturel sorundan bahsedeceksek eger, 80 sonrasi girisimcilik ve basari kavramlarinin gecirdigi mutasyonu yok sayamayiz.
Seksen sonrasi Turkiye halki, insanlarin hayatina yeni bir fikir, yeni bir olumlu deger ve davranis kazandirarak para kazanmak yerine, bireysel olarak en kisa zamanda koseyi nasil donebileceginin pesine dusmeye basladi. Basari kavraminin ugradigi mutasyon, garanticilik, guvensizlik, ilkesizlik, kopyacilik ve inovasyon kitligi gibi sorunlar, toplumumuzun aydinlari tarafindan yillardir halka aktarildigi gibi, darbe sonrasi baslatilan degisimin sonuclari.
Sermaye sinifinda bu konuya donuk bir aydinlanma beklemesem de, fikirlerini girisime donusturme sansi bulan farkindalik sahibi yazilimcilarin yakin gelecekte global basari kavraminin icini dolduran girisimler uretecegine inaniyorum.
Kulaginiza klise geldiginin farkindayim, ama bu, bir yazilimin uretim surecinden keyif alan herkesin farkinda oldugu bir gercekliktir. Yazilim muhendislikten daha ote bir sanattir ve bunun farkinda olarak icra edenlerin belirli ozgurluklere, en onemlisi, uretkenliklerini ifade edebilecekleri bir ortama ihtiyaclari vardir.
Turkiye’deki uretimlerin genel karakteristigi ise yazilimcilara istedikleri tuvalleri saglayabilecek nitelikte degil. Muhendislerin pek cogununun yurtdisinda calismak istemesinin en baslica nedenlerinden biri de budur.
Turkiye’deki sermaye sinifinin dunyaya ve insana bakis acilari ve yaklasimlari baslibasina kulturel bir kanserdir. Bu konuda yazip cizdiklerinden gordugumuz gibi, bir sekilde kendilerini basarili gordukleri sektorun en temel gerceklerine olan hakimiyetleri ve farkindaliklari, ancak tasrali bir mahalle esnafinin Wall Street ile olan iliskisi duzeyinde. Hicbiri, ne global olarak, ne de lokal olarak birlikte yasadigi insanlarin hayatlarina bir deger kazandirma heyecanina ve cesaretine sahip degil.
Isverenlerin idrak sinirlarini asan bir baska gercek, calisanlarinin onlarin servetlerini genisletmek icin hayatlarindan her hafta 5 gun, 8’er saat vermesidir. Sahsen benim acimdan bugunku calisma saatleri kabul edilemeyecek kadar fazla ve dunyada hicbir sirket hayatimdan bu miktarda zamani calmayi haketmiyor. Hic kimsenin hayatinin bu derece buyuk bolumunun fiyati, ozellikle de Turkiye’de odenen maaslar olamaz. Lakin bu dusuncemin, insan hayatinin degerini degil mal ve mulklerini yucelten girisimciler tarafindan onemsenecegini hic zannetmiyorum.
Yasadigimiz kulturel aksakliklara yapilacak en etkili pansuman enternasyonel yazilim ekipleri kurmaktir. Aramizda uzakdogulu, amerikali, avrupali insanlarin olmasi hem bizi ici bosaltilan kavramlara ceki duzen vermeye zorlayacak, hem de dunya ile senkronizasyonumuz acisindan buyuk katkida bulunacaktir. Sili’deki startup programininin bu konuda oldukca iyi bir ornek oldugunu dusunuyorum.
Anadoluyu enternasyonellestirmeliyiz. Ornegin Antalya’nin Kas gibi guzel bir ilcesinde, veya Nevsehir’de, Mardin’de, Fethiye’de ofisi olan bir sirkete dunyanin her yerinden calisan bulabilecegimizi dusunuyorum. Bu tip guzel sanslarin oldugu bir sektorde herkes calismayi ister. Yurtdisina kacan isgucunun de bu sekilde elde tutulabilecegini dusunuyorum
Istanbul guzel oldugu kadar fazla miktarda problemleri de olan bir sehir. Ozellikle Izmir, Ankara, Antalya gibi genc profesyonellerin universiteden mezun olduktan sonra daha kolay adapte olabilecekleri sehirlerde de yeterli miktarda firsatlar yaratilmasi gerekiyor. Sirketlerin benim bilmedigim bir nedenden oturu Istanbul bagimliligi sozkonusuysa gelistiriciler icin ikinci ofislerin acilmasi veya evden calisma olanaklarinin gelistirilmesi gereklidir.
Daha fazla gelistirici etkinligine, bu etkinlikleri Istanbul disinda, Anadolu’nun temiz nefes alinabilinen yerlerinde yapmaya ihtiyacimiz var. Spesifik teknik konular veya hicbir fokusu olmayan oylesine gelistirici etkinlikleriyle en basta bahsettigimiz toplumsal jimnastikleri gelistiriciler icinde gerceklestirmemiz gerekli. Yazilim dunyasinin gelecegi maruz kaldigimiz sermayedarlar degil yazilimcilarin bizzat kendisidir. Startuplarin baslica sloganlarindan birini tekrar etmek gerekirse, bu buyuk para makinesinde guc en basta bizim elimizde.
Her yil meslek liseleri ve meslek yuksek okullari binlerce yazilim mezunu veriyor. Bu okullara baslayan ogrencilerin tamami da yazilimin gecerli bir meslek olduguna inanarak, buyuk bir hevesle okula baslayip, butun umutlarini yitirdikten sonra mezun oluyor.
Hem teknik lise hem de meslek yuksekokulu mezunu biri olarak bu konunun yakindan sahidiyim. Benden daha hizli algoritma problemleri cozen, basit bir cizim programinda harikalar yaratan bir sinif arkadasim en son konustugumda bir insaatta dozer operatoru olarak calisiyordu.
Isgucu konusunda sikintisi olan buyuk sirketlerin meslek lise ve yuksekokullarini degerlendirmesi gerekli. Endustrimiz icin bu okullarin altin madeni olmasi gerekirken bulunduklari sehre terkedilmeleri buyuk bir israf ve acimasizliktir.
Turkiye yazilim endustrisininin olumlu bir kulturel mutasyon surecine girmedigi muddetce gelecegininin bugunden farkli olacagini hic zannetmiyorum. Bay Area’daki firsatlarin ve uretimin dahi devamli bir tartisma surecine maruz kaldigi donemde “hersey yolunda, sorun yok” ilustrasyonlari yapmak ancak yapilmasi gereken tartismalarin ertelenmesine ve sorunlarin daha da derinlesmesine yol acacaktir. Konu herkes tarafindan ele alinmali ve her acidan talepler dile getirilmeli, daha katilimci tartismalarla kolektif sonuclar ortaya cikarilmalidir.
Bu blog yazisinda ABD’de calisma izni almak isteyen yazilimcilar icin yasadigim deneyimleri aktaracagim. Umarim “gerekli” oldugunu dusunenlere -ozellikle de benim gibi 4 yillik diplomasi olmayan arkadaslara- ulasir ve islerine yarar.
Yazinin birinci bolumunde okul ve askerlikle ilgili verdigim hatali kararlari ve bunlarin H1b surecini nasil etkiledigini anlatacagim. Bu bolumu biraz da askerlik problemleriyle ugrastigim donemi merak eden arkadaslar icin yazdigimdan okumadan atlayabilirsiniz. Ikinci kisminda neden daha is bulmadan ABD’ye geldigimi, ucuncu kisimda hazirlik surecimi anlatacagim. Dorduncu kisimda ise ABD’ye geldikten sonra ne yapilmasina dair oneriler paylasacagim.
Hizlica ozetleyeyim; ben teknik lise yazilim bolumu mezunuyum. Liseden sonra iki yillik bilgisayar teknolojilerine bolumune gecip 2007’de onlisans diplomasi aldim. Bunun ardindan bildiginiz gibi acikogretime gecis hakkimiz var, lakin ben 2 yil askerligi tecil hakkimi kullanip daha sonra acikogretime girersem daha zekice bir is yapacagimi dusundum o zaman. Boyle onemli bir karari arastirmadan verdigim icin acikogretimin ilk yilinda askerlik tecil hakki verilmediginden haberim yoktu.
Bu nedenle mecburen 2 yil sonra yeniden normal bir universiteye gitmek zorunda kaldim ve Istanbul’daki isimi birakip ailemin yaninda dondukten sonra DGS sinavina hazirlanip Izmir Yuksek Teknoloji Enstitusu’nun Fizik bolumune yerlestim. Ingilizce oldugu icin bu okulu tercih etmistim. Bu arada sinava hazirlanirkenki beklentim Bilgisayar Muhendisligi veya ITU Uzay Muhendisligi kazanmakti, girdigim butun denemelerde de iyi sonuclar aliyordum ama 2009’daki sinavda (bana gore saibeliydi) sorularin inanilmaz kolaylasmasiyla herkes full yapti ve okul puani one cikti. Benim de okul puanim dusuk oldugu icin ancak Fizik bolumune yerlesebildim.
Ozetlemek gerekirse, Acikogretim Iktisat ve Fizik bolumlerine ayni anda basladim, boylece AOF’nin ilk hazirlik yilinda da askerlikten kurtulmus oldum. Bir yil sonra AOF hazirlik sinifini gecince Fizik bolumunu birakip Istanbul’da tekrar bir ise girdim, bundan birkac ay sonra da ABD’ye gelme hazirliklarina basladim.
Bu baslik altinda benimle benzer durumdaki arkadaslara onerim bir sekilde en hizli yoldan 4 yillik diploma sahibi olmalaridir. Bu hem H1b icin gerekli (eger lisans diplomaniz yoksa onlisans + 3 yillik is deneyimi isteniyor), hem de master yapmayi dusundugunuz zaman onunuzdeki engel.
Sonuc olarak, 15 ay askerligi tecil ettirmek icin sarfettigim cabalarin hayatima en buyuk katkisi Istanbul’daki isimi birakip gerekli riskleri almami kolaylastirmasi oldu.
Bu sorunun birden cok yaniti var, benim takip ettigim yol ise buraya kendi imkanlarimla B1 vizesiyle gelip H1b olacak bir sirket bulmak. H1b konusunda deneyim sahibi olanlara gore aceleci ve acemice gorunmesi muhtemel olabilir lakin benim sartlarim acisindan en dogru olaniydi.
Askerlik sorunumu hallettigimde 23 yasindaydim ve is hayatima ABD’de devam etmek uygulamaya koymayi en cok istedigim plandi. Turkiye’deyken H1b sponsoru bulmak pek kolay bir is degil. Microsoft, Google gibi buyuk sirketlerle anlasmak gerekiyor. Bunun icin de iyi ingilizce, lisans diplomasi veya 36 ay is deneyimi gibi benim o donem sahip olmadigim ozellikler isteniyordu. San Francisco’da karsiniza kolayca cikacak firsatlar Turkiye’de birkac yilda bir iki defa cikiyor. Bu nedenle en sonunda is teklifi beklemeden, dogrudan buraya gelip, kalacagim 4 ay icinde bu isleri halletmeye karar verdim. Nitekim bekledigim gibi ikinci ay vize sponsorumu bulmustum, Turkiye’ye donerken de vize dosyam hazirlanmisti.
San Francisco’ya gelme hazirliklarina 25.000 Lira banka kredisi alarak basladim. Hemen bir vize randevusu alip bir yandan MultiplayerChess.com‘u gelistirmeye bir yandan da elimdeki parayla doviz ve altin alip satarak giderlerimi karsilamaya calistim.
Milli yatirimimiz oldugu icin altin konusunu biraz daha detaylandiralim. En kolay yoldan Garanti’nin internet subesinden altin alip satabilirsiniz. Piyasaya gore biraz daha ucuza alip pahaliya satar ama girdiginiz risk hesabinin yaninda bunun cok bir onemi yok. Altinin ben hazirlik yaparken yani 2011’in ilk aylarindaki egilimi dusustu ama Guney Kore ve Cin’de yapilan duzenli alimlar sayesinde belli bir ivmeyle dogrusal olarak yukseliyordu. Bu alimlarin 2011’de bitecegi kesin, zamani net degildi. O donem birkac gun sikica takip edip guzel bi sekilde yukseldigini gorunce butun parami altina yuklemistim. Sonuc olarak da vize islerini takip ederkenki masraflarimi epeyce karsilamami saglamisti o para. Size de ABD’ye varmadan once paranizi bu tip guvenli ve basit yatirim araclariyla -tabii ki dikkatli bir sekilde- degerlendirmenizi oneririm.
Paranizi degerlendirmenin yanisira zamaninizi da olabildigince iyi degerlendirmeniz gerekli. Bu nedenle kafanizdaki bir startup firkini hizlica hayata gecirmenizde fayda var. Lakin fikrinizin background’inizi guclendirecek nitelikte olmasina dikkat edin. Kendinizi tekrar edeceginiz hicbir sey yapmayin bu surecte. Butun zamaninizi hali hazirda uzmanliginizin oldugu alandaki modern problemleri cozmeye ayirin.
Vize randevusunu beklerken yapmaniz gereken bir diger onemli is ise randevuda size soracaklari sorulara iyi hazirlanmak. ABD’den vize almak zor bir is degil ama bu isi sansa birakmak da pek akillica olmaz. Hali hazirda ilginizi ceken bir konferansa (Orn. Google IO) bilet alip elinizde bir davetiye ile gidin vize gorusmesine.
Vize gorusmeniz basarili gectiyse, sonraki adim olarak gideceginiz sehirde kalacaginiz yerleri ayarlamaniz gerekiyor. San Francisco’daki en ucuz otel genellikle Kore’li ogrencilerin kaldigi O’Farrell caddesindeki Vantaggio oteldir. Gecen yil iki kisilik odalarin aylik fiyati 700 dolardi. Eger oda icinde banyo istemezseniz 500 dolarlik da odalari var. Gelmeden once muhakkak butun rezervasyonlarinizi duzgunce yapin ve dogrulayin, yoksa su an bir arkadasimin basina geldigi gibi tenderloin bolgesinde (San Francisco sehir merkezinin pislik icindeki suc orani yuksek kismi) kasvetli, dandik bir otele aylik 1800$ odemek durumunda kalabilirsiniz.
ABD’deki bir diger temel ihtiyaciniz ise yazilim yapmaya devam edebileceginiz bir ortam. Otelinizde, starbucks’larda bu isi yapacaginizi dusunuyorsaniz bundan suphe duymanizi oneririm. Aylik makul bir ucrete shared calisma ortami programlari olan NextSpace, HackerDojo gibi coworking organizasyonlarina uye olmanizi siddetle oneririm. Hem yeni insanlar taniyabileceginiz, happy-hours’lari olan sosyal bir ortama girmis oluyorsunuz hem de San Francisco’nun cok kotu isiklandirilmis kasvetli Starbucks’lari yerine, 24/7 acik, mutfagi ve toplanti odalari olan, guzel ve rahat bir ortama sahip olmanizi sagliyor.
San Francisco’ya geldikten hemen sonra LinkedIn ve Github profillerinizde ve CV’nizde gerekli updateleri yapin. Bu update’lerden en onemlisi tabii ki yasadiginiz sehri San Francisco olarak cevirip yeni telefon numaranizi yazmak olmali :)
Daha sonraki adim olarak background’inizin tuttugu sirketler ve buyuk sirketlerin calistigi recruitment firmalariyla temasa gecin. Eger onlar sizi bulmadiysa, bir mail gonderip kendinizi tanitabilirsiniz. Ozellikle recruitment firmalari size H1b sponsoru bulmak icin sasirtici bir performans sergileyeceklerdir.
Is aradiginiz surec boyunca hack night gibi hacker etkinliklerine mumkun oldugunca katilin. Bu hem network acisindan, hem sosyallesmek acisindan cok onemli. Bu tip etkinlikleri Twitter, HackerSpaces, Meetup gibi sitelerden bulup takip etmenizi siddetle oneriyorum. Ayrica Google’da Bay Area’ya gelen hackerlar icin hazirlanmis guide’lari aradiginizda da oldukca faydali kaynaklar bulabilirsiniz.
Gorustugunuz sirketler eger size vize almaya karar verirse bir recruiter araciligi ile yapacaklari teklifi iletecekler. Su an San Francisco’da normal hayat standardi icin gerekli yillik maas en az 80.000$. Ev kiralari 1300 dolardan basliyor. Bunun yanisira bir de 10.000 dolar civarinda relocation bonus’u alirsiniz. Bu arada tum bu kazanclarinizin yuzde kirkini devlete vergi olarak kesilecegini hatirlatayim.
3-4 aylik aktif bir eylem sureci sonunda background’inizin eslestigi bir firmayi bulmaniz epey muhtemel. Sirketiniz sureci avukata yonlendirdikten sonra yapmaniz gereken tek sey istedikleri belgeleri temin etmek ve basvuru surecinin tamamlanmasini beklemek. Bu bekleyis sirasinda bol bol gezmenizi ve Yosemite’de kamp kurmanizi siddetle tavsiye ederim.
Sorularinizi ve onerilerinize acigim. E-mail yoluyla, veya baskalarinin da faydalanmasi icin comment veya blog basliklari olarak paylasirsaniz vaktim yettigince yanitlamaya calisacagim.
Asagidaki baglantilarda gecen yazismalarda konuyla ilgili daha fazla oneri ve yorum bulabilirsiniz;
Functools is a minimal JavaScript library that provides functional programming utilities for manipulating functions and collections both synchronously and asynchronously. I’ve been developing and using it in my almost all projects and want to show you how I avoid nested callbacks using it.
Function composition is the first technique (and my favorite one) that I’ll explain. To give an example for it, assume that we want to find all HTML files in a directory, read their content and send them to a friend via e-mail.
// sendEmail.js
function findHTMLFiles(path, callback){
implementation++;
}
function readFiles(filenames, callback){
implementation++;
}
function sendToAFriend(files, callback){
implementation++;
}
You may notice that the last two functions above take what its previous function produce, with no need of any modification. Which makes them pretty suitable for function composition:
var compose = require('functools').compose;
compose.async(findHTMLFiles, readFiles, sendToAFriend)('/home/me/docs', function(error){
if(error) throw error;
console.log('OK :)');
});
Looks much simpler compared to a regular code with 3 nested callbacks. Function composition may also remind you method chanining.
Second technique I would like to mention is juxtaposition. Functools has both sync and async implementations of juxt. Even if you haven’t used it yet on your projects, I think following example will be enough to give the whole idea of it:
function foo(callback){
setTimeout(callback, 100, 'foo');
}
function bar(callback){
setTimeout(callback, 250, 'bar');
}
function qux(callback){
setTimeout(callback, 50, 'qux');
}
So, we have the assume async functions above and need to take all the content of them in a minimalistic way;
var juxt = require('functools').juxt;
juxt.async({ 'foo':foo, 'bar': bar, 'qux': qux)(function(error, results){
if(error) throw error;
assert.equal(results.foo, 'foo');
assert.equal(results.bar, 'bar');
assert.equal(results.qux, 'qux');
});
Other powerful tools I like using are map, filter and reduce functions. As you expect, both sync and async implementations of them exist in Functools.
To give an example for map and reduce, assume that we have a list of filenames and want to merge the content of them. Here is the implementation using Functools:
var functools = require('functools'),
map = functools.map,
reduce = functools.reduce;
var filenames = ['/home/me/docs/foo', '/home/me/docs/bar', '/home/me/docs/qux'];
function readFile(path, callback){
implementation++;
callback(undefined, content);
}
function merge(a, b){
return a + '\n' + b;
}
map.async(readFile, filenames, function(error, contents){
var all = reduce(merge, contents);
console.log(all); // puts foo\nbar\nqux
});
To summarize, Functools has async implementations of some powerful functional programming tools that can let us avoid nesting callbacks.
There are more examples at the homepage of Functools. Besides of the documentation of it, you may also take a look at Combiner, a command-line tool and library for finding and manipulating files. It’s based on a middleware that lets us initialize different layers of map and filter functions.
It would also be very helpful to check the source code of Functools itself. You’ll notice that it uses map and reduce functions a lot, to implement its remaining functionalities.
Please feel free to share your thoughts, recommandations and examples.
“Just because something is a standard doesn’t mean it is the right choice for every application. Like XML, for example.” — Douglas Crockford, JSConf.eu
Imagine a universe that is growing instantly with an environment that includes the necessary resources and basic means of production for its people who live peacefully without borders, governments or militaries. As a result of this, everything is free and all production devices are under control of all humanity, which means a vast increase in production. Additionally, the imagination-universe provides teleportation that makes it easier and faster to distribute/obtain products. Sounds so cool, doesn’t it? I’m talking about the web, we invented a kind of a universe which includes a teleportation network by default! Everyone has access to free production tools (thanks to the FSF movement) and can distribute them to the entire world, for almost free. The only problem that we couldn’t solve is that we have to design our products for old teleportation clients since most of the people are not aware of modern teleportation tools because they prefer to live in private property of a genius Richie Rich.
Even though I’m pretty happy to see the great technical effort on the future of Microsoft Internet Explorer, it’s a disappointment to see that there is still nothing improved about the business approach of Microsoft that seems to believe that they can act like an oil company, posess and control all of the production devices. This is why I’m still not excited about Internet Explorer 9. This may sound like as if I’m a fan of an any other web browser embracing more social business models (BTW My browser choice is UZBL) but I’m actually pretty ok with the technical approach of Microsoft. I’m following IEBlog for years and learning lots of things from the posts about their development experiences, also think that MSDN (Compare it with Apple’s mysterious reference pages) is one of the great resources for web developers. The only thing to which I oppose is business models of Microsoft products.
On the other hand, Internet Explorer isn’t the only proprietary browser which belongs to a commercial company, we have Safari and several mobile web browsers, too. The only difference between the IPhone’s mobile browser and Internet Explorer 6 is that IPhone ones rendering engine is a little better, not much. Distribution methods -even though Webkit is open source, it’s not perfect)- are almost same, except the companies are different. Most of the mobile browsers are IE6 candidates to me.
To summarize, the main issue about the web is whether to take the advantage of modern distribution methods or not. Even if all of the web browsers follow the web standards, we will continue to lose time for the software playing catch-up since implementation times differ between months and years. In my opinion, all of the rendering/javascript engines should be open source, able to update itself automatically and totally independently from browsers. This is what the web needs immediately.
Many thanks to Yusuf Arslan for reading draft versions of this.
vim: tw=100
“I have been writing JavaScript for 8 years now, and I have never once found need to use an uber function. The super idea is fairly important in the classical pattern, but it appears to be unnecessary in the prototypal and functional patterns. I now see my early attempts to support the classical model in JavaScript as a mistake.” — Douglas Crockford
“It’s better to have 100 functions operate on 1 data structure than to have 10 functions operate on 10 data structures” — Alan Perlis
Ubuntu 9.10 was the distro I had been using for 10 months with AwesomeWM until my Arch Linux migration on last week. I started the migration by moving my development environment to the VPS located in Linode servers firstly, configuration of the hardware and desktop environment followed this step. During the configuration I noticed that most of the widgets in the AwesomeWM wiki doesn’t work with latest release. I took this situation as a sign from the Gods of computer world to start learning Lua and read Programming In Lua book which is available to read online for free. A little training that took just 3-4 hours made me available to code a volume control widget for AwesomeWM. Here is the code:
------------------------------
-- Volume Widget For AwesomeWM 3.4
-- Azer Koculu <azerkoculu@gmail.com>
-- Wed Apr 7 01:34:35 UTC 2010
------------------------------
local widgetobj = widget({ type = 'textbox', name = 'volume_widget' })
local channel = "vmix0-outvol"
local function increase()
awful.util.spawn("ossvol -i 3")
update()
end
local function decrease()
awful.util.spawn("ossvol -d 3")
update()
end
local function update()
local fd = io.popen("ossmix " .. channel)
widgetobj.text = 'VOL' .. fd:read("*all"):match("(%d+%.%d+)")
fd:close()
end
local function mute()
awful.util.spawn("ossvol -t")
end
widgetobj:buttons(awful.util.table.join(
awful.button({ }, '4', increase),
awful.button({ }, '5', decrease),
awful.button({ }, '1', mute)
))
--[[
globalkeys = awful.util.table.join(globalkeys,
awful.key({ }, "XF86AudioRaiseVolume", increase,
awful.key({ }, "XF86AudioLowerVolume", decrease,
awful.key({ }, "XF86AudioMute", mute)
)
]]--
local utimer = timer({ timeout=1 })
utimer:add_signal("timeout", update)
utimer:start()
update()
volume = {
channel = channel,
widget = widgetobj,
increase = increase,
decrease = decrease,
mute = mute
}
return volume
I also coded an unnecessary wallpaper package without checking out man page of awsetbg, which provides randomizing already.
----------------------
-- Random Wallpaper Package For Awesome WM
-- Azer Koculu <azer@kodfabrik.com>
--
-- EXAMPLE USAGE
-- ------------
-- require "wallpaper"
-- theme.wallpaper_cmd = "awsetbg " .. wallpaper.pick( wallpaper.collect { "pics/wal1", "pics/wal2" } )
--
----------------------
local image_extensions = { jpg=true, png=true }
-- test whether given filename is an image
local function is_image(filename)
return image_extensions[filename:match("%.(%w+)$")]
end
-- gather images from the passed directories
local function collect(dirs)
local images = {}
for i=1,table.getn(dirs),1 do
local dir = dirs[i]
for file in io.popen("ls "..dir):lines() do
if is_image(file) then
table.insert(images,dir .."/".. file)
end
end
end
return images
end
-- pick a random item from given table
local function pick(t)
n = table.getn(t)
if n > 0 then
math.randomseed(os.time()+n)
el = t[math.random( n )]
end
return el
end
-- declare exports
wallpaper = {
extensions=image_extensions,
collect=collect,
pick=pick
}
return wallpaper
By inspiring from Lisp and the functional programming utilities came with Javascript 1.6, I’ve coded a new function to iterate arrays -especially for those containing DOM nodes- by providing an alternative fluent interface and chaining. Usage examples;
// log elements of an array
each( ['Hello','World'] )
(console.log)
// disable all form elements passing additional arguments
each( document.querySelectorAll('input, select, textarea') )
(setattr, 'disabled', true)
// apply header elements several dom manipulations
each(document.querySelectorAll('header'))
(style, 'fontSize', '16px Arial,sans-serif')
(style, 'background', '#ffff00')
(style, 'padding', '3px')
(add_class, 'Foobar')
(add_event, 'click', function(){ alert('Hello World') })
And here is the source code:
/**
* A Function Providing Lispy Iteration For Javascript
* @author Azer Koculu <azerkoculu@gmail.com>
*/
var each = function(list)
{
var caller = function(fninitial)
{
var cargs = Array.prototype.slice.call( arguments, 1);
var func = function(el)
{
var args = [ el ];
Array.prototype.push.apply(args,cargs);
fninitial.apply(null, args);
}
Array.prototype.forEach.call( list, func );
return caller;
}
return caller;
}
The function defined in the code above simply returns a function returning itself and taking a function with optional arguments to call it by passing the element being iterated and the optional arguments specified. Thus, the high-order-function I’ve pointed make the iteration chainable, as well.
P.S: Functional module of the new web framework I’ve been working on provides some similar tools with much better implementation, which are available to be checked out;