Amacınız nedir ? Hobi amaçlı, zevk ve merak uğrunamı öğrenmek istiyorsunuz ?
Yoksa profesyonel olarak yazılım geliştiricisi olup, ömrünüzü bu meslek ile devam etmek/başlamak istiyorsunuz ?
Son olarak ne tür yazılımlar geliştirmek istiyorsunuz ? Web Yazılım , Mobil Uygulama, Ağ Programlama, Masaüstü vs vs bir sürü platform var. Programlama web'ten ibaret birşey değil.
Öncelikle programlamanın mantığını öğrenmeni öneririm. C dili ile basit alıştırmalar yaparak başlayabilirsin aynı zamanda bu dillerin Syntax'ı hakkında bilgi edinebilirsin. İleride php, javascript Syntax'ına yabancı kalmazsın. Daha sonra bir ağ veya web programlama ile uğraşıyorsanız işinize yarayacak en önemli şey Bash Script'tir.
Hafıza yönetimi, İşletim Sistemlerinin çalışma mantığını öğrenmelisin ilk olarak. Daha sonra genel yazılım kurallarını, metodlarını, algoritmalarına çalış. Bubble Sort, Selection Sort vs. vs.
Veritabanları hakkında bilgi edin. Veritabanı Mysql'den ibaret değil. nosql ile ilgili bilgiler edin.
Web Programlama'da Asp.net, Python-Django Framework, Ruby, Php gibi diller var. Hepsinin kendine göre bir artısı, dezavantajı var. Kendi işine yarayan en uygununu seçmelisin. Web Programlamayı öğrenmek diğer platformlara nazaran kolaydır. Sunucu tarafında çalıştığı için, işlemci-hafıza kontrolü yoktur. Bir çok şeyi yapmak kolay. Artık Javascript çok etkin, her iki taraf içinde kullanılıyor. Mobilden, Masaüstüne kadar her yere girdi. Artık bir zorunluluk.
Web Programlama için Python öğrenmenizi öneririm. Artık Türkiye'de de yavaş yavaş bu yöne yönelişler var. Yurtdışı piyasasında zaten bir çok şirket kullanıyor. Gelecek Python'da görünüyor. Biraz araştırın her türde uygulama geliştirebilirsiniz. Web için Django Framework'ü var.
Bunun yanında Unix bir işletim sistemi kullanmanızı öneririm. Editör olarak Vim Editör tavsiyem olacaktır.
Maddi açıdan soracak olursanız, Php Developer sayısı Türkiye'de az. Eğer uzman olursanız iyi kazanç sağlarsınız. Fakat uzman olursanız.
Python - Ruby gibi dilleri kullanan firmalardada, gerçekten yazılım mühendisi olan insanlarla birlikte çalışırsınız, vizyonunuz gelişir. Yine bu dillerde çok insan olmadığı için kazancınız yüksek olabilir.
Aslında her dilde böyle. Asp.net kullanıp sistemin içine eden, Php ile sistemin içine eden binlerce sözde geliştirici var. Her dil için bu durum söz konusu, ben dil ayrımı ve fanatikliğine karşıyım.
Gerçek bir yazılımcı zaten dillere takılmaz. Manuel'i okuyup giriş yapmak yeterli, gerisi alıştırma ve tecrübe.
Onun dışında özellikle Mobil platformda uygulama geliştirenler için maddi olağan çok yüksek. Objective-C, Java mobil aygıtlarda kullanılıyor. Büyük bir pazar var şuanda ve gelecekte dahada büyüyecek bu pazar. Yine etkileşimli olarak javascript mobil platformunda da etkin.
Özetle yardımcı olabileceğim konular bunlar. Ama ilk olarak öğrenmeyi öğrenmelisin. + olarak İngilizce.