Yazılıma Nereden, Nasıl Başlamalıyım ?

tarafından
Yazılıma Nereden, Nasıl Başlamalıyım ?

Hem forumlarda hem facebook gibi sosyal medyalarda çok fazla sorulan bir soru var. Bu soru “Yazılıma nasıl ve nereden başlamalıyım ?” . Her seferinde yeni nesili yönlendirmek amaçlı bu soruya ben dahil birçok yazılımcı cevap veriyor. Tekrar tekrar yazmak yerine buraya yazıp paylaşmak daha faydalı olacak diye düşünüyorum. Siz de bu soruya yanıt arıyorsanız aşağıdaki yazıyı dikkatli şekilde okumanızı öneririm.

Gerçekten Yazılım Öğrenmek İstiyor Musun?

Aslında ilk ve en önemli adım bu. Bu sorunun cevabı çok önemli çünkü yazılım süreklilik ister, “hala yazılmaya devam eden bir kitabı okumak” gibi diyebiliriz. Evet yazılıma başladınız ama bir şey öğreniyorsunuz sonra karşınıza başka bir şey çıkıyor, onu da öğreniyorsunuz sonra da teknoloji gelişiyor ve tekrar aynı döngü…

Yani eğer cidden yazılım öğrenmek istiyorsanız yola devam edin. Yazılım öğrenmek emek ister bunu unutmayın. Eğer bu adımda sıkıntı yaşıyorsanız yazıya devam etmenize gerek yok. Başka alanları kontrol edin illa ilginizi çekecek bir alan bulursunuz.

Yazılım Öğrenmek İçin Hangi Nitelikler Gerekiyor ?

Ben yazılımı matematik  + İngilizce olarak tanımlıyorum. Yazılımda kullanılan dil İngilizce’dir. Türkçe kaynaklar bulabilirsiniz tabi ki ama eninde sonunda yolunuz İngilizce kaynaklara düşecek, emin olabilirsiniz. O yüzden eğer kendinize yatırım yapmak istiyorsanız İngilizce önemli. Hem öğrenme aşamasında hem de meslek hayatında bol bol lazım olacak.

İngilizce dışında bir de matematik var. Yazılımın en temel kavramlarından biri olan “algoritma” dediğimiz şey aslında matematik. Matematiğinizin iyi olması karmaşık problemleri daha hızlı ve etkili şekilde çözmenizi sağlayacak.

Matematik ve ya İngilizce’nizin yetersiz olması yazılım öğrenmeye engel değildir. Belki daha yavaş öğrenebilirsiniz ama öğrendikçe kendinizi geliştireceksiniz ve eksikleriniz kapanacak.

Yazılıma Nereden Başlamalıyım ?

Bu soruda takılı kalmak yapabileceğiniz en kötü şeylerden biri. Yazılımda birçok alan vardır. Backend, frontend, mobile , embedded … gibi. Şimdi genel olarak gördüğüm yanlışı yazayım. Bu soruyu biri bir facebook grubuna sorar ve gelen cevaplara göre karar vermeye çalışır. Cevap verenler sizi tanımıyor, doğrusu kimse sizi sizden daha iyi tanımıyor o yüzden bu soruyu kendiniz cevaplamalısınız.

Burda yapmanız gereken şey şu, ilk önce seçeneklerinizi belirlemek sonra ise bunlar arasında eleme yapmak .  Eğer yapamıyorsanız araştırın, bol bol araştırın ama tek bir kaynaktan değil farklı farklı kaynakları okuyun. Eğer hala karar veremediyseniz başlayın. Yerinizde kalmaktansa birine başlayın öğrenin basit projelerde devam edin baktınız keyif almıyorsunuz başka bir alan deneyin. Bu durumda zaman kaybedeceğinizi düşünebilirsiniz ama aslında tecrübe kazanıyorsunuz.

Yani sonuç olarak bu soruda çok takılmayın, hızlı bir şekilde bir şeyler öğrenin. Öğrendikçe öğrenme hızınız artacak.

Yukarda bazı alanlar yazdım tabi ama her şeyden önce öğrenilmesi gereken şeylerden biri de “algoritma“. Algoritma öğrenmek için dil önerisi istiyorsanız benim önerim python. Kolay ve başlangıç için güzel bir dil.

Yazılımı Nasıl – Nereden Öğrenebilirim ?

Öğrenme şekli insandan insana değişir. Mesela ben kısa ve direk mantık anlatan video serilerini çok iyi anlıyorum. Ama başkası video izlerken sıkılabilir, kitap okumak ona daha faydalı olabilir. Yani bu kısımda kendiniz karar vermelisiniz. Eğer bir fikriniz yoksa ikisinide deneyin tarafınızı seçin :) .

Ben genellikle Udemy’den bir kurs alıp temeli alıyorum. Sonra direk proje geliştirmeye geçip, hataları çöze çöze öğreniyorum.

Buraya belli bir kitap ya da video önerisi koymuyorum. Ama eğer kaynak bulmakta zorlanıyorsanız mail adresimdem (ickarakurt[at]gmail.com) bana ulaşın, eğer bildiğim bir alansa yardımcı olmaya çalışırım.

Ne Kadar Sürede Uzmanlaşırım ?

Eğer biri size bu konuda net bir tarih veriyorsa ondan uzak durun. Sizin öğrenme hızınızı kimse bilemez. Ki bir alanda uzmanlaşmak o alanda videolar izlemek, kitaplar okumak ile olmaz. Uzmanlaşmak için birçok hata, sorun ile karşı karşıya gelmiş ve üstesinden gelmiş olmanız lazım. Araştırmayı öğrenmek bu konuda çok önemli. Doğru bir arama yaparak sorununuzu direk çözebilirsiniz ya da tam tersi nasıl arayacağınızı bilmediğiniz için zaman kaybedersiniz.

Eğer bir alanda uzman olmak istiyorsanız, bol bol proje çıkarın. Karşılaştığınız her sorun size yeni bir şeyler katacaktır.

Özet

Şimdi konuyu maddeler halinde bir özetlemek gerekirse :

  • Yazılım öğrenmek için istekli olduğunuza emin olun
  • Matematik ve İngilizce yazılım öğrenmeniz için önemli.
  • Kararsızlıkla çok vakit kaybetmeyin, bir şeyler yapmaya başlayın.
  • İnternetin nimetlerinden faydalanın, olabildiğince araştırma yapın.
  • Bol bol proje çıkarın.

Dikkat Dikkat !

Yukarıda yazdıklarım benim fikirlerim. Katıldığınız, katılmadığınız yer olursa yorum atabilirsiniz. Uzun zamandır bu kadar uzun bir yazı yazmıyordum. Umarım birilerine bir faydası dokunur :) .