Bizimkisi bir Geek Muhabbeti

codingDaha önceki yazımızda geek kültürüne değinerek geek çeşitlerinden bahsetmiştim. Yeni tekno şirketlerde (Startup) en çok yanlış anlaşılan bir konu olduğu için bu konuya kültür zaviyesinden devam edeceğiz.

İlk öncelikle şunu belirtelim, yeni tekno şirketlerin de suyu çıktı. Her yerden startup firmaları fışkırıyor, çoğu da batıyor zaten. Konferanslara katılabilmek artık bir mesele haline geldi çünkü çok pahalı. Yeni bir startupın $550 lık San Francisco’daki bir startup etkinliğine (örn: Startup Grind 2015) katılmak istemesi bir fırsat gibi dursa da aynı zamanda bir zaman ve para israfına yol açabiliyor.

Siz bunun üzerine uçak, otel, araba ve yemek masraflarını da ekleyin $1200 civarında bir rakam tutuyor. Arkansas eyaletinden San Francisco’daki bir etkinliğe katılabilmem için 2 uçak değiştirmem gerekiyor. Bazıları yurt dışından geliyor, sebebi ise gerçekten de çok iyi bir network sağlamaları olarak gösteriliyor. İyi güzel de etkinliklerin bu kadar çok fazla nakit tutması kendisiyle çelişiyor. Artık startup etkinlikleri startupların kendisinden çok daha fazla para kazanıyor.

Konferanslarla network oluşturmak iyi bir fikir ama çok fazlası bayıyor. Biraraya gelip sektörün heyacanını paylaşmak elbette güzel şeyler lakin sizin tutkunuzu devam ettiren eninde sonunda kendi iç motorunuzdan başkası olmuyor.

 

coding-nailGeek Muhabbeti

Artık eskisi gibi Steve Jobs hikayeleri yerini farklı hikayelere bıraktı. Garaj hikayelerini duyabilme olasılığınız azaldı çünkü artık Bulut Sistemleri (Cloud) sizin fiziksel sunucu ihtiyacınızı gideriyor. İnternet site fikirleri de kendini mobil uygulamalara bırakmış durumda. Tasarımlar değişti, sıfırdan tasarım yapmak yerine Bootstrap ile hazır javascript ve css ler ile hızlıca bir şablon çıkartabilirsiniz.

Yazılım çatıları XML’i bırakmaya başladı. Maven derleme (build) halen çok kullanılsa da Gradle son zamanlarda ön plana çıkmaya başladı. Gradle‘ın aslında eskinin Ant Build platformu olduğunu keşfettiğinizde onların XML’den nasıl texte geçiş yaptığını kaynak kodlarına bakarark şaşırabilirsiniz. Dolayısıyla Spring Java projeleri Spring MVC’den Spring Boot‘a geçti yani aynı paralelde Maven‘dan Gradle‘a geçiş oldu. Bugün Google’un delice desteklediği Android Studio‘nun da Gradle Build kullanması tesadüf değil.

Artık eskisi gibi jar araştırmanız da gerekmiyor, Gradle build text dosyasına sadece jarın adresini yazmanız sizin ihtiyaç duyduğunuz jar dosyalarını yüklettiriyor. XML’den texte geçişin başka bir ispatı son zamanların popüler yazılımı Couchbase‘dir. MongoDB‘den 10 kat hızlı olduğunu iddia eden No-SQL Server Couchbase verilerini json formatında saklıyor. Json da bildiğiniz gibi zaten text dosyası oluyor.

Bugün artık Facebook, Twitter, Instagram, Foursquare aklınıza hangi sosyal firma geliyorsa hepsinin API’leri REST tabanlı json formatında. PHP, Java, Phyton dilleri artık REST mimarisine ayak uydurmak zorunda. Bundan dolayı Github’da büyük firmaların Java veya PHP kütüphanelerini bile artık dışarıdaki gönüllü geekler yazıyor. Github yazılımcıların kutsal mekanı gibi bir şey oldu. Projeniz için örnek çalışmalar orada. Siz Uber’i ve Airbnb’yi paylaşım ekonomilerine örnek gösteredurun bence son zamanların meşhur paylaşım çılgınlığının en son geldiği nokta burasıdır.

Aynı şeyi Stackoverflow için söylemek te mümkün. Şahsen Android kodlamayı Stackoverflow daki forum tartışmalarına bakarak öğrendim. Github ve Stackoverflow geeklerin Mekkesi gibi bir şey artık. Orayı tavaf etmeyen, paylaşmayan, kullanmayan ayıplanıyor. Oraları duymayanlar ise yazılımcıdan bile sayılmıyor. YouTube da yazılımcılar için çok iyi tutorialler barındırıyor. Pek çok şeyi görsel olarak oradan öğrendim.

Spring Boot‘a değinmişken, artık server ve web aynı mimaride buluşuyor çünkü Spring Boot aynı anda hem executable jar oluyor hem de REST mimarisiyle size web yazabilmenize olanak veriyor. Tabii isterseniz Spring Boot‘da projeniz için bir REST API da yazabilirsiniz. Spring Boot’un en güzel tarafı JUnit Test ile çok uyumlu olması. Bütün fonksiyonlarınızı ilk önce JUnit ile teker teker test edip çalıştığından emin olabilirsiniz ondan sonra ürünün kendisine ekleyebilirsiniz.

Spring Boot‘un kanımca en güzel özelliklerinden biri de Web tarafında Thyemeleaf Template Enginelerle çalışabilmesi. Artık JSP terkedilmeye başlandı, onun yerine html uzantılı Thyemeleaf Template’ler JSP’nin yaptığı her şeyi yapabiliyor. Thyemeleaf’in güçlü layout ve fragment’lerini keşfettiğinizde html sayfanızın ne kadar sade ve güçlü olduğunu müşahede edip benim gibi kendinizden geçebilirsiniz. Layout’larınızı ve çatınızı bir kere oluşturdunuz mu müthiş bir hız kazanıyorsunuz.

Arkansas’ta çalıştığım şirkette önceden Server için Spring MVC+Maven, web için ise PHP kullanıyordum. Artık mimariyi değiştirdik, her şeyi aynı çatı altına topladık. Spring Boot + Gradle + REST + JUnit + Thyemeleaf + Web + Bootstrap entegrasyonu yaparak güçlü bir alt yapı kurduk. Yakında Android ve iOS için ihtiyaç duyduğumuz REST API’leri de burada yazacağız. Bu şu demek, eskiden bir war dosyasını bir web serverın altına koyuyordunuz ve java deamonlarınız da ayrıydı.

Şimdi Web Server’ları tek bir executable jarın içine yerleştiriyorsunuz. Sonuç olarak hem Serverınız için executable jar oluyor hem de REST+Web oluyor. Spring Boot şu an henüz ilk devirlerini yaşıyor, yakında Spring Tool Suit’in içine wizard koymaları söz konusu. Yani o kadar yeni ki henüz wizardını bile yapmamışlar, pek çok şeyi kendiniz manual olarak oluşturuyorsunuz.

Diyelim Backend (Alt yapı) tarafını hallettiniz veya şöyle böyle ilerleme sağladınız, hiç vakit kaybetmeden işin mobil tarafına da el atın. Bence Android Studio‘yu şimdiden takip edin çünkü henüz çok yeni. Merak etmeyin mobil yarış daha yeni başlıyor, yani halen Android için hiç geç değilsiniz. Apple’ın iOS 8+ den itibaren Swift dilini çıkarması da ilginç bir tesadüf. Yani iOS için de geç değilsiniz, hemen bir iMac alıp öğrenmeye başlayabilirsiniz. Ben ikisine evde başladım bile, inanın çalıştığınıza değecek. Ancak dediğim gibi ilk önce alt yapı yazılımlarını öğrenmeniz sizi hızlandıracaktır.

Başka önemli bir gelişme de Google’un çılgınca desteklediği AngularJS kütüphanesidir. Geleceğin server ve client tabanlı çatı kütüphanesidir diyebiliriz ancak henüz çok yeni. JQuery yerine AgularJS’nin ileride kullanılacağı yaygın kanaat yine de geliştiricilerin alışması için zamana ihtiyaç var.  Kendi projelerimde henüz kullanmadım, yine de kafamın bir köşesinde tutuyorum.

 

geek_codingGeek Kültürü Oluşturmak

Yukarıda saydığım teknolojileri önceden ben de bilmiyordum. Başka geek arkadaşlarla muhabbet ede ede ve şirketteki projelerim için uygun teknolojiyi ararken başka geeklere sora sora öğrendim. Yani geekler geekleri etkileyerek startuplar veya normal firmalar için önemli bir kültür oluşturur. Hatırlıyorum da çalıştığım şirketten ayrılıp startup işlerine girmeyi düşünüyordum, öyle olsaydı belki de konferanstan konferansa koşup bunları öğrenemeyecektim.

Bundan dolayı startup fikrinizi oluştururken geeklerle tanışın. Yapabilirseniz kendiniz bir geek olun. Startup organizasyonlarını takip ederek başka geeklerle tanışın. Piyasada hangi firma var, teknik ihtiyaçlarını hangi yollarla karşılıyorlar, hangi teknolojileri ne için nasıl kullanıyorlar, bu tarz muhabbetlere girin. Başka startupların başarılarını ve başarısızlıklarını konuşmak öğrenmek önemli olsa da geek kültürünü yakalamanız daha önemlidir.

Couchbase, Spring Boot, Gradle, Android Studio, Thyemeleaf ve Bootstrap gibi son zamanların önemli popüler platformlarını geeklerden duyduktan sonra öğrendim. İş yerinde veya evde hemen küçük bir uygulamasını yaparak ne işe yaradığını ve nasıl çalıştığını anlamaya çalıştım. Şunu unutmayın Steve Jobs dünyanın en ünlü geek arkadaşı Steve Wozniak ile tanıştıktan sonra hayatı değişti!

Özetle şunu söylebiliriz, startup oluşturmak işin en kolay tarafı önemli olan geek ortamı oluşturabilmek. Amerikan Hükümeti bile Silikon Vadisi gibi saçma sapan fikirlerle uğraşmıyor, onun yerine geekler yetiştirmeye çalışıyor.

En çok sevdiğim startup organizasyonu Hackaton’lardır. Türkiye’de o kadar çok startup etkinliği olmasına rağmen Hackaton olmaması tam bir vaka. Geek kültürünün en çok geliştiği, geeklerin birbiriyle etkileşime geçtiği en önemli etkinlik türüdür Hackatonlar. Acilen Türkiye’nin geek etkinliklerine eğilmesi gerekiyor.

Yok eğer bunları yapmıyorum diyorsanız $550 lık startup etkinliklerine katılarak onları zengin edebilirsiniz. Madem kendi netiliğinizi zenginleştirmiyorsunuz bari birileri zengin olsun, di mi?

2 thoughts on “Bizimkisi bir Geek Muhabbeti

  1. Abi yazını keyifle okudum. Belli bir kısma kadar yeni olan dil ve bilgileri tam anlamadım. Hala çok istiyorum bu dilleri öğrenip birşeyler yapmak.Ama bir başıma, Manisa gibi bir yerde olmuyor malesef. 😦 Yazı ve yeni bilgiler için teşekkürler..

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s