1945 yılında John von Neumann tarafından elektronik hesaplayıcının bulunması ile hayatımıza giren yazılım, 2022 yılında hayatımızın neredeyse her alanında var olmaya devam ediyor ve edecek.

Yazılım dendiğinde aklına ilk olarak Matrix filmindeki bilgisayar ekranları gelse de; akıllı telefonun, evindeki robot süpürge ya da dijital olan her cihaz aslında yazılım içerdiğinin farkında varmanda fayda var. İşte yazılım, hayatımızla bu kadar bir bütün haline geldi.

Günümüzdeki ilkokul öğrencilerinin dâhi artık kodlama dersi aldığı bir dönemdeyken gel bu kavramı biraz daha derinden inceleyelim. Çünkü “yazılım öğrenmek” bir kavram olmanın dışında, hayatımızın bir parçası/bütünü haline gelecek. “Yazılım öğrenmek istiyorum” diyorsan, senin için hazırladığımız tüm detaylı ipuçları yazımızda!

Yazılım Ne Demek?

Yazılım; elektronik tüm cihazların istenilen komut ve işleve yönelik çalışabilmesi adına uygulanan işlemler bütünü olarak tanımlanıyor. Bilgisayar yazılımları da kendi içinde uygulama yazılımları ve sistemsel yazılım olmak üzere ikiye ayrılıyor. Peki yazılım öğrenmeye nereden nasıl başlamalısın?

Uygulama Yazılımları

Uygulama yazılımı, son kullanıcı için belirli görevleri gerçekleştiren yazılım türü anlamına geliyor. Yani, kullanıcı bir yazılım parçasıyla doğrudan etkileşim kuruyorsa, bu uygulama yazılımı anlamına geliyor. Örneğin, Microsoft Word veya Excel, Firefox veya Google Chrome gibi yaygın web tarayıcılarına gibi uygulama yazılımı diyebiliriz.

Ayrıca, WhatsApp gibi iletişim uygulamaları veya oyun uygulamaları mobil uygulamalar kategorisini de içeriyor. Hava durumu veya ulaşım bilgileri veya müşterilerin şirketlerle etkileşim kurması için uygulamalar sağlayanlar gibi yaygın hizmetlerin uygulama sürümleri de mevcut.

Sistemsel Yazılımlar

Sistem yazılımına, bir bilgisayarın donanım ve uygulama programlarını çalıştırmak için tasarlanmış bilgisayar programı türü diyebiliriz. Şöyle ki; bilgisayar sistemini katmanlı bir model olarak düşünürsen, sistem yazılımını, donanım ve kullanıcı uygulamaları arasındaki ara yüz olarak görebilirsin.

İşletim sistemi, sistem yazılımının en iyi bilinen örneklerinden bir tanesi ise, bir bilgisayardaki diğer tüm programları yönetebileceğini söyleyebiliriz.

Yazılım Nasıl Öğrenilir?

Yazılım öğrenmek aslında ucu bucağı olmayan, her daim kendini geliştirebileceğin ve üstüne koyabileceğin bir süreç. Öncelikle uygulama geliştirme ya da sistem geliştirme üzerine olmak üzere hangi kapsamda ilerlemek isteyeceğine karar vermelisin.

Sonrasında ise bir programlama dili öğrenmeye odaklanmalısın. C-C, C++, Java, C#, Objective-C, Ptyhon, PHP gibi yazılım dilinden hangisinde uzmanlaşmak isteyeceğini düşünmende fayda var.

Bu tabirler şu an sana yabancı geliyor olabilir, fakat yazılım öğrenmek ve kendini geliştirebilmek içine pek çok online ve yüz yüze kurs olduğunu unutmamalısın.

Online kurslardan bazılarını örnek vermek gerekirse; CodeAcademy, Code.org, Bento, Udacity, Udemy, Khan Academy, W3Schools gibi platformlar bu öğrenim için biçilmiş kaftan diyebiliriz.

Zaten yazılım alanında bir kariyer planı geliştirmek istiyorsan, bilirkişilerden ya da kurumlardan mutlaka ders almanı öneririz.

Derslerini aldıkça bir olmazsa olmaz olarak pratik yapmaya başlaman senin için faydalı olabilir. Kendine küçük projeler ve hedefler oluşturabilirsin. Yeni öğrendiğin her bir detay üzerine taze taze pratiklerini geliştirmen senin lehine olabilir.

Bir yazılımcı adayı olarak, internetin sana sunduğu sonsuz faydalardan yararlanmayı unutmamalısın. Yazılımla ilgilenen kişilerin ve yazılım profesyonellerinin yer aldığı platformları takip altına alman ve takıldığın bazı durumlarda buradaki kişiler ile iletişime geçebilmen senin de gelişmene katkı sağlayacaktır. Mesela Stackoverflow bu platformlardan bir tanesi.

Pratiklerini gerçekleştirdikten sonraki adım daha büyük olacak, hazırlıklı ol! 👀 Çünkü şimdiki görevin bir program yazmak olacak. Telaş yapma, kusursuz bir program yapmak zorunda değilsin. Her işte olduğu gibi burada da hatalar yapa yapa doğruyu bulacaksın, bu nedenle bir program tasarlamaktan korkma. Bu, seni oldukça geliştirecek adımlardan bir tanesi olabilir.

Yazılım öğrenmek için bir sonraki adım; test aşaması! Prototipini oluşturduktan sonra mutlaka test etmelisin. Yazdığın kodda çıkabilecek hatalar programının problemli çalışmasına neden olabilir.

Test ettikten sonra diğer meslektaşlarından ya da arkadaşlarından da programını test edebilmeleri için geri bildirim alabilirsin. Ne kadar çok geri bildirim alırsan, senin adına o kadar faydalı olabilir.

Hangi Yazılım Dilini Öğrenmelisin?

“Yazılım nasıl yapılır?, yazılım geliştirme nasıl uygulanır?” gibi soruların aklında dolaştığını biliyoruz. Ama bu sorunun maalesef ki genel bir cevabı yok. Çünkü öncelikle ilerlemek isteyeceğin yazılım dilinde karar kılmalısın. Aslında yukarıda da saydığımız gibi birçok yazılım dili mevcut; Java, C#, Ptyhon, PHP gibi…

Java, C# ağırlıklı olarak kullanılan yazılım dillerinden. Özellikle kurumsal ve büyük şirketler tercihlerini Java olarak kullanıyor.

Okunaklı bir dil olmasıyla öne çıkan Java, güvenilir bir programlama dili olarak da dikkat çekiyor. HTTP (Köprü Metni Aktarım Protokolü) ve FTP (Dosya Aktarım Protokolü) gibi ağ bağlantısı problemlerini de minimuma indirmesi nedeniyle oldukça tercih ediliyor.

Daha ufak projelerde ise Microsoft tarafından geliştirilen C# (C Sharp olarak da isimlendirilebiliyor.) tercih edilebiliyor. Yenilikçi bir kodlama dili olan C#, Java yazılım dili ile de oldukça benzerlik gösteriyor.

Web uygulamaları, mobil uygulamalar, web servis uygulamaları, oyunlar, konsol uygulamaları gibi pek çok platformda kodlama imkanı sunan C Sharp, yazılımcıların işlerini hayli kolaylaştırıyor.

Bu ikilinin (Java ve C#) avantajlı yanı dillerinin birbirlerine oldukça benzer olması. Yani herhangi birinde uzmanlaştıysan, diğerinde de profesyonel seviyeye gelmen oldukça kısa sürecek diyebiliriz. Yani; bir taş ile iki kuş! 🐯

Gelelim Ptyhon’a… Ptyhon, öğrenmesi oldukça kolay olan yazılım dilleri arasında. Küçük ve büyük ölçekli kullanımlar için de uygun diyebiliriz. Kullanması keyifli, çoğu projeni ise hayata geçirebileceğin bir yazılım dili.

Yapay zeka dahi geliştirebileceğin bir yazılım dili olan Ptyhon’un OpenCv kütüphanesini kullanarak yüz tanıma programları geliştirebilirsin. Web ve mobil olmak üzere iki ayrı alanda da geliştirmeler yapabileceğin Python, yazılım öğrenmek isteyelerin son zamanların gözdeleri arasında.

HTML içine yazılabilen bir betik dil olan PHP ise aralarında daha eski olsa da, hala %78.9’luk bir oranla en çok kullanılan yazılım dili.

Bunun büyük bir sebebi aslında oldukça yaygın bir kullanım olan WordPress olsa da, yine de PHP’nin zirvede olduğu bir gerçek. PHP’nin en gelişmiş ve en güçlü özelliklerini sorarsan; bulunan geniş veritabanı desteği olduğunu söyleyebiliriz.

Mysql Veri tabanı ile hızlı ve verimli bir şekilde çalışabiliyor ve bunun yanında Oracle, MSSQL gibi veritabanlarıyla da güvenli bir şekilde programlama yapma imkanı sunuyor. 

Mobil, frontend ya da backend; burada sana en keyif veren hangi aşama ise o alanda profesyonelleşemeye başlayabilirsin. Bu tamamen senin kararın! 😌

Kısa bir özet geçmek gerekirse; Java ve Python kapsamında yerli ve yabancı olmak üzere internette çok fazla eğitici kaynağa ulaşabilirsin. Nispeten daha kolay ve okunabilir olmalarından ötürü yeni başlayan yazılımcı adayları ağırlıklı olarak bu yazılım diline yöneliyor.

Hepsinden ziyade istikrarlı bir şekilde giderek yükselmeye devam eden mobil kullanımı göz önüne alırsak, uygulama konusunda yazılım geliştirmeyi de mercek altına alman senin adına faydalı olabilir.

Çünkü geçtiğimiz yılın verilerine göre ortalama bir internet kullanıcısı günün 4 saatini mobil cihazlar aracılığıyla geçiriyor.

IOS ve Android olmak üzere her iki işletim sistemini de kapsayan uygulama geliştirmeleri hakkında bilgi sahibi olman, seni çoğunlukla bir adım ileriye taşıyabilir.

Özellikle “metaverse” kavramının da giderek yaygınlaşacağını, hatta markaların bunun için birçok adımı başlattığını varsayarsak “yazılım nedir?” sorusunun yanıtını iyice öğrendikten sonra bu konu hakkında aksiyon almanın tam zamanı diyebiliriz. 

Özellikle bu alanda bir kariyer planı yapmak istiyor ve hedefliyorsan, teknolojinin sürekli büyüyüp geliştiği bu dönemde bir yazılımcı olarak sen de her daim gelişime ve değişime açık olmalısın. Çünkü dijital, her an değişken ve gelişime açı bir dünya olmasıyla öne çıkıyor. Bu anlamda, trendler ve uygulamalar sürekli olarak değişiklik gösteriyor.

Yazılım kariyerinde sana bol “0 ve 1″li kodlamalar diliyor, eğer yazılım konusunda profesyonel bir destek arıyorsan Bionluk üzerinde hizmet veren yüzlerce yazılım profesyonelinin yer aldığını hatırlatıyoruz 👩🏻‍💻👀

Sena Özışık

Editör, SEO Uyumlu Makale Yazarı, Dijital Pazarlama Uzmanı