Article cover

18.09.2023

14

Like

842

Views

Yeni Başlayanlar İçin Yazılım Alt Dalları ve Özellikleri

Yazılım dünyası çok geniş bir alan olduğu için yazılım sektörüne yeni girmiş veya girmenin hayalini kuran pek çok kişinin kafası doğal olarak karışmaktadır. Bu kafa karışıklığını bir nebze olsun hafifletmek için aşağıdaki makaleyi yazmaya karar verdim. Umarım meraklılarına faydası olur.


Öncelikle yazılım dünyasının uçsuz bucaksız, hatta içinde pek çok deniz ve farklı ekosistemi barındıran, bir okyanus olduğunu bilerek başlamak gerek. Bu sizin gözünüzü korkutmasın bilakis cesaretinizi arttırsın. Çünkü siz bu okyanusta gemiler inşa edecek ve balık avlayacaksınız. Şunu bilin ki kimse bu okyanusun her köşesini ve içinde barındırdığı her balık ve yosun türünü ezberden bilmiyor. Bir kaç yıl sonra göreceksiniz ki belli bir konuda çevrenizde sizden daha bilgili kimse olmayacak. Çünkü şunu göreceksiniz ki aynı alanda hizmet veren iki rakip firma hatta farklı ekosistemleri kullanabiliyor veya aynı firmada aynı işi yapan iki kişinin bile kullandığı yöntem ve araçlar birbirinden çok farklı olabiliyor. Yani özelsiniz veya çok kısa zamanda olacaksınız. Bundan hiç şüpheniz olmasın.


Şimdi genel hatlarıyla yazılımın alt dalları hakkında biraz bilgi verelim. Fakat bunu yaparken şunu akıldan çıkarmayalım ki bazen bu alt dallar girift bir şekilde birbiriyle kesişebilmektedir. Hatta burada bahsi geçmeyen başka alt dallar da olabilir fakat bu yazı çok derin bir analizden ziyade başlangıç seviyesindeki kafa karışıklığını azaltmayı hedeflemektedir. Yorumlarınız ve sorularınızla konuyu derinleştirme konusunda bana yardımcı olabilirseniz farklı yazılarla konuyu derinleştirebilir veya genişletebiliriz.


  1. Web Geliştirme (Frontend - Client side): Genel olarak bir web sayfası veya uygulamasının ön yüzünü (kullanıcı arayüzü) geliştirirler. Yapılan işin neticesinin hemen görülmesi gibi özellikle yeni başlayanlar için mesleki açıdan çok tatmin edici bir yönü vardır. Genellikle tasarım ağırlıklı çalışan UI/UX (User Interface/User Experience) Designer veya uygulama ağırlıklı çalışan FE Developer olarak iki gruba ayrılırlar. Olmazsa olmaz araçları HTML, CSS ve JavaScript'tir. Bunun dışında UI/UX çalışanlar genellikle en az bir CSS kütüphanesi (Bootstrap, Tailwind, Bulma, vs) ve bir CSS ön işlemcisi (SASS, LESS, SCSS, vs) bilmek zorundadır. Uygulama ağırlıklı çalışanlarsa derin bir JavaScript kavrayışı yanında bir JavaScript kütüphanesini (Angular, React, Vue, vs) bilmek zorundadır. Dünya üzerindeki tüm web sayfalarının Frontend programlamasında %99 oranında JavaScript kullanılır.
  2. Web Geliştirme (Backend - Server Side): Bir web sayfa veya uygulamasının arka planında çalışan tüm işlemler Backend geliştiricinin sorumluluğuna girmektedir. Sayfanın server ile etkileşimi, login, kayıt, veri giriş, çıkış, düzeltme ve silmeleri gibi tüm işlemleri bu gruba girer. Pek çok farklı backend stack'i (Java - Spring, JavaScript - Node.JS, Python - Django, PHP - MySQl, vs) olmakla birlikte dünyadaki tüm web sayfalarının yaklaşık %80'inde PHP ve SQL kullanılmaktadır. Backend geliştiricilerin backendde kullanabilecekleri bir programlama dili yanında veri alışverişinde kullanabilecekleri bir veri dilini (SQL veya NoSQL) ve programını da bilmeleri gerekmektedir.
  3. Uygulama Geliştirme (Desktop veya Mobil): Uygulama geliştiriciler masaüstü veya mobil platformlar (Android, IOS, vs) için uygulama geliştirirler. Bunlar da kendi içinde frontend ve backend diye ayrılabilecekleri gibi kullandıkları dil ve araçlar farklı olduğu için bunun dışında desktop ve mobil uygulama geliştirici ve hatta mobilciler de kendi içinde Android ve IOS olarak ikiye ayrılmaktadır. Kullanılan dil ve araçlar desktop alanında çok çeşitli (Java, Basic, Delphi, C#, Ruby, JavaScript, vs) olmasına rağmen desktop üzerinde Java, C, C++ ve C#; android alanda Kotlin; IOS alanında ise Swift öne çıkmaktadır.
  4. Uygulama Geliştirme (Mobil):
  5. Oyun Geliştirme (Game Development):
  6. Gömülü Sistemler (Embedded Systems):
  7. Testerlik (QA Engineer):
  8. DevOp:
  9. Veri Analizi (Data Science):
Yazılım Dünyasında Kariyer Basamakları
Yazılım, Internet, Kodlama ve Konseptleri
Nereden Başlasam

Comments

You need to log in to be able to comment!

Murat Yasar

Fullstack Web Developer (HTML5, CSS3, Bootstrap5, JavaScript, React, PHP, MySQL, TYPO3)

Location

DE

Education

Fullstack Web Developer - AlfaTraining Bildungszentrum

MBA - Fatih Üniversitesi

Fizik - Fatih Üniversitesi

Job Experience

Software Developer - COMKOM° GmbH

© 2021 Patika Dev

facebook
twitter
instagram
youtube
linkedin