Yazılıma başlama isteği, girişimciliğin sayesinde çıkan rol modellerinin insanlar tarafından çekici bir hayat olarak görülmesi ile gün geçtikçe artan ve daha çok kişide ortaya çıkan bir durum haline geldi. Bu isteğin ortaya çıkması çok güzel ancak bu isteğin sürdürülebilir olması gerekiyor. Yazılıma başlamadan önce “neden bu işi yapacağım?” sorusuna sizi motive eden, sürdürülebilir bir cevabınız olması gerekiyor. Aksi halde yazılım geliştirmenin de zor yanları var. Bu zor yanlar kimi zaman katlanılamaz olabiliyor. Bunlardan birkaçını saymak gerekirse;

  • Saçma sapan bir hata için saatlerce uğraşabilirsiniz. Çözdüğünüzde bile kendinizi aptal hissedebilirsiniz.
  • Şu hatayı çözünce yatacağım deyip geceleri uykusuz kalabilir ve bunun yarattığı düzensiz uyku sorunları baş gösterebilir.
  • Saatlerce bilgisayar başında oturmanız sağlık problemleri yaratabilir.

gibi gibi… Kişiden kişiye eklenebilecek daha nice problem. Bu problemlere karşı pes etme noktasına geldiğinizde sizi güçlü kılacak motivasyonu bulun. Aksi halde yazılımda kendinizi geliştiremeden bıkıp, bırakacaksınız muhtemelen.

Sürdürebilirlik için gereken motivasyon kaynağını tespit ettik. Bu adımda yapılan en sık hata “Phyton, Javascript, C#” popüler dillermiş. O yüzden onu öğrenmeliyim”. Bunun yerine “ben hangi platforma geliştirme yapmak istiyorum?” sorusunu kendinize sorun. Mesela C++ popüler bir dil olmasına rağmen ben başlangıç için önermiyorum.

  • Ben mobil uygulama geliştirmek istiyorum. Android platformunda geliştirme için Java, IOS platformu için Swift öğrenmeliyim ve ya ikisine aynı anda geliştirmek istiyorsam cross çözümler için Javascript öğrenmeliyim.
  • Ben website geliştirmek istiyorum. HTML, CSS, Javascript öğrenmeliyim.
  • Ben Windows 10 uygulaması geliştirmek istiyorum. C# öğrenmeliyim.

Kısaca programlamaya başlamak için ilk olarak hangi platformda geliştirme yapmak istiyorsanız ona karar verin.

EKLEME : Facebook’tan gelen önerilerden birini eklemek istiyorum.
Murat Yener: “Platformlar gelip geçicidir. Bundan 10 yıl önce mobil demek symbian, web demekse flash/actionscript demekti. Kullanılmayacak bile olsa c, devamında c++ ve sonrasi java/c# gibi diller programlama teorisi, oo prensipleri ve veri yapılarını anlamak günü geldiğinde dil ve platform değiştirebilmek için gerekli altyapıyı sağlar. Aksi halde bugün bankalardaki cobol cular gibi zamanında o çok beğendiğiniz platformda çakılıp kalma riski oldukça yüksek..
Sonuç olarak : Belli bir dile sabit kalmak yerine yeni teknolojiler üzerinde çalışmanız önerilir.

Motivasyonumuzu bulduk, platformumuza karar verdik. Bu konuda klasik bir tavsiyeyi ben de vereceğim. “İngilizce öğrenin.” İngilizce kaynak sayısı, Türkçe’ye göre çok çok üst düzeyde. Özellikle yeni teknolojileri öğrenmek istiyorsanız Türkçe kaynak bulmanız çok zor. Şimdi sıra artık öğrenmekte. Peki öğrenme kaynaklarını nereden bulabiliriz?

  • Google’da, Youtube’da aratın. Aslında kaynak bulmak bu kadar basit. Bu derslerdeki kodları yazın, özgünleştirin ve test edin. Sadece videoları izlemeniz maalesef ki işe yaramayacaktır.
    - Android Development Tutorial
    - Android Programlama Dersleri
    - HTML Dersleri
    - Web Development for Beginners
  • Udemy, Coursera, Pluralsight gibi programlama kurs sitelerindeki düzenli eğitimleri kullanabilirsiniz. Bu kurslardaki kodları yazın, değiştirin ve test edin. Sadece videoları izlemeniz maalesef ki işe yaramayacaktır.
    - Udemy ve Coursera üzerindeki birçok ücretsiz kursa ulaşabilirsiniz.
    - Microsoft’un Dreamspark programı ile öğrenciler Pluralsight’taki profesyonel eğitimlere ücretsiz erişebilir.
  • “Kervan yolda düzülür.” : Proje geliştirin. Proje geliştirirken ihtiyaç duyduğunuz kodları Google’da aratın. Özellikle “Stackoverflow” bu konuda baş hocanız oluyor. Bu öğrenme yöntemi en hızlı öğrenme yöntemidir ancak biraz tehlikeli denebilir. Çünkü yazılım geliştirme mimarisini öğrenmeden kod geliştirmeye başlamanız birçok açıdan problem yaratabilir.