PDF hazırlanıyor...

Programların Görünmeyen Yüzü: Backend Dünyası

Yazar: Kaan Ata İnanç
Tarih: 20 Ocak 2026

Günlük hayatımızda yüzlerce belki de binlerce uygulama kullanıyoruz. Bu uygulamaları kullanırken aslında henüz sadece şirketlerin bizler için yaptığı tasarım ekranlarını görüyoruz. Bir buton tıklayınca açılan sayfalar bir buton ile istediğimiz yemeği sipariş edebiliyoruz. Bunlar sadece bizim görebildiğimiz kısımlar. Ya pek bizim görmediğimiz kısım?

İşte bu kısma yazılım dünyasında Backend geliştirme deniliyor. Bu kavramı genelde dilimize "Arka yüz geliştirme" olarak çeviriyoruz. Peki gerçekten bu Backend ne oluyor hiç düşündünüz mü? Ya da bir yazılımcı adayı olarak bu dünyayı merak ediyor musunuz? Hadi gelin hep beraber bu yazıda bu devasa dünyanın bir yolculuğuna çıkalım...

Uygulamaların Beyni: Backend Programlama

Backend dünyası kendi içinde uygulamanın merkezi, kalbi olarak adlandırılabilir. Backend geliştiricileri ise aslında adeta görünmez süper kahramanlar gibi gelir. Neden böyle düşünüyorum; en basit ve kısa haliyle Backend Developer'lar bir uygulamanın kullanıcıları işlevlerini gerçekleştirmesini, yani olan kısmın çalışmasını sağlarlar. Kullanıcı arka taraftaki sistemi görmez ama backend developerlar olmasa programların hiçbir işlevi olmaz...

İşte bu sebeplerden backend ve geliştiriciler için uygulamanın beyni ve süper kahramanları olarak tanımlıyorum. Aynı zamanda backend developerlar sadece kod yazmazlar, okullarda bir mimari kurar. Gerçek mimarlar gibi; bizim kurduğumuz somut alanlar olmaz ama o satırlarca kodlarla adeta bir bina diker. Evet backend dünyasını esprili olarak bahsettiğimize göre biraz da teknik konuşalım.

Teknik Olarak Backend Programlama ve Developerların Temel Prensipleri

Katmanlı Mimari ve Sorumlulukların Ayrılması

Bir backend geliştiricisinin en temel prensibi, her şeyi doğru kutuya koymaktır. Karmaşayı önlemek için sistemi katmanlara böleriz:

  • Veri Katmanı (Repository/Entity): Sistemin hafızasıdır. Verilerin veritabanındaki temsilidir.

  • İş Mantığı Katmanı (Business Service): Sistemin beynidir. Tüm kararların verildiği bölümdür.

  • İletişim Katmanı (Controller): Sistemin kapısıdır. Dışarıdan gelen isteği alır.

Böyle anlaması zor. Gelin bu mantığı kendi projem ile anlatayım (Not: Proje bir teknik servis otomasyonudur): Başlangıçta bir personel sisteme yeni arıza kaydı girer. Personelin gördüğü o UI backend'de doğrudan database'e dokunmaz. Önce controller isteği karşılar ardından business katmanı "stok kontrolü yapar" en son repository katmanı ile kayıt kalıcı hale getirilir.

Güvenlik ve Yetkilendirme

Sistemin sadece çalışması yetmez, aynı zamanda bir kale gibi korunması gerekir.

  • Kimlik Kontrolü: Sistem bu özellik ile "sen kimsin" sorusuna yanıt arar.

  • Yetki Düzeyi Belirleme: Para şimdi ama her kapıyı açamazsın prensibidir. Yani bir e-ticaret sitesinde müşteri sadece kendi sipariş sayfasını görürken site yöneticisi tüm müşterilerin siparişlerini görebilir. İşte kimlik kontrol ve yetki düzeyi bu işe yaramaktadır.

Veri Bütünlüğü ve İşlem Yönetimi (Transaction)

  • Backend dünyasındaki en önemli kurallardan biridir "Ya hep ya hiç prensibi".

  • Bu prensibe özellikle database tabanlı (stok durumu, ödeme/para akışı) işlemlerde kullanılır. Bu prensibe göre bir işlem setinden sadece biri bile başarısız olursa sistem işlem öncesi sağlam eski haline döndürülerek veri kaybını engelleyebilir.

  • Kendi projemden örnek vermem gerekirse: "Bir cihazın tamiri tamamlandı, zamanda hem arıza durumu bitti denilecek hem de arıza aşamasında kullanılan parçalar (ekran, pil vb.) canlan stoktan düşülmesi gerekir. Fakat stokta bir yetersizlik olup stoktan düşme işlemi yapılamazsa bu sefer diğer bütün işlerin iptal edilir ve sistem eski haline döndürülür. İşte bu prensiple hiçbir verinin yarım yamalak kalmasına izin verilmez.

Performans ve Ölçeklenebilirlik

Milyonlarca veri arasından istenen veriyi tabiri caizse cımbızla çekip kullanıcıyı bekletmeden bulup getirmek bir backend prensibidir. Örneğin binlerce geçmiş kayıtlar arasından sadece "telefon" ve "Ad" başlıklı verileri listelemede tüm veriyi çekmektense Stream API veya SQL optimizasyonu ile sadece ihtiyaç olan verileri milisaniyeler içinde çekmek gerekir.

Sistemin Ayakta Tutulması (Hata Yönetimi)

Programın anlıkta olsa hata alması her şey yolundaymış gibi süreci yönetip bu arada sistemin ayakta kalmasını sağlamak backendcilerin ana işlerindendir. En basitinden; uygulamanın çalışması esnasında kullanıcının sadece sayı girmesi gereken yerde metin girmesiyle programın patlayıp kullanılamaz hale gelmesini sağlamaktansa "Hata Ayıklama Mekanizmaları" ile hatayı yakalayıp programın çökmesini engelleyip anlamlı mesajlar ile kullanıcıya dönmemiz yardımcı olacaktır.

Ve işte sizlere o sıkıcı kodların arkasındaki Backend dünyasını ve backend developer prensiplerini anlattım. Elbette bu prensipler 5'ten oldukça fazladır ama ben sizlere bu prensiplerden en temel ve en önemlileri arasından yer alanlardan bahsetmek istedim. Başka yazılarımda görüşmek üzere..

Hoşça kalın :)

Etiketler

Software Developer Backend Backlend Developer