Yazılım dünyasında isimlendirmenin çok özel bir yeri vardır. Yazdığımız değişkeni, metodu, sınıfı, kütüphaneyi, teknolojiyi, eko sistemi, teknikleri, ünvanları isimlendiriyoruz. Yazılım dünyası o kadar hızlı değişiyor, farklılaşıyor ki buna ayak uydurmak gerçekten zor. Değişim bu kadar hızlı olunca da bazı kavramların içi tam olarak doldurulamıyor. Bazı kavramlar kurumlardan kuruma, kullanıldıkları yerlerde farklılık gösterebiliyor.

Full-Stack Developer ünvanı da tamda böyle bir kavram. İçi tam olarak doldurulamıyor. Stackoverflow’ın 2018 verilerine göre dünya üzerindeki yazılımcıların %48.2 si kendisini Full Stack Developer olarak görmekte (link). Şuan yazılım dünyasında en yaygın ünvan desek yanılmış olmayız. Peki bu ünvandan tam olarak ne anlamamız gerekiyor?

Uygulamalar temel olarak 3 parçadan ; istemci, sunucu ve veritabanından oluşuyor. Tabi bu uygulamaların iletişimi, yayınlanması, bakımı, yüklerinin dağıtılması gibi (DevOps) işlemleri de yazılım geliştirme süreçlerinin bir parçası olarak duruyor. Bu saydığım alanların hepsi aslında birer uzmanlık alanı. Full stack developer bütün bu süreçlerin hepsinde aktif rol alan kişi oluyor.

Peki bu kadar uzmanlık isteyen alanlarda yazılımcılar ne kadar full stack? Böyle bir sınıflandırma ise hala yok. Hangi alanlarda daha iyi olduğunu gösteren bir sıfatı yok. Örneğin sunucu tarafı güçlü fakat istemci tarafı zayıf olan bir yazılımcının nasıl adlandırılması gerektiğini bilmiyoruz. Hepsinde gelişmekte olan bir yazılımcıyı junior full stack developer olarak adlandırabilir miyiz? Bu gibi problemlerden dolayı full stack ünvanını uzmanlık belirtmekten çok hangi alanlarda aktif rol aldığını belirtiyor desek yanılıyor olmam herhalde.

Peki gerçekten böyle bir sıfata ihtiyaç var mı? Kesinlike bu ünvanın genişletilerek kullanılması gerektiğini düşünüyorum. Sonuçta ünvanlar, o ünvana sahip kişileri hakkında bilgi vermesi gerekiyor. En az kelime ne kadar çok şey anlatabilirsek, anlamlandırabilirsek o kadar başarılı olabileceğimizi düşünüyorum.