Merhaba, ben de ufak bir fikir belirteyim.
Mühendislik bir unvan.
Bu unvana sahip olmak için ne gerekiyor? Mühendislik Bölümündeki matematik derslerini vermen gerekiyor.
Bu unvana sahip olmadan canavar yazılım geliştirebilir misin? Matematik zekan varsa evet
Matematik zekan yoksa ne olur Canavar gibi yazılım geliştiremezsin, pek çok şeyi öğrenmeden mesela bulduğun kodu copy-paste yaparak, biraz editleyerek bir şey üretebilirsin, başkalarının kısa sürede öğreneceği yazılımla ilgili bir şeyi daha uzun zamanda öğrenebilirsin vb.
Yazılım Mühendisleri yazdıkları kodlarda diferansiyel denklem falan mı çözüyor? Hayır
Yazılım Mühendisleri (ya da herhangi bir mühendis) matematik gerektiren bir iş yapacağı zaman bu hesaplamaları yapabilir mi? Evet, mesela oyun geliştiriyorsan 3 boyutlu objelerin hesapları için, robotik üzerine çalışıyorsan her türlü hareket ve etkileşim için, mesela NASA'da çalışıyorsan roketin t anındaki hızını, yönünü vesairesini hesaplamak için bunları yapabilir/yapabilmelidir.
Dünyayı standart matematik ile lisede basit halini öğretiyorlar. (Benim zamanımda lisede diferansiyel denklemler falan yoktu bu arada) Yani bir araba fren yaptı, her saniye hızı x kadar sabit yavaşlıyor gibi bir durum gerçek dünyada yok. Serbest düşen bir cisim şak diye her saniye sabit 9.8 m/s ivmeleniyor diye bir şey de yok vb. Böyle düşünürseniz temel matematik her alanda herkese yetecektir 5x = 25 ise x =5 diyebilen herkes her işi yapar.
Mühendislik bunun böyle olmadığını bilir, integralidir, lineer cebirdir, nümerik analizdir bunları hesaplamalarında kullanır çünkü kullanması gerekmektedir.
Üniversiteler unvan verir, yani bu örnekte üniversite size mühendis unvanı vermek için bu hesaplamaları yapabilmenizi beklemektedir. Okulda öğreneceğiniz her bilgiyi kullanacaksınız diye bir kural yok, gerektiği zaman kullanabileceğinizi sınavlarla ispatlamanız gerekir sadece.
Matematik zekanız yüksek ise iyi bir yazılımcı olabilirsiniz. Matematik gerektiren bir işte çalışacaksanız da gereken matematiği öğrenebilirsiniz. Matematik zekanız yoksa temel yazılım bilgisi olan abstraction (interfaceler, abstract classlar falan) bile size zor gelecektir, soyut düşünme yeteneğiniz kısıtlıdır. Bu veritabanına yazma-okuma ya da web sitesi sayfası yapma işleminden daha kapsamlı bir şey yazılım.
Herhangi bir firmada mühendis olun ya da olmayın bir iş için mülakata girerken sorulara verdiğiniz cevaplardan işe yatkınlığınız anlaşılıyor. Matematik zekanız yeterli ise doğru yerde doğru algoritmayı kullanacağınızı, hızlı çözüm üretebileceğinizi, gereksiz yere zaman/malzeme/iş gücü kaybı yaşatmadan firmaya fayda sağlayabileceğinizi mülakatta göstermenizi beklerler, kabiliyete + potansiyele göre de iş ve maaş sunarlar. Matematik zekası yeterli olmayan birinin mülakatlarının iyi geçeceğini sanmıyorum, yazılım için gerekli bir şey bu.
Yazılım mühendisliği hedefiniz varsa ve bu işlerin altından kalkabileceğinizi düşünüyorsanız matematiğinizi güçlendirmeniz gerekli, temeliniz yoksa temelinizi güçlendirin ve ilerde zorlanmayın.
Zorlanma için de şöyle anlatayım, üniversite sınavında matematik netim 42 civarıydı diye hatırlıyorum (45 soru üzerinden) yani temel lise matematiğim iyiydi diyebilirim. Bölümde matematik derslerine giren hocamız mühendislik fakültesinin pek çok bölümüne gidip oralarda da ders veriyordu. Bize direkt "diğer mühendisliklerde standart ders işliyorum, sizin bölüme mahsus canınıza okumak zorundayım" gibi bir ön bilgi verip gerçekten canımıza okumuştu (her seneki tarifesiymiş zaten, mevcut 120 öğrencinin 100ü kalıyordu, bütünleme diye bir şey de yoktu). Dersi benim de iki kere alttan almam gerekti.
Yani lise matematiğinin üzerindeki matematiği (calculus 1, 2, lineer cebir, nümerik analiz, diferansiyel denklemler...) yapabildiğinizi göstermeden mühendis olmanıza izin vermiyorlar diye özet geçebilirim, sırf matematik zekası da değil, temel bilgi/formülleri ezberleyip daha sonraki zor problemler karşısında çözüm üretmeniz gerekiyor, hem matematikte hem diğer pek çok bölüm dersinde. Şimdiden kolay gelsin.