Back-end Developer Yol Haritası


Backend nedir?

Kullandığımız neredeyse tüm elektronik cihazların sağlıklı bir şekilde çalışabilmesi için cihaz içerisinde yazılmış yazılımlar bulunmaktadır. Masaüstü ve web uygulamalarının tamamı için aynı şekilde kod yazılıdır ve bu uygulamaların yayında olabilmesi için farklı farklı yazılımlar kullanılır. Fakat bu farklı alanların tamamında birden uzmanlaşmak mümkün değildir.

Yazılım terimini incelediğimizde “programlama da denilen, bir bilgisayarı belirli işlevleri yerine getirmek üzere yöneten, bilgisayara ne yapacağını söyleyen, kodlanmış komutlar dizisi” demek en doğru tanımlardan bir tanesidir.

Backend terimini incelediğimizde ise “sunucu ile kullanıcı arasında iletişimi sağlayan alandır” denebilir. Yazılan backend kodları site ön yüzünden görülemez. Yani tarayıcıdan incele diyerek backend dilinde yazılan kodları göremeyiz.

Backend developer olmak için ilk ve en önemli şart bu alanı sevmektir. Bununla beraber algoritma, problem çözme, matematik, akıl yürütme gibi alanlarda da iyi olmak bir gelişim açısından bir artıdır.

Backend developerlar genellikle veri (data), model, HTTP, istekler (request) gibi terimler üzerine yoğunlaşmaktadır.


Başlıca Backend Dilleri Nelerdir?

Öncelikle yazılıma aşağıda yazılan dillerden veya diğer seçebileceğiniz backend dillerinden bir tanesi ile başlangıç yapılabilir. Bu dillerden en çok kullanılanları şöyledir.

  • PHP
  • NodeJs (Ara Yazılım)
  • Python
  • C#
  • GoLang
  • Ruby
  • Java
  • Kotlin

Başlıca Backend Frameworkleri Nelerdir?

Belirtilen backend dillerinde genellikle frameworkler kullanılır. Frameworkler yazılan kodların daha hızlı ve kolay yazılmasını sağlar. Kısaca bahsetmek gerekirse backend alanından dillere göre frameworkler şunlardır.

  • NodeJs (Express, Koa, Nest, Loopback)
  • Python (Django, Flask)
  • PHP (Laravel, Symfony, Slim, Codigniter)
  • C# (ASP .NET)
  • Java (Spring MVC)
  • Ruby (Ruby onRails, Sinatra)
  • Java
  • Kotlin (Javalin, KTor)

Başlıca Challange Siteleri Hangileridir?

Yukarıda belirtilen backend yazılım dillerinden bir tanesini öğrendikten sonra bir süre bu konudaki bilgilerimizi pekiştirmemiz gerekir. Bunun için ise en önemli platformlar challenge siteleridir. Bunlardan dünya çapında en fazla kullanılanları kısaca şunlardır.

Bu veya benzeri platformlardaki kodları çözerek algoritmanızı geliştirebilirsiniz.


Hangi Veritabanları Kullanılır?

Backend veya herhangi dinamik bir yapı için olmazsa olmazlarımızdan bir tanesi de veri tabanı (database) seçimidir. Aşağıda en popüler veri tabanlarından bazıları sunulmuştur.

  • PostresSQL
  • MongoDB
  • MySQL
  • MSSQL Server
  • Firebase
  • Elasticsearch

Bunları Bilmek Faydalıdır

Eğer backend alanında kendimizi geliştirmek ve alanımızda uzmanlaşmak istiyorsak bu teknolojileri de öğrenmek çok fayda sağlayacaktır.

  • Hosting Platformları: Heroku, Digital Ocean, AWS, Azure, Netlify
  • Web Sunucular: Nginx, Apache
  • Konteynerler: Docker, Kubernates

Bu yüzden kendimize bir alan seçmeli ve o alanda uzmanlaşmalıyız. Diğer alanlarla ilgili de genel olarak bilgi sahibi olmakta ise bir mahsur yoktur.


Yazılıma Yeni Başlıyorsak İlk Neler Yapmalıyız?

Öncelikle çalışma alanınızda dikkatinizi dağıtacak her türlü eşyayı kaldırmalı ve Sosyal medya alışkanlıklarımızı azaltmalıyız.

Visual Studio Code, PHP Storm gibi kod yazmamızı kolaylaştıran editörlerden birisini bilgisayarımıza kurmalıyız.

Aylık ve konu bazlı bir çalışma hedefi yapmalıyız. Günlük ne çalışacağımız konusunda hiçbir zaman planı tutturamayacağımız için konu ve ders bazlı program yapılabilir. (PHP, Laravel, MySql sırası ile gibi…)

Algoritmayı en iyi öğreten diller genel olarak C dilleri olduğundan dolayı ve sektördeki dillerin bir çoğu da C dili ile yazıldığında dolayı C dillerinden birisi ile algoritma öğrenilebilir.

C dillerinin birisi ile algoritma ve Nesneye Yönelimli Programlamayı öğrendikten sonra (OOP) bazı alanlarda kendinizi geliştirebilirsiniz. OOP öğrendiğinizi kabul ederek bundan sonraki adımlara geçebiliriz. Backend de kendi içerisinde farklı alanlar barındırır. Bunlardan gelecek açısından tavsiye edeceğim alan ise web alanı olacaktır.


Web Alanında Uzmanlaşmak

HTML, CSS gibi işaretleme dillerini öğrenerek Web alanına başlangıç sağlanabilir. Bu işaretleme dillerini öğrenmek için w3schools internet sitesinden istifade edilebilir. En fazla bir ay içerisinde kabaca html ve css öğrenmiş sayılabilirsiniz. Sonrasında PHP öğrenmek web alanı için alan için en ideal olanıdır. PHP dilini öğrendikten sonra da Laravel veya Codigniter gibi frameworkleri de öğrenmek yazılımın daha hızlı ve kolay yapılması konusunda büyük avantaj sağlayacaktır. Web alanında dünyada kullanılan dillerin yaklaşık %70 ‘inde PHP kullanılmaktadır.

Web alanında dinamik bir site yapmak için olmazsa olmazlarımız veri tabanlarıdır. Bu yüzden yukarıda da belirttiğimiz MySql, MsSql, Oracle gibi veri tabanı sistemlerini ve Backend dili ile veritabanı arasında bağlantıları da öğreniyor olmamız gerekmektedir.

Eğer web alanında uzmanlaşmak istersek ve güzel sonuçlar elde etmek istersek Javascript, Bootstrap, E-ticaret, C2C, B2C, B2B, Hosting, DNS, http, HTTPS gibi kavramları da öğrenmekte fayda vardır.

Dünyada en fazla kullanılan yapılardan bir tanesi olduğu için Wordpress öğrenmek de faydalı olabilir. Hazır yazılmış bir sistem olan Wordpress de php ile yazılmış bir yapıdır.


Masaüstü Uygulama Alanında Uzmanlaşmak

Masaüstü Uygulama alanında kendimizi geliştirmek için ise Java ve C Sharp (C#) gibi diller en iyi diller olarak sıralanabilir. Ülkemizde de bir çok masaüstü uygulama C# ile yapılmaktadır. Dünya geneline baktığımızda ise Java dilinin daha fazla kullanıldığı görülmektedir. Bu yüzden eğer Türkiye’de iş arama düşüncesinde iseniz C# dilinin öğrenilmesi daha avantajlı gibi durmaktadır. Eğer C# öğrenecekseniz onunla beraber veri tabanı olarak MsSql öğrenmeniz kaçınılmaz olacaktır.

Herkes de sizler gibi düşündüğünden dolayı Java öğrenmek de bir avantaj olabilir. Çünkü birçok insan ülke şartlarını düşünerek Java yerine C# öğrenecek ve Java bile kişi sayısı az olduğunda kıymetli olacaktır. İzin özü, çalıştıktan sonra her türlü kazançlıyız. 

Tabi bu diller haricinde C, C++, Python, Ruby, Go gibi başka diller ile de masaüstü Uygulaması geliştirebilrsiniz.


Mobil Uygulama Alanında Uzmanlaşmak

Bu alanda uzmanlaşmak için Mobil App Developer Yol Haritası sayfamızı inceleyebilirsiniz.


Sonuç

Özetle eğer matematiği ve problem çözmeyi seviyorsanız backend developer olmak tam size göre bir iş. Bu yüzden backend konusunda bir uzman olmak için çok geçmeden bir kurs almalı ve yarına ertelemeden çalışmalar başlamalıyız.

Eğer kendinizi yeterli seviyede hissederseniz herhangi bir şirkete iş başvurusunda bulunabilirsiniz. Maraş Teknoloji Üssü'ndeki firma ve start-up'ların birinde çalışmak için de buradan mail atarak gönül rahatlığı ile iş başvurusunda bulunabilirsiniz.


Kahramanmaraş Maraş Teknoloji Üssü
Esentepe Mahallesi, Haberler Sk. No:13
ŞİŞLİ / İSTANBUL
www.tsoft.com.tr

Bursa Satış Ofisi
906 Broadway, Suite 100 , San Francisco, CA 94133
KALİFORNİYA / AMERİKA BİRLEŞİK DEVLETLERİ www.tsoft.us

İstanbul Ar-Ge Merkezi YTÜ Teknopark
Yıldız Teknik Üniv. Davutpaşa Kamp. Teknopark D2 Blok K2 No:104
ESENLER / İSTANBUL

Kahramanmaraş Maraş Teknoloji Üssü
KSÜ Avşar Kampüsü Teknokent Bina No:259 Kat:2 No:41
ONİKİŞUBAT / KAHRAMANMARAŞ

İstanbul Ar-Ge Merkezi YTÜ Teknopark
Maltepe Caddesi No:46-48 D:25
BAYRAMPAŞA / İSTANBUL

Ankara Satış Ofisi
Kızılırmak Mah. Dumlupınar Bulvarı Next Level Kat:16
ÇANKAYA / ANKARA

Bursa Satış Ofisi
Konak Mah. Lefkoşe Cad. Barış Sok. Ofis Plaza
NİLÜFER / BURSA