Kendine basit bir proje belirle ve onu geliştirmeye çalış, en kolay ve kalıcı bu şekilde öğrenirsin.
Etkili bir yöntemdir yalnız profesyonel hayattan kopuk olursun. Şahsen yazılıma 12 yaşlarımda başlamış ve bu yöntemle başlamış birisi olarak verebileceğim tavsiye github'da opensource olan yazılımları incelemen. Temel mantığı oturt sonra basit bir proje yap mantığı pekiştir ardından oku bolca oku, araştır ve dene. Okuduğun herşeyi dene, insan hafızası deneyimlemeye programlıdır. Kullanmaya programlıdır. Bir bilgiyi öğrendiğinde onu kullan kullanmasan bile muhabbetini aç bir yerde bahset bu bilgiyi stack yapısında işleyen zihninin derinlerinden çıkarıp ön sıralara koyacaksın ve diğer okuduğun aslında önemsiz detayların arasından kurtarmış olacaksın. Proje yapmaya çalışarak başlama mantığıyla başladığımda 12 yaşımda geliştirdiğim projeye dönüp baktığımda string nedir bilmediğimi farkettim. Textboxları form border ın dışına konumlandırıp formu küçültüp string yerine textbox lara text olarak atamalar yaparak birşeyler yapmaya çalıştığımı farkettim sebebi gayet basitti okumuyordum, araştırmıyordum o yapmak istediğimi yapmaya odaklıydım. Bu yüzden ikisinin de ortasını bulmalısın ve bu işin temeliyle çok fazla vakit kaybetmemelisin. Bu işi çok iyi bilen insanlardan öğrenmelisin, 1 satırda yapılan bir iş için 30 satır kullanmak yazılımcılıktan çok uzak. Sürekli tekrarlamak yazılımcılıktan çok uzak. Database programcılığı get set insert update bunlarla ancak bir yere kadar gidebilirsin Türkiye sınırlarından çıkamazsın, bunların dışına çıkmayı dene. Devexpress mutlaka öğren, EntityFramework mutlaka öğren, LINQ mutlaka öğren, SQL Programlama mutlaka öğren, N Tier gibi bir katmanlı mimari seçerek o şekilde yazılım geliştirmeye ve SOLID prensiplerine uygun bir kod yazmaya direk temelleri öğrendikten sonra başla ve kendini alıştır eğer alışmazsan bir yazılımcıyı daha kaybetmiş oluruz.