Yazılım kursu alırken nelere dikkat edilmelidir. Hangi kurslar tercih edilmelidir.
Yazılım Kursu, Yazılım Kursları Karşılaştırmaları
İnternette veya yapay zeka araçları ile yazılım kursu arıyorsunuz ve karşınıza çok farklı içerikler, fiyatlar yöntemler çıkıyor. Kafanız karışıyor. Bu makale bir yazılım kursu alacaklara yönelik rehberlik niteliğinde bilgiler içermektedir.
Yazılım kursu almadan önce bilinmesi gereken bazı noktalar var.
- Hangi programlama dilini öğrenmeliyim?
Burada en kritik nokta neden yazılım öğrenmeliyim sorusunu cevaplamadan geçer. Yazılımı öğrenme nedeniniz bir meslek sahibi olmak olabilir. Yazılım uzmanlığı pozisyonunda bir yazılımcı olarak işe girmek olabilir. Kendi yazılım projenizi yapmak olabilir. Üniversitede bilgisayar mühendisliği okuyorsunuz ancak programlama dersini geçemiyorsunuz veya zorlanıyorsunuz. Hobi amaçlı olarak yazılım öğrenmek istiyor olabilirsiniz. Nedeniniz ne olursa olsun öncelikle öğrenmek istediğiniz programlama dilini seçmeniz gerekir. Seçtiğiniz programlama diline göre de ilgili teknolojileri öğrenmeniz gerekir. Şimdi dünya üzerinde en çok kullanılan programlama dillerine ve özelliklerine birlikte bakalım.
- C# programlama dili: Microsoft'un geliştirmesini üstlendiği dildir. bu dille birlikte .NET Core, entity framework gibi teknolojileri kullanabilirsiniz. Eğer kurumsal bir yazılım geliştirecekseniz ve yazılımınız büyük bir proje ise C# .NET teknolojisini kullanabilirsiniz. Bugün pek çok kamu kurumu C# .NET kullanıyor. Bunun en büyük nedenlerinden biri arkasında Microsoft gibi bir teknoloji şirketinin olmasıdır. Microsoft IDE kullanımında şuanda açık ara önde olan Visual Studio ile yazılımcılara çok büyük kolaylıklar sağlıyor. Sırf Visual Studio kullanmak için bile C# tercih edilebilir. Daha çok web tabanlı yazılımlar geliştirmek isteyen yazılımcılar C# .NET yazılım kursu'nu tercih edebilirler. sahibinden.com, hepsiburada.com, ciceksepeti.com tarzı web tabanlı yazılımları rahatlıkla geliştirebilirsiniz.
- Java Programlama Dili: Java kursu alacak kişiler özellikle java öğrenmek istiyorlarsa bu kursu tercih edebilirler. Java programlama dili büyük ERP yazılımları geliştirmek isteyen kullanıcıları hedefliyor. Eğer elektrik - Elektronik mühendisliği öğrencisiyseniz java kursu'nu tercih edebilirsiniz. Mobil uygulama geliştirmek gibi bir düşünceniz varsa yine javayı tercih edebilirsiniz. Java Kursu ile birlikte jsf, java spring boot teknolojilerini öğrenmeniz gerekir. Çünkü java ile proje geliştirmek istediğinizde spring boot teknolojisini kullanmanız gerekir. Bugün Adalet Bakanlığı'nın yazmış olduğu UYAP projesi java ile geliştirilmiştir. SGK Kurumunun tüm yazılımları java teknolojisi kullanılarak geliştirilmiştir. Java diğer programlama dilleri ile kıyaslandığında öğrenilmesi daha zor bir dildir. Ancak java yazılım uzmanı maaşları da diğer yazılımcılara göre çok daha yüksektir.
- Python programlama Dili: Python diğer programlama dillerine göre (C#, Java) öğrenilmesi çok daha kolay bir programlama dilidir. Bunun en büyük nedeni python kütüphanelerinin güçlü olmasından kaynaklanır. Ayrıca syntax yazılım kuralları diğer diller gibi karmaşık değildir. Peki neden python seçmeliyiz? Sadece kolay öğrenildiği için değil herhalde. Python bugün yapay zeka tarafında en çok kullanılan yazılım dilidir. Python'ın yapay zeka kütüphaneleri gerçekten inanılmaz seviyede. Bu açıdan bakıldığında eğer yapay zeka üzerine geliştirmeler yapacaksanız kesinlike python bilmeniz gerekir. Hatta daha da ileri giderek şunu söyleyebiliriz. Bugün C# veya Java programlama dillerini iyi derecede biliyor olduğunuzu varsayalım. Bu durumda bile python'ı öğrenmeniz gerekir. Çünkü geliştirdiğiniz yazılımın bir yerinde yapay zeka kullanacaksanız burada python programlama dilini ve kütüphanelerini kullanmak durumunda kalacaksınız. Python veri bilimleri ile çalışmak isteyen kişiler için de öğrenilmesi gereken bir dildir. Özetle yazılım, yapay zeka alanlarına gireceksiniz kesinlikle python öğrenmelisiniz.
- Nasıl bir yazılım kursu almalıyım?
Arkadaşlar bu soru çok önemli. Çünkü piyasada çok farklı kişiler veya kurumlar farklı farklı içerikler, yöntemler kullanarak "yazılım kursu" veriyoruz iddiasında bulunuyorlar. Bu bölümde yazılım kurslarının tüm yönlerini ele alarak bu konuda araştırma yapan herkesin gerçekten bilgilenmesini sağlamayı amaçlıyorum.
Yazılım kursu, programlama kursu, programcılık kursu, görevde yükselme için programcılık sertifikası, MEB Onaylı Programcılık sertifikası gibi pek çok kavramlarla karşılaşabilirsiniz.Bazı kurumlar c#, java, python, c++, c gibi pek çok dili tek bir kursta verdiğini iddia eder. 400 Saat, 600 saatlik kurslardan bahsederler. Bazıları yazılım kursu adı altında programcılık öğretir. O kadar çok bilgi kirliliği varki sizin de kafanız doğal olarak karışmaya başlar. Bazıları online verir. online verenlerin bir kısmı canlı ders yapar, bir kısmı video ders verir, bir kısmı video ders verirken canlı ders var der, hiç bir zaman bu canlı dersler yapılmaz. Yapılsa bile bir müfredat takip edilerek yapılmaz. Yani tam bir kaos oluşmuş durumda. Bunun en büyük nedeni maalesef Türkiye'de kolay yoldan para kazanmanın aracı olarak online ders vermek oldu. İnsanlara sunulan vaatlerden dolayıda insanlar hangilerinin gerçek eğitim hangilerinin para tuzağı olduğu konusunda kararsız vaziyette bir zar atıyor. Belki tutar diyor. Burada seçtiği kurum veya kişi genellikle yanlış oluyor. Çünkü para tuzağı olan kişiler veya kurumlar reklam tarafını gerçek eğitim kurumlarından çok iyi yapıyor. İş garantisi veriyor, paranız iade diyor, kesin öğrenirsiniz diyor. Süslü kelimeler buluyorlar mesela mentör diyor, bootcamp diyor. Biraz da plaza türkçesi kullandıkları zaman insanlar buraların çok iyi yerler olduğunu düşünüyor. Sonuç genellikle hüsran oluyor. İsmini vermeden bir kurumdan habsetmek gerekirse iş garantisi verdiğini iddia eden bu kuruma kayıt yaptıran kişiler şuan mağdur durumda. Pek çok dava dosyası halen devam ediyor. İnsanlar servet ödüyorlar şuan bankalara. İş garantisi verip dolandırılan o kadar çok insan olduki bu kişiler x mağdurları adı altında platformlar kurdular. Haklarını birlikte aramaya devam ediyorlar.
Özetle yazılım kursu araştırırken süslü laflara, yaparsın hallederiz, mentor, bootcamp, bire bir gibi kavramlara önem vermeyin. Öncelikle bakacağınız şey müfredat. Müfredatta ne öğretecekler size. Eğer c sharp, java, python, php, c, c++ gibi tüm dileri öğrettiklerini yazıyorlarsa oradan uzak durun. Çünkü üniversitelerde de durum böyle. Bu yüzden bilgisayar mühendisliğinden mezun biri yazılım uzmanı olamıyor. C# öğretiyorlar burada değişken, döngü, operatör, dizi, method, matrisler öğretip farklı dile geçiyor. Orada da aynı şeyleri öğretiyor, Yani java diline geçip değişken, döngü, operatörler, method, diziler, matrisler. Sonrasında c dersinde aynı şeyleri öğretiyor. Burada değişen tek şey syntax. Mantık aynı aslında. Bu yüzden kişi mezun olunca en iyi ihtimalle değişken, döngü, karar yapılarını sözde öğreniyor. Ancak bunları da yazamaz halde mezun oluyor. Yazım kurallarını öğretip dilin teknolojisini öğretiyorlar mı? Burayı öğretirken bir değişken tanımlandığında RAM’de stack’ta mı HEAP’te mi tutuluyor? Referans tipler neler, bu değerler RAM’da nasıl saklanıyor gibi detayları öğretiyorlar mı?
Örneğin C# programlama dilini öğrettikten sonra .NET Core, entity framework, HTML, CSS, JavaScript, Web API, Microservice, RabbitMQ öğretiyor mu? İleri C# konularına giriyor mu? Delegate, Reflection konularını detaylı işliyor mu? OOP dediğimiz nesne tabanlı programlama tekniğini işleyip proje yaptırıyor mu? Kalıtım, kapsülleme, polymorphism ilkelerine derinlemesine giriyor mu? Katmanlı mimari yapısını anlatıp uyguluyor mu? Solid Prensipleri anlatılıyor mu? Best Practice’ler anlatılıyor mu? Güvenli yazılım geliştirme kursu veriliyor mu?
Bu konular bir yazılımcı yetişmesi için olmazsa olmazlardır. Yani yazılım uzmanı programlama dili bilen kişi değildir. Programlamayı bugün video izleyerek bile öğrenebilirsiniz. Buradaki asıl mesele yazılımcı kafası oluşturmaktır.
Buradaki yapıyı bir örnek ile aktarayım.
Bir sofraya oturdunuz. Bu sofra Microsoft sofrası olsun. Sofrada pek çok lezzetli yemekler var. Bu yemeklerden yiyebilmek için bir kaşığa ihtiyacınız var. İşte bu kaşık C# programlama dilidir. Yani aracımız. Yemekler ise Microsoft Teknolojileridir. Yani Entity Framework, .NET, .NET Core, MSSQL, WEB API. Bunlar bizim yemeklerimizdir. Şimdi kaşığımız C#. Yemeklerimiz yukarıda bahsettiğim Microsoft teknolojileri (.NET, MSSQL, HTML, CSS …). Şimdi bu yemeklerden yiyebilmemiz için kaşığı nasıl tutacağız, yemeklerden nasıl yemek yiyeceğiz? Bir tekniğe ihtiyacımız var. Bu teknikte OOP’dir yani Nesne tabanlı programlama tekniği. İşte bu yüzden yazılım kursları 3 aşamadan oluşmalıdır.
- Aracımız - Kaşık – C# Programlama Dili
- Tekniğimiz – Kaşığı nasıl tutacağız? – OOP (Nesne Yönelimli Programlama Tekniği)
- Teknolojimiz – Yemek - .NET Core, MSSQL, WEB API, HTML, CSS, JavaScript, React, Angular, Microservice, RabbitMQ vs…
C# (KAŞIK) – OOP (TEKNİK) – TEKNOLOJİ (YEMEK)
Yazılım Kursu Fiyatları ile ilgili konu gelecek hafta ele alınacaktır.