Full Stack Developer Nedir? Ne Yapar?

Önceden sadece web tasarımcısı veya web yazılımcısı olabilirdiniz. Ya da ikisini de birden yapabilen ve herkes tarafından aranan o kişiydiniz. Yani ya sitenin tasarımıyla ya da sitenin çalışmasını sağlayan kodlarla ilgileniyordunuz. İş ilanlarında “front-end (ön yüz) yazılımcısı” veya “back-end (arka yüz) yazılımcısı” pozisyonları bulunmaktaydı. Ancak son yıllarda bu ilanlara bir yenisi daha eklendi: “full stack developer”. Peki kimdir full stack developer ve ne iş yapar? Bu yazımızda front-end ve back-end nedir, full stack developer kimdir ve ne iş yapar gibi konu başlıklarına değineceğiz. Daha fazla bilgi için yazımızı okumaya devam edebilirsiniz.

Gelişen teknolojiyle birlikte web sayfalarının daha karmaşık bir hale gelmesiyle ve imkânların artmasıyla yazılımcılar da belirli konular üzerinde uzmanlaşmaya başladı. Şu anda yazılımcıların uzmanlaştığı konulara bağlı olarak üzerinde çalışılabildikleri birçok konu ve başlık bulunur. Ancak bunlardan bazıları temeldir. İşte o üç temel başlık:

  • Front-end (ön yüz): bir websitesinin veya uygulamanın görünen kısmıdır yani ön yüzüdür.
  • Back-end (arka yüz): bir websitesinin veya uygulamanın veritabanı ve altyapısı yani arka yüzüdür.
  • Full stack developer: ikisinin karışımıdır yani bir web sitesinin veya telefon uygulamasının hem ön hem arka yüzüyle ilgilenilir.

Front-end ve back-end arayüz odaklı geliştirilen yazılımların iki temel ve birbirinden ayrı kısmıdır. Bu yazımızda bu iki kısmın ne iş yaptıklarını ve farklarını açıkladık. . Ayrıca full stack developer olmanın avantajları ve dezavantajları nelerdir sorularını cevapladık.

Front-end Nedir?

Front-end yazılımcıları web sitelerinde kullanıcıların gördüğü ve etkileşime geçtiği kısımlarla yani web sitesinin ön yüzüyle ilgilenir. Bir web sitesinin veya mobil uygulamanın ön yüzü kullanıcıların direkt olarak etkileşime geçtiği kısımdır. Bir ön yüz birkaç yazılım diliyle yaratılabilir. Bunlar HTML, CSS ve Javascript’tir.

HTML: köprü biçimlendirme metni dilidir ve bir web sitesinin tabiri caizse bel kemiğidir. Ziyaret ettiğiniz her web sitesi HTML ile yaratılmıştır. Tüm yapı ve içerikle ilgilenir. Ziyaret ettiğiniz web sayfalarının çoğu HTML’nin eski versiyonları ile yaratılmış olsa da HTML 5 en son versiyondur.

CSS: HTML’nin bir sayfada nasıl göründüğünü kontrol eden şeydir. CSS ile bir web sitesinin renkleri, yazı tipleri, arka plan resimleri ve tüm sayfanın düzeni ayarlanır. Hatta HTML dosyasındaki düzen sıraları farklı olsa da, HTML öğelerini istediğiniz gibi düzenlemek için CSS’yi kullanabilirsiniz. CSS3, CSS’nin en son versiyonudur ve temel etkileşim ve aksiyonlar gibi eylemler için birçok özellik sağlar.

Normalde HTML ve CSS ile bir web sitesi yaratabillirsiniz. Burada akışı değiştiren şey Javascript’tir. Basitçe söylemek gerekirse, Javascript daha karmaşık ve detaylı animasyonlar ve etkileşimler ekler, hatta tam özellikli web uygulamaları oluşturmayı da mümkün kılar.

Örneğin 2011 yılında, web tarayıcıları Javascript kodlarını yorumlamada gerçekten kötüydü bu yüzden Javascript ile kompleks işlevler eklemek her zaman iyi fikir değildi. Zamanla tarayıcılar gelişti, bu sayede normalde back-end programlaması için kullanılan Javascript, front-end kısmında da kullanılmaya başlandı. Bu arada Javascript de kendi içinde gelişmeye devam etti. AngularJs, jQuery ve Node gibi sistemler geliştirdi. Kısacası front-end olarak bildiğimiz çalışma alanı yaşanan bu gelişmeler sonucu baştan aşağıya değişti.

Özetlersek, front-end yazılımcıları bir web sitesi yaratmak için HTML, CSS ve Javascript kullanırlar. Bir web sitesinin dizaynını ve çalışmasını sağlarlar. Bazı siteler sadece HTML, CSS ve Javascript ile dizayn edilebilir. Ya da bir web sitesinin ön yüz performansını arttırmak için sitenin arka yüzünde daha fazla gizli kod kullanan yazılımcılar da vardır.

Back-end Nedir?

Back-end yazılımcılar, kullanıcıların direkt olarak etkileşime geçmediği kısımlarla ilgilenir. Back-end yazılım dillerinden bazıları: PHP, Ruby ve Pythonn’dur. İş ilanlarında da genel olarak göreceğiniz şey Ruby veya Python bilen yazılımcı aradıklarıdır. Çünkü back-end kısmında önemli olan programlama dilini bilmektir.

Javascript ile yapamadığınız ancak back-end ile yapabileceğiniz şeylere gelirsek günümüzde bu liste oldukça kısalmaktadır. En önemli kısım, çoğu büyük ve kompleks web uygulamaları gibi içerik yönetim sistemlerinin de back-end programlama dili üzerine inşa edilmiş olmasıdır. Javascript ile bazen performans problemleri yaşanabilmektedir, sistemin yavaşlaması veya düzgün çalışmaması gibi. Günümüzde Javascript bilerek düşündüğünüz çoğu şeyi tasarlayabiliyor olsanız da daha iyi çözümler mevcuttur. Bu noktada kod yazmayı öğrenmek spesifik probleminize en iyi çözüm bulmanızı sağlayabilir. Bu bazen de back-end kısmıyla ilgilenmeniz anlamına gelir.

Normalde, back-end yazılımcıları yazdıkları kodların web sitesinin ön yüzünde çalışması veya dizaynı için front-end yazılımcılarıyla bir ekip olarak çalışırlar. işte bu nokta, full stack developer kavramının ortaya çıktığı yerdir.

Full Stack Developer Nedir?

Full stack developer bir web sitesinin veya mobil uygulamanın hem front-end hem back-end kısımlarıyla çalışan kişi, web tasarımcısıdır. Bu kişiler, veritabanı, ön yüz tasarım ve hatta projelerin plan aşamasında müşterilerle çalışabilmektedirler. Full stack developer HTML, CSS ve Javascript programlarına hakim olmakla birlikte bir veya daha fazla back-end programlama dili de bilmektedir. Bu kişiler genellikle PHP veya Python biliyor olurlar, bazen ikisini veya daha çoğunu da bilmeleri mümkündür. Özellikle bu pozisyona artan talep sonrasında 2019 yılında çoğu full stack developer aynı zamanda proje yönetimi görsel tasarım, web tasarımı gibi konularda da uzmanlaşmıştır.

Günümüzde front-end ve back-end kısımları arasındaki fark bulanıklaştıkça, daha fazla geliştirici full stack developer haline gelmektedir. Çoğu işveren (özellikle farklı türde siteler üzerinde çalışanlar) bir web sitesinin bütün kısımlarında çalışmayı bilen kişileri yani full stack developer’ları aramaktadır. Böylece bu kişi bir web sitesinin ne türde olduğu fark etmeksizin bütün işleri yapabilir. Bu nedenle iş gereksinimlerinde full stack developer arayan işverenlerin sayısı günden güne artmaktadır.

Full Stack Developer Ne yapar?

Full stack developer back-end’in temel görevlerinden biri olan kodlardan tutun da front-end’deki istemciye yollanacak tüm bilgileri gözden geçirir. Veritabanını yönetir, web servislerini geliştirir ve ön yüzün oluşturulmasında rol oynar. Kısacası full stack developer, web sayfası için gerekli kodu yazabilir, HTML’den sonra CSS ile sayfaya son şeklini verebilir ve geri kalan tüm detaylı işleri halledebilir. Grafik tasarım konularındaki tüm işleri kendi halletmek zorunda değildir ancak dileği ve bilgisi varsa işin bu kısmıyla da ilgilenebilir.

Birçok insanın düşündüğü üzere full stack developer tüm sitenin kodunu kendi başına yazmak zorunda veya her konuda mükemmel olmak zorunda değildir. Çoğu, zamanlarının büyük bir bölümünü front-end ve back-end kısımlarında geçirirler. Ama burada asıl önemli olan nokta ihtiyaç duyulduğunda bu kişilerin iki kısımdan da anlıyor olması ve ihtiyaç duyulan işi yapabilmesidir. Elbette bazı full stack developer’lar kod yazmayı da çok iyi biliyor olabilirler.  Ancak dediğimiz gibi önemli olan iki tarafta da kullanılan dil ve teknolojilere hakim olabilmek, problemlere çözüm getirebilmektedir.

Full Stack Developer Olmanın Avantajları

  • Geliştirici projelerde yer alan bütün teknikleri öğrenebilirsiniz.
  • Bir prototipi hızlı bir şekilde yaratabilirsiniz.
  • Tüm ekip üyelerine yardım edebilirsiniz.
  • Projenin maliyetini düşürebilirsiniz.
  • Takım iletişimi için kullanılan süreyi azaltabilirsiniz.
  • Gereksinimlere göre front-end ve back-end arasında geçiş yapabilirsiniz.
  • Yeni ve gelecek teknolojilerin tüm yönlerini daha iyi anlayabilirsiniz.

Full Stack Developer Olmanın Dezavantajları

  • Proje için seçilen çözümün yanlış olma ve risk yaratma olasılığı vardır.
  • Seçilen çözüm geliştiricinin yeteneklerine bağlı olarak kısıtlanabilir.
  • İçerdiği görevler kompleks ve zorlu olabilmektedir.

 

Bir önceki yazımıza https://smartpro.com.tr/machine-learning-makine-ogrenmesi-nedir/ linkinden ulaşabilirsiniz.

 

Net framework