Useful Idioms (for Developers and Startups)

Lists for technical terminology exists on the net. However I couldn’t find one which is curated for startup or software development perspective. My best example is “technical debt”. Please suggest your favorite idioms! Technical Debt: It is like financial debt. Used for technical solutions that are fast and easy now. But you have to pay later(maybe with interest) http://stackoverflow.com/questions/1258775/what-is-technical-debt Hype: Something that is overrated by media or people when in fact it isn’t beneficial that much.

Yazılım, "hype" ve "FUD"

Bloga, Güray dostum yorumunu yazdıktan 1 sene sonra devam ediyorum 🙂 Son yazıda PHP’den bahsetmişim. Aslında PHP’yi çok kullandığım söylenemez. Benim için PHP’yi ilginç kılan şey yazılımla ilgili verilecek kararlarda üretkenliği önemseyenler için güzel bir örnek olması. Bu konuyu biraz açmak istiyorum öncelikle bakınız: http://blog.mailchimp.com/ewww-you-use-php/ Bir dilin Silikon Vadisi’nde ne kadar konuşulduğu, övüldüğü veya yerildiği, o dilin Silikon Vadisi’nde bile ne kadar kullanıldığının göstergesi değildir. Kod yazmaktan tartışmalara katılamayanlar vardır belki de… Bir projede kullanılacak dil veya ekosistem seçilirken bir çok mantıklı kriter göze alınabilir:

PHP'nin geleceği?

PHP ekosisteminde kütüphane/paket sistemi 2011’de packagist ile başlayabildi. Ruby’de bu tür bir sistemin(gems) 2003’de başladığı düşünülürse hayli geriden başladı. Ancak: -PHP dilinde ve ekosisteminin yavaş da olsa gelişmesi -Devasa kullanıcı sayısı, -PHP ile site yapmaya başlamanın örneğin Ruby’ye, Python’a göre aşırı kolay olması, -Wordpress gibi kemikleşmiş projeler, PHP’nin hiç bitmeyeceğini düşündürüyor bana. Resim kaynağı: https://packagist.org/statistics

Design Then Code

"…it is easier to make changes to a design document than it is to the code." This quote is from an interview with lavabit founder Ladar Levison (1). There is a very important dynamic in software engineering. Ambiguous, ever-changing scope and functionality make coding a lot harder and time-consuming. Personally, in my most effective coding sessions I can remember, I had a clear design and objective and I was only writing code to comply my own rules & API, at least between specific versions.

OAuth2: The standard that isn't

For the technologies I built on, I try to find the most decent thing with promises for today and the future. So if you are like me and want to create an API, you will come across with OAuth2. OAuth2 had seemed to me a great innovation given the fact that Google, Facebook, Github etc. uses OAuth2. I was wrong. Yes standards are beautiful, but OAuth2 isn’t really a standard. Google and Facebook uses different implementations and OAuth2 specification permits this.

Strategy for rolling out a new feature

Quote: Write code that can write to Cassandra in parallel to Mysql, but keep it disabled by the tool I mentioned above Slowly turn up the writes to Cassandra (we can do this by user groups “turn this feature on for employees only” or by percentages “turn this feature on for 1.2% of users”) Find a bug 🙂 Turn the feature off Fix the bug and deploy GOTO #2 In an interview Twitter developer Ryan King talks about how they plan to migrate their database system.

Deftere Yazmayan Bakkal (gerçek olay)

Bugün bir spotçuda duyduğum ibretlik bir olayı anlatayım. Bilginin nereden geleceği belli olmaz değil mi? Bakkala bir gün bir teyze gelmiş. Deterjan için parası yetmeyince “deftere yaz getireceğim” demiş. Bakkal “olsun teyzecim hediye olsun” demiş. Teyze ısrar etmiş. Bakkal ısrar etmiş. En sonunda bakkal deftere yazmamış ve teyze çıkmış. Şaşkınlıklar içinde, bakkalın arkadaşı sormuş: -“Teyze ısrar ediyordu ne güzel ödeyecekti. Neden kabul etmedin?” Bakkal cevap vermiş: -“Siz ticarette tecrübeli değilsiniz. Ben ne paralar kaybettim.

Öğrenmek Üzerine

“Öğrenmek ağaç büyütmek gibidir." Hemen açıklayım: -Çok stresli bir sürü işle uğraşıyorsanız yeni şeyler öğrenmek çok zordur. Toprakta boş alan gerekir. -Kesinlikle zamana ihtiyacı vardır. Daha hızlı ve güçlü büyümesini sağlayabilirsiniz, belli bir dereceye kadar. -Düzenli çalışmaya(oynamaya), tekrara ihtiyacı vardır. Ağacı özellikle fidanken uzun süre sulamazsanız kurur. -İlkin daha zor ve günlük öğrenilen bilgi çok daha azdır. Bilgi arttıkça öğrenmenin hacmi de genişler. Büyük bir ağaçta yaprak çıkabilecek daha çok nokta vardır.

Sakin Flaubert'ten Dersler

Flaubert, 5 yıl uğraşıp edebiyat tarihinde önemli yeri olan “Madam Bovary” romanının yazmış. Romanı tavsiye etmekle birlikte Flaubert’ten alınacak bir ders görüyorum. Demiş ki:-“Soyez réglé dans votre vie et ordinaire comme un bourgeois, afin d'être violent et original dans vos œuvres.” Yani, (ingilizcesinden) çevirirsek: “Hayatında sıradan ve düzenli ol, böylece işinde şiddetli ve özgün olabilirsin." İnsanın içindeki heyecan arayışı, adrenalin bağımlığı, savaşma ve direnme duygusu, ilerleme tutkusu, tycoon oyunu psikolojisi, insanlara bungee jumping yaptıran şey vb… bu enerji insanın bir şeyler başarması, evrende bir iz bırakması için elzem.

Küçük Başlamak

Varsayalım ki girişimci olmak istiyorsun. İnsanlar için değer üretecek bir sistem kurup, bu değer için para vermelerini sağlayacaksın. Hatta belki bir gün bu sistem o kadar güzel işleyecek ve o kadar çok insana hizmet sağlayacak ki (sahilde) oturduğun yerden para kazanacaksın. Öyleyse bekleme. Değer üretmeye, hemen yakınından başla! Ailenden, arkadaşlarından, yakın çevrenden… Yeniliklerden haberdar et, onların hayatını kolaylaştır, hayatlarını daha zevkli hale getir, anlam kat, değer üret! Öğren, bakalım onların ne gibi ihtiyaçları var?