En çok kazandıran yazılım dilleri, en çok kazandıran web dilleri, bu yılın en popüler yazılım dilleri, en fazla maaş alan yazılımcılar gibi birçok yazı okuyoruz şu aralar. Klasik bir Aralık ayı geçiriyoruz. Doğru olmayan listelerden tutunda, reklam amaçlı yapılan listelere kadar bir sürü en iyi listesi. En komiğine ise geçenlerde meşhur bir sosyal medya magazin sitesinde rastladım. En iyi maaşları gösteriyordu en çok kazanan yazılımcıları, güldüm geçtim tabi. Peki neye göre hareket etmek lazım? Neyi öğrenmek lazım?
Öğrenilmesi gereken yazılım dilleri nelerdir?
Cevap çok zor değil. Gelişim yönüne doğru ilerlemek lazım. Şu anda revaçta olan teknoloji herneyse ona göre hareket etmek lazım. Günümüze baktığımızda artık herşeyin mobil platformlara doğru kaydığını görüyoruz. Her uygulamanın her web platformunun birde mobil ayağı olmaya başladı. Mobil alanında ise ayrım gayet net bir şekilde önümüzde, Objective-C yada yeni platformu ile söyleyecek olursak Swift. Peki sadece bu yeterli mi? Tabiki değil yapılması gerekenlerin en başında belirlenmesi gerekenler var. Örneğin işin tasarım kısmında mı olacağız yoksa yazılım kısmında mı? Yazılım kısmında isek yazılımın data/servis kısmındamıyız, yoksa kullanıcı kısmındamıyız? Bu soruya cevap verdikten sonra öğrenmemiz gereken teknolojileri belirleyip, kendimize bir gelişim planı yapabiliriz.
Kullanıcı tarafında yazılım geliştirmek istiyorsak eğer;
HTML – HTML5
JavaScript
CSS
LESS – SASS – Stylus
Ajax
Json
Node.js
SQL
Bunların yanında olmazsa olmaz frameworklerde var tabiki. Hepsini olmasada en azından biri bilinmeli,
jQuery
Angular JS
Ember.js
Backbone
Knockout
todomvc
Firebase
Ionic
Cordova
Front-end kısmında bitmek bilmeyen araçlar bulunuyor. Bunları zaten işin içine girdiğinizde sizde göreceksiniz.
Grunt.js
Gulp.js
Bower
WordPress – CMS sistemlerinden birini bilmek yararımıza olacaktır.
Eğer tercihimiz back-end yani işin server tarafı, data/servis kısımları ise;
Java
Ruby
Python
Objective-C / Swift
PHP
JavaScript
Node.js
SQL
C#
C++
Bunların yanında tabiki framework olmadan olmaz;
Laravel
Ruby on Rails
ASP.NET
Burada sadece konu başlıklarını belirlemiş olduk. Hangi yöne gideceğimizi bulduktan sonra, öğrenme ağacımız dallanacaktır. Önemli olan yönü belirlemek, istekleri netleştirmek, ihtiyacı görerek hedefe doğru ilerlemek. Yavaş yavaş birşeyler öğrendikçe, ufak projeler geliştirerek öğrenilenler pekiştirilmeli. İlerleyen zamanlarda daha büyük projeler için planlar yapmalı ve analizleri, wireframeleri incelemelisiniz.