İngilizce bilgisi yüzde 100 şart ve ilerlemenin ilk koşulu çünkü bütün türkçe kaynaklar ünivsersiteler de dahil hepsi çöp. Matematik eğer machine learning openGL görüntü işleme gibi konularla uğraşacaksan gerekli yoksa 3 sayının ortancasını bulurken yada 4 tane thread açıp thread senkronizasyonu yaparken matematik gerekmiyor. Matematik gerektiren yazılım projeleri var gerektirmeyen yazılım projeleri var ona göre matematiği ihtiyacın kadar öğrenirsin, yazılımda gerekebilecek matematik bilgisi mat-2 cinsinden. Programlama haricinde mikroişlemciler işletim sistemleri ve bilgisayar mimarisi konularını yabancı kaynaklardan çalışman gerekiyor paralel olarak çünkü yazdığın bütün programlar programlama dili ne olursa olsun belli bir mimariye işletim sistemine veya işlemciye yönelik yazılmış olacak oyüzden bilmenin çok büyük artıları var. Akış diyagramı çizerek algoritma yazamassın, bir algoritmayı oluşturduysan programlama dilinde gerçekleştireceksin yazılım mesleği pratik üzerine kurulu çünkü. Bilgisayar mühendisliği yada Bilgisayar pogramcılığını bitir ama sadece diploma için bitir çünkü üniversitede yazılım mesleği öğrenilmez zaten öğretemiyorlar.