Günümüzde teknolojinin gelişmesiyle beraber yazılım hayatımızın her alanında ve yazılım alanındaki bir çok meslek artarak rağbet görmektedir. Bu durum haliyle insanların yazılım alanına girmesine ve bu alana merak duymasına sebep olmaktadır. Yazılıma başlamak istiyorum diyen herkese hitap edecek güzel bir rehber hazırladım.
Yazılım Nedir?
İlk olarak yazılımın tek başına bir meslek olmadığını, yazılımcı olmanın ne demek olduğunu kısaca özetleyelim. Yazılım veya program herhangi bir makineye komutlar vasıtasıyla işlerimizi yaptırdığımız kodlar bütünüdür. Bu makine bir otomatik kapı da olabilir, bir süper bilgisayar da. Alan olarak ele aldığımız zaman yazılımla yapamayacağınız şey yoktur denebilir.
Yazılımcı kimdir ve ne iş yapar?
Yazılımcı ise çeşitli programlama dilleriyle makinelere ön tanımlı işlemleri yaptıracak kodları yazan kişilerdir. Yani, makine ile insan arasındaki diyalog yazılımcılar tarafından yazılan kodlarla mümkün olmaktadır. Yazılımcılar neredeyse her alanda çalışmalar yapabilmektedir. Yazılım alanında önde gelen iş kollarından bir kaç tanesini listeleyelim. Web tabanlı uygulama geliştirme, oyun geliştirme, mobil uygulama geliştirme, siber güvenlik, web sitesi yapımı, robotik kodlama gibi…
Yazılımcı olmak için hangi dilleri bilmek gerekir? Hangi Yazılım dilini öğrenmeliyim?
Programlama dili kendi içerisinde bir yapısı olan, insan komutlarının makinelere iletilmesini sağlayan gelişmiş yapılara sahip dillerdir. Makine dünyasında genel anlamda binary(ikili) sistemle işlemler yapılır. Çeşitli girdilerle (klavye, mouse, açma kapatma düğmeleri, sensörler …gibi) alınan veriler bir derleyiciyle derlenerek makinelerin anlayabileceği birler ve sıfırlardan oluşan bir yapıya dönüştürülür. Bu sayede makineler girilen veriyi anlamlandırılabilir ve gerekli işlemleri yapabilirler. Genel mantık olarak işleyiş bu şekildedir. Günümüzde çalışma prensibi olarak farklı diller var bu yazının konusu olmadığı için o kısımlara pek girmeyeceğim. Bu konularda da ek yazılar geldikçe eklemelerle konuyu zenginleştirebilirim.
Kısaca temel kavramlardan bahsettikten sonra yazının asıl konusu olan yazılıma nereden başlamalıyım konusuna dönelim. Yukarıda tanımlama yaparken bahsettiğimiz gibi yazılım çok geniş ve ucu açık bir alan. Bu sebeple yapmamız gereken ilk iş çalışmak istediğimiz alanı seçmek olmalı. Çalışacağımız alanı seçtikten sonra bu alana en uygun olan programlama dilini veya dillerini seçerek bu alanda ilk taşımızı atmış olacağız. Burada kısa bir hatırlatma yapmakta fayda var, seçeceğiniz alana göre birkaç tane dili öğrenmek gerekebilir. Tek bir dil öğreneceğim ve bitecek gibi düşünmeyin. Çalışmak istediğiniz alanı ve bu alana uygun programlama dilini/dillerini seçtikten sonra yazılım öğrenme sürecine başlayabilirsiniz.
Yazılım en kolay nasıl öğrenilir?
Artık kararını vermiş ve çalışmak istediği alanı bilen biri olarak ilk yapmanız gereken öğrenmek istediğiniz dilin söz dizimizi (syntax) yapısını öğrenmek olmalı. Syntax yapısı size programlama dilinde neyi nasıl yazmanız gerektiğini gösteren o dilin kurallar bütünüdür. Değişken tanımlama kuralları, şart blokları, döngü yapıları gibi temel konulara hakim olmanız en azından basit işlemler yapmak için en gerekli konulardır.
Bu temelleri öğrendikten sonra basitten başlayarak bol bol uygulama yapmanız hızlı ilerlemenizi sağlayacaktır. Bol bol hata yapmaya ve hatalarınızı anlamaya çalışmanız en iyi gelişme yöntemidir. Çünkü yazılım esasında bir problem çözme sanatıdır.
Yani özetlemek gerekirse yazılım öğrenmek için kolay bir yol yoktur ama kolay yöntem vardır.
Yazılım için okumak gerekir mi? Hangi Bölümü okumam gerekir?
Bir çok alanın aksine yazılımcı olmak için üniversite, lise ve hatta ortaokul diplomasına bile gerek yoktur. Tabii ki buradan okumamanız sonucunu çıkarmayın 🙂 bu sadece zorunluluk değildir.
Pek çok üst düzey yazılımcı farklı alanlardaki kariyerlerini bırakarak bu alanda ilerlemiştir. Bunun yanı sıra, programlama, bilgisayar mühendisliği, yazılım mühendisliği gibi alanlardan da mezun olup bu alanda harika işler yapan insanlar tabii ki çokça mevcut. Yazılımcı olmak için en temelde problem çözme yeteneği, sebep sonuç ilişkisi kurma mantığı, analitik düşünebilme, ve bunların hepsinden de önemlisi kod yazmayı sevmek gerekli diye düşünüyorum. Son madde hariç hepsi işinizi önemli ölçüde hızlandıracak özelliklerdir.
Yazılım öğrenmek ne kadar sürer? 1 yılda yazılım öğrenilir mi?
Yazılım öğrenmek demek bir dilin syntax (söz dizimi) yapısını bilmek demek değildir. Önce bu konunun bir altını çizelim. Yazılım öğrenmiş olmak demek kullandığınız dilde karşılaşabileceğiniz tüm problemlere çözüm üretebiliyor olmak demektir. Bu da tecrübeyle ve zamanla gelişerek büyüyen bir durumdur. Yani kişiye göre bir ilerleme takvimi var diyebiliriz. Ne kadar çok problem çözerseniz o kadar iyi bir yazılımcı olursunuz bunun süresi de çözeceğiniz problemlere ve sizin gelişiminize bağlı olarak 6 ay da sürebilir 10 yıl da.
Yazılım öğrenmek için ingilizce şart mı?
Yazılım alanında deneyimin ne kadar çok problem çözdüğünüzle doğru orantılı olarak arttığından bahsetmiştik. Bunun iki yolu vardır birincisi yaşadığınız tüm sorunlara kendiniz çözüm üretmek, ikinci ve daha kolayı ise daha önce benzer sorunlar yaşamış kişilerin çözümlerinden faydalanmak. İşte bu ikinci yol için ingilizce çok önemli ama olmazsa olmaz bir konu değildir. Translate ile sorununuzu yakın şekilde tarif eden cümleler kurarak ilerleyebilirsiniz ve çıkan sonuçlardan da denemeler yaparak ilerleyebilirsiniz. Tabii ki ingilizce en azından okuduğunu anlayacak seviyede olması işinizi çok hızlandıracaktır orası da yadsınamaz bir gerçektir. Ama genel olarak matematik bilmeden yazılımcı olunmaz, ingilizce bilmeden yazılımcı olunmaz gibi klişe lafların biraz gereksiz olduğunu düşünüyorum. İstediğiniz zaman her şeyi başarabilirsiniz.
Yazılımcı maaşlar, Yazılımcılar ne kadar kazanır?
Bu alana bu kadar girip sonrasında ne kazanacağımızı bilmemek olmazdı sanırım. Şaka bi tarafa ben hiç bir işin maaş eksenli yapılmaması gerektiği kanaatindeyim. Çünkü işini severek yapan bir muhasebeci, işini severek yapmayan bir cerrahtan daha fazla kazanabilir. Konfüçyüs’ün çok sevdiğim bir lafı var, sevdiğiniz işi yaparsanız bir gün bile çalışmış olmazsınız der. Hayat gibi kısacık bir zaman diliminin sevilmeden yapılacak işlerle sadece para kazanmak odaklı yapılması bana hep yanlış gelmiştir. Bu kadar felsefeden sonra biraz da sektörün gerçeklerinden bahsetmek gerekirse. Çalışacağınız alandaki deneyiminize bağlı olmak koşuluyla yüksek maaşlar kazanabilirsiniz. 2022 yılı sonlarında ortalama yazılımcı maaşları 15bin giriş seviyelerden başlıyor ve yukarılara göre deneyiminize göre artıyor.