Hangi Kariyer Seçilmeli: Programcı mı Sistem Yöneticisi mi?


Teknoloji alanındaki kariyerler geniş ve çeşitlidir ve farklı beceriler gerektirir. Programlama ve Sistem Yöneticiliği öne çıkan iki meslektir ve bu alanlardaki profesyonelleri hemen hemen her şirkette bulmanız muhtemeldir.

Programlama ve yönetim becerilerine yönelik artan talep, aradaki boşluğu dolduran ve aynı alanda uzman arayan şirketler için çalışan serbest çalışanlara kapılar açtı.

Bu eğitimde, Programcılar ve Sistem yöneticileri arasındaki farkları, özellikle de beceriler açısından inceliyoruz.

Programcı Kimdir?

Programlama, belirli görevleri yerine getiren bir uygulama veya program oluşturmak için kod yazma işlemidir.

Programcı, bir yazılım uygulaması veya programı oluşturan kodu yazan bir BT uzmanıdır. Tipik bir uygulama veya program, karmaşıklığına bağlı olarak yüzlerce hatta binlerce satır koda sahip olabilir.

Bir bilgisayar programcısına bazen yazılım geliştiricisi denir ve ikisi aynı şeyi ifade etmek için birbirinin yerine kullanılabilir. Ancak iki profesyonel arasındaki farklar ve programcıların ve geliştiricilerin üstlenebileceği sorumlulukların kapsamı konusunda sürekli bir tartışma var.

Bugün kullanımda olan bir sürü programlama dili var. Popüler örnekler arasında Java, Python, Go, RUST, C, C++, C#, Javascript ve PHP bulunur. Programlama dilleri olarak sınıflandırılmasa da HTML ve CSS, ön uç web geliştirmenin omurga dilleridir.

Programlama dillerinin çoğalması, teknoloji endüstrisinde çeşitli programlama nişlerinin ortaya çıkmasına yol açtı. Programlama hızla büyüdü ve teknoloji endüstrisindeki hızlı büyüme, çeşitli programlama nişlerinin ortaya çıkmasına yol açtı.

Bu programcı kategorilerinden bazılarını inceleyelim.

Ön Uç Geliştiricileri

Front-End geliştiricileri, bir web sitesinin veya web uygulamasının görsel bileşenlerini tasarlama konusunda uzmanlaşmış profesyonellerdir. Web sitelerinin kullanıcı arayüzünü (Kullanıcı Arayüzü) oluşturmak ve sorunsuz ve sürükleyici UX (Kullanıcı Deneyimi) sağlamakla görevlidirler.

Adından da anlaşılacağı gibi, Ön Uç geliştiricileri web sitelerinin görünümünü ve hissini tasarlar ve tüm öğelerin estetik açıdan çekici ve kullanıcı etkileşimi ve girdilerine duyarlı olmasını sağlar. Bir Ön Uç geliştiricisi olarak, web sitelerinin ziyaretçilere ve potansiyel müşterilere nasıl görüneceğini görselleştirmek için yeterince yaratıcı olmanız gerekir.

Front-end geliştiricilerin sahip olması gereken beceriler şunlardır:

  • HTML ve CSS
  • Javascript, TypeScript
  • Bootstrap, React, Angular ve Vue.JS gibi çerçeveler
  • Tarayıcılar arası uyumluluk
  • Duyarlı tasarım
  • Git gibi Sürüm Kontrolü.

Arka Uç Geliştiricileri

Arka uç, bir web sitesinin veya uygulamanın görsel yönlerinin arkasında gerçekleşen her şeyi ifade eder. Bunun iyi bir örneği, belirli bir görevi gerçekleştiren bir düğmeye tıklamanızdır.

Örneğin, 'Kaydol' veya 'Gönder' düğmesini tıkladığınızda, bu, web sitesinin görsel yönünün bir parçası olmasına rağmen, gerçekte başardığı şey, arka uç olarak anılır.

Arka uç çoğunlukla sunucu işlemlerini, API'leri ve karmaşık ve büyük ölçekli veritabanlarıyla etkileşimleri gerektirir.

İdeal olarak, arka uç geliştiricilerin verimli çalışabilmeleri için HTML, CSS ve Javascript gibi ön uç dillerini sağlam bir şekilde kavramaları gerekir. Ancak daha da önemlisi, arka uç teknolojilerinde aşağıdaki gibi sağlam bir temele ihtiyaçları var:

  • Java
  • Piton
  • perl
  • .AÇIK
  • raylar üzerinde yakut
  • Node.JS
  • C
  • SQL, PostgreSQL gibi veritabanı teknolojileri ve MongoDB ve Redis gibi NoSQL veritabanları.
  • API geliştirme
  • Test Etme ve Hata Ayıklama Araçları
  • Git Sürüm Kontrolü

Fullstack Geliştiricileri

Bir ön uç ve arka uç geliştiricinin becerilerini birleştirirseniz, tam kapsamlı bir geliştiriciye sahip olursunuz. Tam kapsamlı bir web geliştiricisinin görevi, web sitesi düzeni, tipografi ve yanıt verme hızı gibi görsel öğelerden arka uç mimarisine kadar sıfırdan web siteleri geliştirmektir.

Sonuç olarak, tam yığın geliştirici en değerli geliştiricilerden biridir ve geliştiricilerden sonra gelir ve cazip bir ödeme paketine sahiptir. Beklendiği gibi, bir tam yığın geliştirici, bir ön uç ve arka uç geliştiriciden alınan becerilerin bir kombinasyonuna sahip olacaktır.

Mobil Geliştiriciler

Mobil uygulamalar (hem Android hem de iOS) günlük hayatımızın kritik bir parçasıdır. İster sosyal medyada olun, ister öğle veya akşam yemeği sipariş edin, ister haberleri veya hava durumunu kontrol edin, ister telefonunuzda oyun oynayın, bunları her gün kullanırsınız.

Mobil geliştiriciler, aşağıdaki dillerde beceri gerektiren mobil uygulamaları geliştiren ve test eden profesyonellerdir:

  • Java
  • Kotlin
  • Swift – iOS uygulamaları için
  • Hedef C
  • Yerel Tepki Ver
  • React.JS

Veritabanı Geliştiricileri

Veritabanları her yerde bulunur ve herhangi bir teknoloji yığını, bulut uygulaması veya merkezi kurumsal uygulama, verileri depolamak ve çoğaltmak için bir veya daha fazla veritabanına dayanır. Bir uygulama ne kadar karmaşıksa, istikrarlı ve sağlam veritabanı yönetim sistemlerine olan ihtiyaç da o kadar artar.

Bir veritabanı geliştiricisi, veritabanlarının nasıl çalıştığı konusunda uzmanlığa sahip bir profesyoneldir. Veritabanı geliştiricileri veritabanları oluşturur ve sürdürür ve verilerin verimli bir şekilde depolanmasını sağlar. Ayrıca, yeni veritabanlarının tasarlanması ve uygulanmasından ve mevcut olanların uygulamanın değişen gereksinimlerine uyum sağlayacak şekilde güncellenmesinden ve ayarlanmasından sorumludurlar.

Bir veritabanı geliştiricisinin aşağıdaki veritabanı becerilerine sahip olması gerekir:

  • MySQL, PostgreSQL, Microsoft SQL sunucusu vb. gibi SQL ilişkisel veritabanları.
  • MongoDB, Redis, Apache Cassandra, CouchDB vb. dahil NoSQL veritabanları.
  • Kahin
  • IMB DB2
  • Veri analizi
  • Linux/UNIX işletim sistemleri.

Oyun Geliştiricileri

Küresel video oyunu endüstrisi, bir süredir dünyayı kasıp kavuran devasa bir endüstri. 2022 yılında küresel oyun endüstrisinden elde edilen gelirin yaklaşık 347 milyar ABD doları olacağı tahmin ediliyor. Aslında oyun sektörü o kadar büyük ki statista.com'a göre Hollywood'un neredeyse dört katı olduğu tahmin ediliyor.

Oyun sektörünün büyümesi, Xbox ve PlayStation gibi dünya çapında büyük popülerlik ve talep gören oyun konsollarının sürekli yenilenmesiyle zorunlu hale geliyor

Bu da oyun programcılarına olan talebi artırdı. Bunlar, Windows, Mac, Linux, Android veya iOS gibi çeşitli platformlarda oyun geliştirmek için tamamen kod yazmaya odaklanan programcılardır.

Başarılı bir oyun geliştiricisi olmak için aşağıdaki gibi oyun motorları hakkında derin bilgi ve anlayışa sahip olmanız gerekir:

  • Gerçekdışı Motor
  • Godot
  • Ağlama Motoru
  • Birlik

Ve daha fazlası. Aynı derecede önemli olan, aşağıdaki programlama dillerine hakim olmaktır:

  • C ve C#
  • Java Javascript'i
  • Piton
  • HTML ve CSS

Sistem Donanımı Programcıları

Sistem veya donanım geliştiricileri, özellikle ürün yazılımı için düşük seviyeli programlama dilleri kullanarak kod yazmaya odaklanan programcılardır. Bu, ROM (Salt Okunur Bellek) gibi kalıcı belleğe yerleştirilmiş bir program veya mikro koddur. Bilgisayarın donanım aygıtlarını nasıl kullanacağına ve yöneteceğine ilişkin talimatlar içerir.

Ürün yazılımı donanımın doğal bir parçasıdır ve değiştirilemez. Firmware'in başka bir örneği de, önyükleme sırasında kontroller yapan ve tüm bileşenlerin beklendiği gibi çalışmasını sağlayan BIOS'tur (Temel Giriş Çıkış Sistemi).

Sistem veya donanım programcıları tarafından yaygın olarak kullanılan diller şunları içerir:

  • Gömülü C ve C++
  • Java
  • Piton

Buna ek olarak, sistem programcıları, sistem mimarisinin giriş ve çıkışlarını ve çeşitli bileşenlerin donanım düzeyinde birbirleriyle nasıl iletişim kurduğunu iyi bilmelidir.

Şu ana kadar en büyük ve en yaygın programcı kategorilerinden bazılarını özetledik. Bu, sektördeki tüm programcıların kapsamlı bir listesi olmasa da, bu programcılar günlük olarak etkileşimde bulunduğumuz uygulamalar, araçlar ve hizmetler geliştirmektedir.

Şimdi odağı değiştirelim ve Sistem Yöneticilerine bir göz atalım.

Sistem Yöneticisi kimdir?

Sistem yöneticileri, bir kuruluşun bilgi işlem ortamından sorumlu olan BT uzmanlarıdır. Bir kuruluşun temel BT hizmetleri ve sistemlerinde optimum performansın ve maksimum çalışma süresinin sağlanması da dahil olmak üzere çok çeşitli operasyonlar yürütürler.

Ayrıca, sunucuların dağıtımı, yapılandırılması ve bakımının yanı sıra herhangi bir arızanın giderilmesiyle de görevlidirler. Sistem yöneticileri zaman zaman değerlendirmeler yapar ve bir kuruluşun artan ihtiyaçlarına yanıt olarak yeni teknolojileri kullanıma sunar.

Özetle, bir sistem yöneticisinin önemli işlevleri şunları içerir:

  • Yazılım uygulamalarının kurulumu ve konfigürasyonu.
  • Erişim kontrolleri, güvenlik duvarları vb. önlemleri uygulayarak sunucuların ve uygulamaların güvenliğinin sağlanması.
  • Sunucuların ve uygulamaların izlenmesi ve mümkün olan maksimum çalışma süresinin sağlanması.
  • Kullanıcı hesaplarının ayarlanması.
  • Tekrarlayan ve sıkıcı görevlerin otomatikleştirilmesi.
  • Sunucu yedeklemelerinin gerçekleştirilmesi.
  • Bağlantı sorunlarını ve kesintilerini giderme.

Bir sistem yöneticisine verilen sorumlulukların doğası göz önüne alındığında, görevlerini yerine getirmelerine yardımcı olmak için aşağıdaki beceriler çok önemlidir.

  • Windows, Linux veya Mac gibi işletim sistemlerini yönetme becerisi. Çoğu BT hizmeti ve uygulaması Linux ortamında çalıştığından Linux'a daha fazla önem verilmektedir. Yine de Windows sunucuları çoğu kurumsal kurulumda yaygın olarak kullanılmaktadır ve Windows yönetimi konusunda derinlemesine bilgi sahibi olmak büyük bir artıdır.
  • Sunucular, güvenlik duvarları, yazıcılar, bilgisayarlar vb. dahil olmak üzere farklı donanımlara aşinalık.
  • LAN'ların (Yerel Alan Ağları) ve WAN'ların (Geniş Alan Ağları) nasıl yapılandırılacağı ve bakımının yapılacağı da dahil olmak üzere bilgisayar ağları hakkında sağlam bilgi.
  • Bulut bilişim becerileri. AWS, Microsoft Azure, Office364 ve Google Cloud gibi Bulut platformlarına aşina olmak, özellikle uygulamalarını Bulut üzerinde barındıran kuruluşlar için büyük bir artıdır.
  • Vmware Esxi ve VSphere, VirtualBox, OpenStack vb. sanallaştırma platformları hakkında bilgi
  • Docker ve Podman gibi konteynerleştirme platformlarının yanı sıra Kubernetes ve Docker Swarm gibi konteyner düzenleme araçları hakkında derinlemesine bilgi.

Sistem Yöneticileri İçin BT Sertifikaları

İdeal olarak Sistem yöneticilerinin ve aslında çoğu BT uzmanının bir veya daha fazla BT sertifikasına sahip olması beklenir. Sertifika yalnızca iş için nitelikli olduğunuzu kanıtlamakla kalmaz, aynı zamanda kazançlı bir işe girme ve kurumsal merdiveni yükseltme şansınızı da artırır.

Kullanılan role veya teknolojilere bağlı olarak, başlangıç düzeyindeki bir sistem yöneticisi için en çok talep edilen sertifikalardan bazıları burada verilmiştir.

  • RHCSA – Red Hat Sertifikalı Sistem Yöneticisi
  • RHCE – Red Hat Sertifikalı Mühendis
  • LPIC – Linux Profesyonel Enstitüsü Sertifikasyonu
  • MCSA – Microsoft Sertifikalı Sistem Yöneticisi
  • MCSE – Microsoft Sertifikalı Sistem Mühendisi
  • CCNA – Cisco Sertifikalı Ağ Yöneticisi
  • CKA – Sertifikalı Kubernetes Yöneticisi
Bizim düşüncemiz

Her iki meslek de kazançlıdır ve modern BT endüstrisinde yüksek talep görmeye devam etmektedir. Güçlü yönlerinize ve yeteneklerinize bağlı olarak rahat olduğunuz mesleğe razı olabilirsiniz. Biraz iç gözlem yapmanızı ve tutku duyduğunuz, kendinizi geliştirmek istediğiniz mesleğe yönelmenizi öneririz.