Back-End Developer Neleri Bilmeli
Hepinize merhaba dostlarım :). Bu yazımda sizlere özellikle ve özellikle yazılım dünyasının belkemiği olan backend developerlar için veya backend developer alanında bulunmak isteyen dostlarım için bilmeleri gereken konuları ve yazılım dillerinden bahsedeceğim. Son zamanlarda iş ilanlarında da bir hayli artan backend developer nedir gelin ona bir bakalım
Back-End Developer Nedir ?
Dostlarım backend developer yazılım dünyasında istemci ve sunucu arasındaki mantığı kuran, bu sistemler üzerinde iyileştirmeler yapan ve güvenliği sağlayan, sistemin görünmeyen taraflarında olan geliştiricidir. Örnek vermek gerekirse biz bir siteye üye olduğumuzda veya site yöneticisine mesaj attığımız durumlarda bu işlemlerin yöneticiye gitme işleminde bu bahsettiğimiz backend developer lar iş yapar dostlarım. Şimdi diyeceksiniz backend developer ların işi zor çünkü sistemin arka planında çalışıyorlar ve sistemin güvenli olması istemci ve sunucu arasındaki mantığı kurmakla meşguller diye :). Dostlarım aslında çok eğlenceli bir şey ama tabi ilginiz hangisiyse ona yönelmenizi tavsiye ederim :).
Artık backend developer nedir ne iş yapar sorusunun cevabını sağlıklı bir şekilde almış iseniz dostlarım gelelim şimdi bu backend developer ların bilmeleri gereken konulara
Server Tabanlı Programlama Dili
Evet dostlarım yanlış duymadınız. Server tabanlı bir programlama dili gereklidir. Bu sizin yatkınlığınıza göre PHP olabilir, Node.js olabilir veya ASP.NET Core vs. olabilir tamamen sizin ilgi odağınıza kalmış bir şeydir. Çünkü kullanıcıdan gelen verileri işlemeniz için en az bir tane server tabanlı dile ihtiyacınız vardır dostlarım. Şimdi aklınızda bir soru vardır
Hocam bunları bilmesek backend developer olmuyor muyuz
Dostlarım olmuyorsunuz gibi net bir şey deyip sizin hevesinizi kıramam. Yalnız şunu belirtmek isterim. Sistem üzerinde herhangi bir güncelleme yapılacağında bilmediğiniz için zorlanırsınız. Hepsini bilmenizi tabi ki isterim ama en az birinde uzman seviye olmanız sizi rahat ettirecektir. Kullanıcıdan gelen verilerin nasıl ne ne şekilde alınacağını ayarlayıp sisteme kaydetme, belirli isteklere göre sistemden getirme işlemlerini rahatlıkla gerçekleştirebilirsiniz.
Veri Tabanı Bilgisi
Server tabanlı programlama dillerinden sonra bilmeniz gereken diğer bir konu ise veri tabanı bilgisidir dostlarım. Program yazarken özellikle gerekli işlemlere göre kayıtların hangi şekilde ve hangi ilişkide kurulacağı, kayıtların veri tiplerinin nasıl olacağı ve hangi aralıklarla yedekleneceği bilgisinin bilinmesi bir backend developer için olmazsa olmaz konulardan birisidir dostlarım. Şimdi ise aklınızdaki soruya gelelim
İnternete veri tabanı yazdık bir sürü şey çıktı hangisini bilmemiz lazım ?
Çok güzel bir soru sordunuz dostlarım. Şimdi burada hemen hepsini bilmelisiniz diye sizi zorlamam. Bunun yerine size şunları söyleyebilirim. Yazdığınız programın gerektirdiği ve ileriki zamanlarda yazılımınız büyürse ona göre bir veri tabanı kullanmanızda fayda var. Örnek vermek gerekirse dostlarım php ile bir sistem yazdınız ama bu sistem biraz basit ve kullanıcı sayısı az olarak varsayalım. Başta uygulamayı MySQL ile geliştirip ileriki zamanlarda da uygulamanız büyürse (Proje yapıyorsanız inşaAllah tutulur dileklerimle :) ) bunu MongoDB veya Redis e aktarmanız sizin için faydalı olacaktır. Veya ASP.net Core MVC ile bir proje geliştiriyorsanız ilk zamanlarda uygulamanızı MSSQL kullanarak çalıştırmanız daha sonra da yukarıda bahsettiğim gibi MongoDB veya Redis e aktarmanız sizin için faydalı olacaktır :).
HTML,CSS,JavaScript
Dostlarım basit bir web sitesinin oluşturulmasında rol alan html,css ve javascript in bilinmesi bir backend developer tarafından bilinmesi gereklidir. Az da olsa bilinmesi gereklidir. Çünkü dostlarım gelen verilerin client tarafında gösterilmesinde nasıl ve ne şekilde gösterileceğinin ayarlanması bir backend developer tarafından bilinmesi gerekir. Örnek vermek gerekirse sayfa yenilenmeden verilerin gönderimi vs için Javascript, verilerin taşmasından dolayı sayfanın kayması gibi durumlarda css, döndürülecek html taglerinin belirlenmesi, oluşturulması veya silinmesi durumlarında ise html bilgisinin çok olmasa bile temel düzeyde olması backend developerlar için faydalıdır dostlarım :).
CPanel Bilgisi
Ve geldik en önemli konulardan birisi olan cpanel e dostlarım. CPanel bilgisinde ise yukarıda bahsettiğim veri tabanları ve aynı zamanda projelerimizin, email hesaplarımızın, cron işlerimizin, domainlerimizin vs vs bulunduğu yerlerdir. Peki backend developer neden bilmeli diye aklınızda soru vardır. Hemen açıklayayım dostlarım.
Backend developer özellikle ama özellikle sistem geliştirirken bazı durumlarda veri tabanının composer ile desteklenmediği (pure php, codeigniter, ssh desteği olmayan sunucular örnek gösterilebilir) veya filezilla gibi sunucularda teker teker çalışma gibi durumlarında cpanel den kontrol etmesi gerekir. Bunlar haricinde sisteme herhangi bir saldırı olduğunda o ip adresine engelleme koyması işlemleri de olabilir. İşte dostlarım bu ve bunun gibi durumlarda cpanel bilgisinin biir backend developer tarafından bilinmesi gereklidir :)
Mikroservis (API) Yazmak
Dostlarım gelelim bir backend developerin bilmesi gereken en son konu olan mikroservislere. Mikroservis aslında göz korkutacak bir yapı değildir dostlarım bu yaklaşımı hemen bir kenara bırakın. Mikroservisin temel amacı bir projedeki işlemin daha hızlı daha etkili yapılmasını sağlamaktır. Diğer bir ismi API olan bu mikroservislerin backend developer için önemi çok yüksektir. Neden diye sorarsanız dostlarım şöyle açıklayayım. Bir backend developersiniz ve bir e-ticaret sitesi kodluyorsunuz. Bu e-ticaret sitesinin 3 paneli var diyelim. Bunlar
- Site Kurucusu
- Mağaza
- Esnaf
olsun dostlarım. Şimdi düşünün bir mağazanın 100 ürünü olsun. Bunları tek tek formdan eklemesi mi daha iyi olur yoksa tek bir linkle bunları mikroservis üzerinden eklemesi mi ? Tabii ki ikinci yöntem daha hızlı ve kullanışlı gelecektir. İşte dostlarım bir backend developer için de programcı olduğu için bir mikroservisi yazmak hem server in çok fazla yorulmamasına, hem de tek bir işlemle kullanıcı dostu sistemlerin oluşmasına sebep olacaktır :).
Yazar Hakkında
Kendi Halinde Bir Backend Developer