Kod Yazmayı Nasıl Öğrendim?

Son zamanlarda en çok karşılaştığım sorulardan bir tanesi bu. Aslında cevabı biraz karmaşık. Bu yüzden mümkün olduğunca genel ve yönlendirici bir cevap vermeye çalışacağım.

Öncelikle, bir girişimci açısından neden bir programlama dili öğrenilmesi gerektiğine dair bir yazım var, ona da bakmanızı tavsiye ederim. Linki burada.

Kopukluklarla dolu birkaç dönem halinde anlatacağım mecburen, aslında konunun karmaşık olması bundan kaynaklanıyor. İlk zamanlarımdan başlayayım:

1- Emekleme

Bölümlere durum açıklamasıyla başlayayım diyorum. Durum kabaca şu: 12 yaşındayım, Van’da ilkokula gidiyorum. Aile memur olunca il il geziyorsun tabii, Van depreminde yıkılan bir sitede 4. katta koca bir boşluğa bakan bir evde dandik bir bilgisayarım var. PERL diye bir şey gördüm, babam sağolsun bir kitabını almış, biraz bakınayım diye açtım okumaya başladım.

O zamanlar atari salonları vardı. Bildiğim bir atari salonu yok tabii Van’da, ama Van’ın hemen öncesinde Ankara’da çok gitmişliğim var 8–11 yaş aralığında. Atari salonu uygulaması yazsam nasıl olur acaba dedim, başladım yazmaya. Tabii konsol uygulaması, grafik arayüzü falan yok.

Uygulama açıldığında kullanıcıyı karşılıyor, selamlaşma bittikten sonra adını öğreniyor, adıyla bir daha selam veriyor uygulama. Böyle de nazik uygulamalar yazarım. Nitekim bu nezaket sadece selamlaşmada kalıyor, ardından kullanıcıdan para istiyorum. Ödeme sistemim yok elbette, elden alıyorum parayı. Jeton yüklüyorum, açmak istediği oyunu soruyorum. Kullanıcı oyunu seçtikten sonra yine ben devreye giriyorum, bilgisayarda o oyunu açıyorum. Orasını kod yapmıyor ne yazık ki.

O zamanlar Google’ın yeni yayılmaya başladığı Facebook’unsa henüz ortalarda olmadığı zamanlar, ben de mentorsuz bir başımayım, haliyle yaptığım maksimum uygulama bu. Sıkılıyorum tabii bir yerden sonra.

O zamanlar Erdal isminde çok yakın bir arkadaşım var. Ayakkabı boyacısı. Ben de sarıyorum ayakkabı boyası işine, bir sandık edinip çıkıyorum ayakkabı boyamaya. Kazandığım paranın tümünü Erdal’a veriyorum. Hesap kitap işlerini yapmayı severim, o anda aklıma geliyor PERL ile bir şeyler yazabileceğim.

Eve gidip bir de ‘ayakkabı boyacısı mini muhasebe uygulaması’ yazmaya soyunuyorum. Soyunuyorum dediğim, pijama var üstümde. Daha ilerisine henüz geçmedim.

Uygulama, adından da anlaşılacağı gibi ne kadar para kazandığımı girebildiğim ve bana ‘tebrikler, bugün bu kadar kazanmışsın’ diyen basit bir konsol uygulaması. Kendini tatminin boyutlarını anlatamam.

Gelgelelim, kodlama serüvenim yaklaşık 1 seneliğine bu noktada kalıyor. Bir daha PERL’e hiç dokunmadım o gün bu gündür, daha da dokunmam diye umuyorum.

2- Adım Atmaca

Durum şu: Yaş olmuş 13, en son yazdığım kod üzerinden 1 sene civarı geçmiş. Elime her nereden geldiyse bir Delphi 5 Kitabı geçiyor. Hatta biri Vanlı olan iki profesör tarafından yazılmış bir kitap, her nasılsa aklımda o kadarı kalmış.

Yer Kocaeli, ortaokul son sınıfa gidiyorum. Bir yandan da lise giriş sınavlarına hazırlık söz konusu. Sonrasında bir şekilde Kocaeli Körfez Fen Lisesi’ni kazanıyorum, ama tabii deneme sınavları falan yerlebir. Tahmin edin neden…

Delphi 5 kitabını ilk gördüğümde aklımda hiçbir fikir uyanmadı malesef, kitabı görür görmez Mark Zuckerberg’e bağlamadım yani, öyle bir durum yok. O çok daha sonralara denk geliyor.

Kitabı biraz karıştırdıktan sonra, orada gördüğüm örnek uygulamaların aynılarını yapmaya karar verdim. Ne işe yaradıkları hakkında en ufak bir fikrim olmayan kodlar yazdım bir süre. Fonksiyon ne demek bu kitapta öğrendim, çok da iyi öğrenememişim sonraları anladım.

Adamlar güzel yazmış, iki dinleyici arasında chat yapmaya yarayacak uygulamalara kadar girmişler. Ben de arka odadaki babamla chat yapabilmek için yanıp tutuştuğum için hemen bir tane de kendime yapayım istedim.

Kitapta yazılanları aynen uyguladım, çalışmadı. Koda bakıyorum, kitaba bakıyorum, adım adım tekrar tekrar ilerliyorum, bir değişiklik yok. İlk hatamı orada gördüm. Bug’dan bahsetmiyorum, bildiğimiz error gördüm orada ilk defa.

Tabii kitapta ‘hata ayıklama’ diye bir bölüm var. Ben nereden bileyim bu abilerin bahsettikleri hatanın benim karşılaştığım error olduğunu. Nasıl olduğunu şimdi hatırlayamadığım bir şekilde çözdüm, uygulamayı çalıştırdım. Küçük dağlarla ilgili çok şey hissettim o sıra.

Sonra dedim ben bunu yapıyorsam kesin kendi uygulamalarımı da yapabilirim. Sonra tabii kalktım okula gittim 🙂

O sıralar sınava hazırlanmama yardım eden bir abi vardı, bana matematik çalışmanın güzel taraflarını göstermişti, bu sebepten kendisine minnettarım.

Bu bahsi geçen abi ile ilk çalışmaya başladığımızda bana birkaç A4 vermişti. Araba değil, kağıt olan A4. Bu birkaç A4 kağıt içerisinde rastgele sıralanmış dört işlemler yazılıydı, sonuç kısımları boştu. Zaman tuttu, benden en hızlı şekilde bütün soruları çözmemi istedi.

Durum böyle olunca, bir sonraki uygulamamı düşünmem pek de zor olmadı: Matematik çalıştırma uygulaması yapacaktım!

Açtım Delphi kitabını, o sıralar Delphi 6’ya geçmişti zannediyorum, açtım kod yazmaya başladım. Birkaç gün başından kalkmadığımı hatırlıyorum. Sonrasında arayüzü düzgün, yapması gereken işi yapan, kendi kendine çalışabilir, başı sonu belli bir matematik çalıştırma uygulamam olmuştu. Küçük dağlara dair hislerim değişmedi, aksine kabardı.

Bu bahsi geçen uygulamayı daha sonra iPhone uygulaması olarak yazdım, hiçbir işe yaramadı tabii orası ayrı. Ama yazdım.

Sonra liseye gittim. Lise hayatım boyunca kod yazmadım. Herhangi bir şekilde koda dair de bir şey yapmadım. Hemen hemen konuya dair bildiklerimi unuttum gitti.

3- Yaşam Mücadelesi

Bir şekilde o lise bitti. Nasıl bittiğini sormayın, ben de bilmiyorum işin o kısmını. Ama lisenin bittiğine sevindiğim kadar pek az şeye sevinmiş, üniversite sınavından çıkışta uzun zamandır kullandığım biricik uçlu kalemimi kırmıştım.

İstanbul Üniversitesi’ni kazandım. Okumayı sevmiyorum zaten, okumayacağımı başından beri biliyordum, hala okulu bitirmemem o yüzden.

Ben üniversiteyi daha çok bir ‘derslerden kaçış’ olarak gördüm, bir hayli rahatladım. 2008 senesine kadar yine herhangi bir kod yazma girişiminde bulunmadım.

Sonrasında yaşam mücadelesi patlak verdi. Kirayı bir şekilde ödüyordum, ama yapmak istediklerimi bir türlü yapamıyordum, zira para yoktu. Ben de girişimci oldum.

Sağda solda ufak tefek işlere girdim, tasarımcı olarak çalıştım, hakkında fikrim bile olmayan Photoshop ve Flash dersleri verdim. Bu derslerin en büyük katkısı öğretmeyi öğrenmek oldu, onun sonra çok ekmeğini yedim, ona geleceğim.

Bir yandan ufak tefek işlerde çalışırken, öte yandan kendi kendime bir web sitesi geliştirmeye karar verdim. O zamanlar deviantart popülerdi, şimdi o kadar popüler değil. Deviantart benzeri bir site yapabilir miyim acaba diye düşündüm, kodlamaya başladım. İsmini de çok aşırı orijinal bir şekilde ‘Sapkın Sanat’ koydum.

Beceremedim.

Ama istediklerimi yapmanın başka bir yolu olmadığına dair fikrim daha da netleşti.

O sıralar ismini Alex olarak hatırladığım bir arkadaş, bir internet sitesi kurmuş, üstündeki pikselleri tanesi 1 dolardan satarak 1 milyon dolar kazanmıştı. Ne mi yaptım? Bir site kurup piksellerini satmaya çalıştım.

Bağdat caddesine gittim, Fenerbahçe stadının ilerisinden başladım, oto galerilerinden girip, barlardan çıktım. İki günün sonunda gitmediğim mekan kalmamıştı ve cebimde toplam 250 lira vardı. Satış yapmanın gerçekte ne demek olduğunu o zaman öğrendim.

Aşırı derecede cin fikirli olduğumdan pikselleri komple satmamış, bir seneliğine kiralamıştım. Sonuç itibariyle sitenin toplam cirosu 250 lira olarak kaldı ve bir senenin sonunda siteyi kapattım.

Bu bir senelik süreçte sayamayacağım kadar çok proje düşündüm, bir o kadar not aldım. O aldığım notlar yıllar sonra bana Startup Weekend kazandıracaktı, bunu o gün bilmiyordum.

2008 sonu 2009 başı gibi Drupal ile tanıştım. Drupal 6 daha yeni yeni oturuyordu. Web sitelerinin ne kadar kolay yapılabildiğini görünce şaşırdım, üstüne gittim. Benim için fatura kesebilecek birkaç iyi arkadaş buldum, freelance olarak internet sitesi yapmaya başladım.

Drupal hakkında ne var ne yoksa bilmek istiyordum, oturup sırayla her şeyi yapa yapa öğrendim. Bu sırada ister istemez PHP bilgim de oturmaya başladı.

Müşteri bulmayı da bu süreçte daha iyi öğrendim, Almanya’dan Panama’ya birçok ülkeden müşteriler edindim, PayPal ile ödemeleri aldım, faturalarını arkadaşlarıma kestirip PTT ile kargoladım.

Bir yandan da Türkiye’de yeni yeni oluşmaya başlayan Drupal topluluğunda sağlam bir yer edinme çalışmalarına başladım. Drupal forumlarında her kim her ne sorarsa atladım, oturup mümkün olduğunca ayrıntılı cevaplar yazdım.

Bu sıralarda, kendime verdiğim bir haftalık bir izin sırasında, bir arkadaş forumlardan birine ‘Ulaş Can Cengiz Hocam, Nerdesinn????’ başlıklı bir gönderi girdi.

Bu gönderi öyle bir siteye girilmişti ki, Google’da benim adımı aratınca ilk sayfada üçüncü veya dördüncü sırada çıkmaya başlamıştı.

Bunlar olurken ben iPhone uygulaması geliştirmeye merak sarmıştım. O sıralar ortak çalıştığım bir abimin MacBook’unu o kullanmadığı zamanlarda ödünç alıp uygulamalar yazmaya başladım.

Gelgelelim, o bilgisayarını sürekli kullanıyordu. Ben de kodları kağıtlara yazıp bilgisayar geldikçe test etmeye başladım. O zamanlar iOS yazmak pek kolay değildi, API’leri pek gelişmiş değildi, iOS 4.3 zamanından bahsediyorum. Haliyle çok özel bir ilerleme kaydedemedim.

Bir gün bir telefon geldi. Bir şirket benimle görüşmek istiyormuş. Beni Drupal topluluğuna bakarken bulmuşlar, benimle Drupal geliştirici olarak çalışmak istediklerini söylediler.

‘Gelin Kadıköy’e görüşelim’ dedim. ‘Ulaş saçmalama, koca şirket ayağına mı gelecek, gel şuraya adam gibi’ dediler. Gittim.

İşe alınmadım.

Üç ay kadar sonra tekrar aradılar, gel başla dediler. Gittim başladım. İki sene kadar orada çalıştım. Önce Drupal developer olarak, sonra frontend developer olarak, sonra iOS developer olarak.

Geliştirdiğim projeleri şirkete satmaya çalıştım, ilk yatırım arama sürecimi de böylece yaşamış oldum. Satamadım, yatırım da alamadım.

Bu sırada iOS development sürecimi artık kendime ait bir Mac ile devam ettirebilir duruma geldim, bu beni bir hayli mutlu etti.

O süreçte ilk iPhone uygulamalarımı yazdım. Eve gidince haftasonları bir kuruş bile getirmeyeceğinden adım gibi emin olduğum tonla yan proje yaptım, yayına aldım.

Bunlardan bir tanesi, Diyetisyen, App Store Türkiye’de ücretsiz uygulamalar arasında genel sıralamada birinci sıraya yükseldi. iOS geliştirici olarak tanınmam o günlere denk geliyor. Olayın bir hafta sonrasında Tvyo çıktı, beni bir günde ikinci sıraya düşürdü. Sinirlendim, zaten bir gelir getirmeyen uygulamayı sildim.

İki seneyi bulan çalışma sürecim esnasında performansım üstlerimi pek de memnun etmemeye başladı, şirket küçülmeye giderken ilk işten atılanlardan oldum haliyle. Başıma gelen en güzel şeylerden biri buydu.

Sonra kendi yazılım şirketimi kurdum.

4- Overnight Success

Düğünüme 3 ay kala işsiz kaldım, kendi şirketimi kurdum. Cepte düğünü yapacak param olmadığından, satış konusundaki becerilerimi konuşturma zamanının geldiğini anladım.

Mitsubishi Electric Türkiye’nin mobil yazılım işlerine talip oldum, aldım.

O süreç öyle bir süreç oldu ki, hayatımda yapmam dediğim onlarca şeyi yapıp, üstüne kodlamayı baştan sona çatır çatır bir beceri haline getirmeme yol açtı.

Yumurta kapıya dayanana kadar hiç ihtiyacım olmayan tonla beceri, yumurtayı görünce kendiliğinden şahlanmaya başladı, iOS uygulaması namına karşıma gelene acımadım, kodladım. Şimdi eski bilgisayarımda 150’nin üstünde iOS uygulaması var. Çoğunluğu daha cihaz bile görmedi.

Öğrendiklerimi öğretme şansı yakaladığımda, artık bilmediğim bir şeyi değil, başına sonuna hakim olduğum bir şeyi öğretmenin keyfini yaşadım. Benimle birlikte iOS Bootcamp sürecini yaşayan 25 arkadaşımın da bu heyecanı ve keyfi paylaştıklarını umuyorum. Bir ara tekrar yapacağım.

5- Son Durum

Şu sıralar (2016 ortası itibariyle), iOS programlamayı ezbere, web uygulaması geliştirmeyi bir hayli, oyun yazmayı iç güveysinden hallice, Android programlamayı da biraz biliyorum.

Geçen günlerde Amazon’dan FrontEnd geliştirici olmam için bir iş teklifi aldım, bir ihtimal onu da yakın zamanda çok iyi biliyor olacağım.

6- Demem O Ki

Sonuç olarak, kod yazmayı nasıl öğrendiğimi ben de bilmiyorum. Öğrenmem lazımdı, büyük ihtimalle ondan. Benim öğrendiğim yol biraz zordu, aranızdan bu alana girişecek olan varsa elimden gelen yardımı yapmaya hazırım. Tavsiye eder miyim? Kesinlikle!

Yazıyı beğendiyseniz o alttaki kalbe falan tıklamanızı da tavsiye ederim. Hatta rica da ederim.

Ha bir de kitap yazdım, linki burada.

Seviyorum sizi.

“Kod Yazmayı Nasıl Öğrendim?” için 2 cevap

  1. Selamlar hocam,

    Merak ettiğim bir şey var.Şu an hangi dilleri biliyorsunuz? Python , C falan öğrendiniz mi? Bir de ben kendi kendime , YouTube’dan da videolar izleyerek , öğrendiğimi uygulamaya çalışarak Python öğreniyorum. Ama Udemy gibi bir siteden hoca desteği almıyorum şu an. Haliyle zor oluyor. Bana işi biraz da olsa kolaylaştıracak bir öneride bulunur musunuz lütfen?

    1. Merhaba Emre, uzun zaman çeşitli alanlarda çalışmak durumunda kalınınca ister istemez yeni diller de öğreniliyor. Kullanımda olan dillerin hatrı sayılır bir kısmını kullandım haliyle. Python öğrenmek için de, başka bir şey öğrenmek için de ilk tavsiyem ne yapmak istediğini kafanda netleştirmen öncelikle. Örneğin internet sitesi mi yapacaksın, mobil uygulama mı, robot mu bunu bilmen lazım. Sonrasında izlenmesi gereken adımları oluşturmak çok daha kolay olacaktır. Elimden geldiğince ben de yardım ederim. Dilediğin zaman ulaşabilirsin.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir