Üniversitelerin en büyük katkısı şu, sana nasıl öğrenmen gerektiğini öğretiyor. Araştırma ruhunu aşılıyor. Buraya yazdıklarını vs görünce sende bunun eksik olduğunu düşünüyorum. Bu sebeple imkanın varsa, kaliteli bir üniversiteden lisans eğitimi alabilirsin.
Şimdi nereden başlasam diye sorarsan, her insan farklı cevap vermeye başlar. Kafa karışıklığına neden olur?
Peki üniversiteler bunu nasıl başarıyor? Yüzlerce insan oraya bilgisayar mühendisi olmaya geliyor. Fakat bilgisayar mühendisi de kendi içinde onlarca alt alana ayrılıyor. Mesela bizim sınıf 110 kişi idi. Veri analizi, yapay zeka, fullstack dev, mobil programlama, gömülü sistem programlama ve robotik, siber alan, oyun geliştirme ve aklıma gelmeyen bir sürü alana kayan arkadaşlarım var.
Şimdi biraz özetleyelim; Hepimiz ilk 2 yıl aynı eğitimi aldık. 3. sınıfta ortak dersler dışında teknik seçmeli dersler seçmeye başladık. İşte olay burada başlıyor. Son olarak 4. sınıf Full seçmeli idi galiba, yanılıyorsam düzeltin.
Aslında ilk 2 yıl sana altyapıyı kurdurtuyorlar. Üzerine ne inşa etmek istediğini sen seçiyorsun. Şimdi sen daha bu temeli kuramamışsın. Bu sebeple sana tavsiyem lisans eğitimi alamıyorsan üniversitelerin açık derslerine bakmanı öneririm. ODTÜ, İTÜ, Ankara vs fark etmez. Hepsine bakabilirsin. İnsanlara neler öğretiyorlar? Konu başlıklarını Google'dan araştırırsın. Yeri gelir makale okursun yeri gelir video izler hatta yeri gelir Online konferanslara katılırsın.
Bu dediklerim seni programlama ve mühendis gibi bir eğitime sokmuş olur. Bu sayede temelini sağlam atmış olursun. Ha sonra ister mobil alana yönel ister yapay zeka. Fark etmiyor.
Kendimden örnek vereyim. Ben 3. sınıf sonuna kadar Full oyun üzerine kendimi geliştirdim. Daha sonra freelance takılmak için JavaScript C# gibi dillere yöneldim. Fakat hiçbir zaman tam bir eğitim satın almadım. Sürekli araştırarak ve projeler yaparak ilerledim. Temelim olduğu için syntax yapısı vs direkt öğreniyor insan. Sonrasında tüm zamanımı alan eğitimine veriyorum. Mesela backend nedir? Mimarileri nedir neler kullanılır? Web nedir? Desktop App geliştirmek ne demek? vs.
Şu anki ilk amacın mobil dev olmak ama dediğim gibi önce temelini almanı tavsiye ederim. Bende oyun üzerine çalışıyordum. Bize ilk C öğrettiler. Sonra ben OpenGL, shader gibi kavramları kendim öğrendim. C ile kodladım. SDL Framework öğrendim projeler geliştirdim vs. Sonrasında C++ gördük. SFML öğrenmeye başladım. Sonrasında hiç C# eğitimi almadan direkt Unity eğitimi ile Unity kullanmaya başladım. Hatta Google Play de oyunum bile var.
Özetlersem; temelin sağlamsa her alana kayabilirsin. Her alanın kendine göre bir zorluğu ve uzmanlık gerektiren konuları olabilir. Bunları zamanla öğrenirsin. Sonuçta nasıl öğrenmen gerektiğini ve araştırma yapmasını biliyorsun artık.
Son olarak; Motivasyon düşmesi herkeste oluyor. Benim de işten bağımsız kendi yürüttüğüm yan projem (side project) var. Bazen inancımı aşırı kaybediyorum. Günlerce hatta haftalarca bakmadığım oluyor. Sonra tekrar kendimi topluyorum ve devam ediyorum. Aslında bu alanda benim de eksikliklerim var. Bir projeden çabuk sıkılabiliyorum. Bilmiyorum nasıl olacak.