Yazılım dillerini ve felsefesini ne kadar biliyorsun bilmiyorum ama tasarım kalıpları (design patterns) öğrenirsen geleceğini sağlama alırsın, ileride sürdürülebilir ve esnek kod tabanları rahatlıkla yazabilirsin. Eğer kurs şeklinde istersen Akın Kaldıroğlu'nun Udemy'de design patterns kursu var, fakat kurs olarak alman zorunlu değil, hatta kitaptan öğrenmeni öneririm. Ama önce uyarmam lazım şu an öğrendiğin C dili tam olarak bir OOP değil, fakat bu kitaplar daha çok OOP ağırlıklı, yani OOP bir dil bilmen anlamana çok yardımcı olur, aklında olsun.
Kitap olarak sektörde en çok "Design Patterns: Elements of Reusable Object-oriented Software" ismi geçer, hatta yazarlarına gang of four lakabı verilmiştir, ve yazılım tarihinin (şahsi düşüncem) en önemli kitaplarından biri olma ünvanını taşır. Ama tam olarak roman gibi okumalık bir kitap değil, referans, başvuru, ve kılavuz gibi. Her halükarda kitabın kesinlikle ıntroduction kısmını okumanı tavsiye ederim, muhteşem yazılmış.
Yukarıdaki kitabın giriş kısmını okuduktan sonra ilk olarak "Head First Object Oriented Analysis and Design" ondan sonrasında da "Head First Design Patterns" okumanı öneririm, ilk verdiğim kitaba kıyasla daha çok okunulabilir kitaplar bunlar ama eğer kalıpların detayına inmek istersen kesinlikle ilk önerdiğim kitaba da bakman gerekir.
Bu arada üstüne basmam lazım, kitapları sadece okumakla kalma, kitaptan öğrendiğin kalıpları direkt öğrendiğin gibi kullanmaya başla, entegre etmeye çalış, hem aklında daha çok kalır, hem de kritik düşünme kabiliyetini de arttırır.
Şirket, şahıs, kurs, kitap ismi geçiyor fakat #reklam değil, sadece öneridir.