Yeni başlayacaklar için “yazılıma nereden başlamalıyım? “

0

Bana sık gelen sorulardan biri olan “Yazılıma nerden başlamalıyım, başlayabilirim?” sorusuna yararlı bir cevap verebilmek adına bu yazıyı yazma gereği duydum. Umarım kafasında bu soru işaretine sahip olan kişilere yanıt olur.

 

ADIM 1

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.

ADIM 2

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.

ADIM 3

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.

Hangi maddedeki tavsiyeye uymak size kalmış ancak ortak bir nokta var. “Bol bol proje geliştirin.” Kodlama öğrenmenin en etkili yolu budur bence. Üşenmeden kod yazın. Hatalara rağmen pes etmeyin. Kod yazma eyleminin büyük bir çoğunluğu hata çözmekle geçiyor. Ben uzman bir yazılımcı değilim ancak uzman diyebileceğim kişiler de hala başlarının hatalar ile dertte olduğunu söylüyorlar.

Yazıyı bitirirken yazılım öğrenmek için dostlarımın oluşturduğu ve ya Türkçe olarak başarılı bulduğum birkaç kaynağı da size önermek istiyorum.

  • Scode : Scode, bizim geliştirdiğimiz bir mobil uygulama. Yeni versiyonu ile 0’dan “kendi Scode’unuzu yapabilecek seviyeye” gelmenizi umuyoruz. Çok yakında 🙂
  • Baran Somaklı : Web teknolojileri konusunda genç üstadlardan biridir. Abone olun, takip edin efenim 🙂
    https://www.youtube.com/channel/UCHSwwNL5hC_9o6LGhej4rFQ
  • Yazılım Kulübü : Benim de dahil olduğum sosyal sorumluluk projesi kapsamında C# ve Microsoft Azure eğitimleri hazırlamıştık.
    https://www.youtube.com/user/YazilimKulubu
  • Kodist : Hem web programlama hem de cross mobil geliştirme çözümlerinden Ionic Framework üzerine eğitim içeriği ekliyorlar.
    https://kodist.net/
  • Barış Ceviz : Temel düzeyden bir tık üstü içerik ekliyor. Bulut, chatbot gibi konularda yazıyor. Türkçe içerik olarak olmayanları yazıyor. Takip edin.
    http://barisceviz.com/
  • GDG Istanbul : Google Developer Group Istanbul topluluğu yaptığı etkinliklerdeki konuşmaları kayda alıp Youtube kanalında paylaşıyor. Değerli sunumlar var. Tavsiye ederim.
    https://www.youtube.com/user/GDGIstanbul
  • Açık Akademi : Microsoft’un oluşturduğu oyun, mobil, web, bulut gibi birçok konuda eğitim içeriğine ulaşabileceğiniz bir website.
    https://www.acikakademi.com/portal/default.aspx

 

 

 

https://medium.com Kadir Can KIRKOYUN

CEVAP VER

Please enter your comment!
Please enter your name here