“Full Stack Developer” terimini muhtemelen daha önce teknolojiyle ilgili web sitelerinde veya incelediğiniz iş başvurularında görmüşsünüzdür.
Peki full stack developer(tam yığın geliştiricinin) tam olarak ne olduğunu ve hangi becerilere ihtiyacınız olduğunu hiç merak ettiniz mi? Çoğu zaman kafamı karıştıran bu durumu sizler için bu makalede açıklamak istedim.
“Full Stack” Terimi Ne Anlama Geliyor?
Kodlamayı öğrenmeye başladığımda 2 farklı alan olduğunu ve bunlarım mobil ve web şeklinde ayrıldığını biliyordum. En azından o zamanlar öyle düşünüyordum.
İş başvurularına baktığımda sürekli olarak front-end , back-end ve full-stack developer arayışı olduğunu görüyordum. Aslında yazılama yeni başlayan biri için korkutucu bir durumdu. Bu kavramları araştırarak yazılım alanında nasıl bir yol izlemem ve hangi alanlarda kendimi geliştirmem gerektiğini öğrenmiş oldum.
Son birkaç yılda web daha karmaşık hale geldi ve farklı becerilere sahip geliştiriciler için birçok fırsat var.
Bir geliştirici olarak, beceri setinize bağlı olarak kendinizi şu şekilde sınıflandırabilirsiniz:
- front-end development – görebildiğimiz ve etkileşime girebileceğimiz şeylerle ilgilenir
- back-end development – kullanıcının göremediği şeylerle ilgilenir
- full-stack development – hem front hem de back end geliştirme yapabilir (hem mobil hem de web için geçerlidir)
Bu rollerin her birini anlamak, ne tür bir geliştirici olmak istiyorsanız hangi becerilere ve bilgiye ihtiyacınız olduğunu öğrenmek için biraz daha derine ineceğiz.
Front End Developer nedir?
Front end developer, bir web sitesinde kullanıcının görebileceği ve etkileşime girebileceği kısımlarını oluşturur.
Front end developer olmak için HTML, CSS ve JavaScript’i bilmeniz gerekir. Bu becerileri biraz parçalayalım. Daha iyi anlamak için vücudumuzu örnek olarak kullanacağız – harika, değil mi?
HTML (HyperText Markup Language) – Vücudun iskeleti gibidir, çünkü web sitesine yapısı verir. Ziyaret ettiğiniz her site, HTML kullanılarak oluşturulmuştur.
CSS (Cascading Style Sheets) –CSS’i vücudun estetiği ve kasları olarak düşünebilirsiniz! CSS, bir siteyi güzel ve bakılması için ilginç kılar. Tıpkı kasların ve cildin sizi güzelleştirdiği gibi. Yazı tiplerini ve renkleri ayarlar, resimler ekler ve hatta sitenin duyarlı olmasına yardımcı olur.
JavaScript – her şeye nasıl davranacağını söyleyen operasyonun beyni gibidir. JS, bir siteye tüm işlevselliğini verdiği için web geliştirmede bir oyun değiştiricidir.
JavaScript yıllar içinde gelişti ve değişti ve dile birçok harika yeni özellik eklendi.
Ayrıca, front end developer(geliştiricilerin) projeleri daha kolay oluşturmasına yardımcı olan React, Angularjs ve jQuery gibi bir dizi yardımcı framework vardır.
Front End Developer Sorumlulukları
Tıpkı diğer tüm roller gibi, front-end geliştiricilerinin de belirli sorumlulukları vardır:
- Özelleştirilmiş web siteleri geliştirmek için tasarımcılar ve uygulama geliştiricilerle işbirliği yapmak.
- Geniş bir içerik yelpazesine sahip siteler geliştirmek ve web araçlarının optimum kullanımını sağlamak.
- Gelecekte kullanmak üzere yeniden kullanılabilir kod oluşturmak.
- Web tasarımlarının duyarlı olduğundan ve tüm cihazlarda iyi çalıştığından emin olmak.
- Daha geniş bir kitleye hitap edecek yenilikçi çözümler geliştirmek için yaratıcı ekiplerle birlikte çalışmak.
- Web sayfaları yazmak için çeşitli biçimlendirme dillerini kullanmak.
Front End Geliştirmeye Nasıl Başlanır?
Bu role başlamanıza yardımcı olmak için bu mükemmel kaynaklar listesini oluşturdum. Öğrenmenize yardımcı olacak hem ücretsiz hem de ücretli materyaller içeren birçok platform var. İşte önerdiğim siteler:
- freeCodeCamp 🆓
- Frontend Mentor 🆓
- Udacity 🆓
- Frontend Masters 🆓
- Codecademy
- Skillshare
- Web Development Guide
Ön uç projelerinizi barındırabileceğiniz ücretsiz barındırma hizmetlerinin listesi aşağıdadır:
Back End Developer Nedir?
Back end developer(arka uç geliştirci), bir web sitesinin, kullanıcıların doğrudan etkileşimde bulunmadığı veya görmediği bölümleriyle ilgilenir.
Back end alanından kullanılan dillerden bazıları PHP , Ruby ve Python’dur . Bu dilleri biliyorsanız, sitenin ön tarafından gönderilen verileri işlemek için algoritmalar oluşturabilirsiniz.
Back end developer, projelerinin çalışmasını sağlamak için front end developer ile birlikte çalışır.
Back End Development için İhtiyacınız Olan Beceriler
Back end developer kariyerinizi daha da iyi hale getirmek için bir kaç farklı dile aşina olmanız iyi olacaktır.
Aşağıda, back end developer olmaya başlamanıza yardımcı olacak bazı adımlar verilmiştir:
- Veri yapısı ve algoritmaların temellerini bilmek ve anlamak
- Arka uçta kullanılan bir programlama dilini öğrenmek
- Veritabanları hakkında bilgi edinmek
- Öğrendiğiniz dil için bir framework bulmak (örneğin Python öğrendiyseniz, ardından Django ile uğraşın)
- Pratik yapmak ve proje oluşturmaya başlamak. Daha sonra bu projeleri gelecekteki işverenlerinize gösterebilirsiniz.
Ardından, çalışmanızı paylaşmaya hazır olduğunuzda, projelerinizi aşağıda listelenen barındırma hizmetlerinden herhangi birinde ayağa kaldırın:
Back End Developer Sorumlulukları
- Veritabanı oluşturmak ve yönetmek.
- Bir web sitesinin hedeflerini anlamak ve etkili çözümler oluşturmak.
- Yeni ve ilgili teknolojileri araştırmak ve tanıtmak.
- Web sitesinin dosyalarını ve verilerini yedeklemek.
- Tasarımcılar, front end geliştiriciler ve sistem yöneticilerinden oluşan ekiplerle işbirliği yapmak.
- Uygulamalarda sorun gidermek ve hata ayıklamak.
Back End Geliştirmeye Nasıl Başlanır?
Arka uç geliştirme hakkında daha fazla bilgi edinmek için bu kaynaklara göz atın:
Full Stack Developer Nedir?
Basit bir deyişle, full-stack developer bir web sitesinin veya uygulamanın hem ön hem de arka ucuyla çalışabileceğini söyleyebiliriz.
Back end developer olmak için birkaç yıl boyunca sıkı çalışmanız ve sektörde biraz deneyim kazanmanız gerekecek. Hem front hem de back end dillerini öğrenmeniz ve ayrıca veritabanları ve sunucu tarafı hakkında bilgi edinmeniz gerekecek.
Full Stack Developer Olmak için Hangi Becerilere İhtiyacınız Var?
Tahmin edebileceğiniz gibi, hem front end hem de back end becerilerinin bir karışımına ihtiyacınız olacak:
- Geliştirmenin temelleri – HTML, CSS ve JavaScript.
Bunlar, web geliştirme için ihtiyacınız olan temel becerilerdir. - Java, Python, Ruby veya PHP gibi programlama dilleri
Öğrenmek için bir dil seçmek söz konusu olduğunda kafanız karışabilir veya bunalmış hissedebilirsiniz. Her zaman birini seçip iyi öğrenebilir, ardından temel bilgileri öğrendikten sonra diğerine geçebilirsiniz.
- Framework
Bir framework öğrenmek, geliştirme işinizi kolaylaştırmaya yardımcı olur. En az bir framework öğrenmek iyi bir fikir çünkü:
- Hata ayıklamayı ve uygulamaların bakımını kolaylaştırır
- Kodunuzun uzunluğunu azaltmaya yardımcı olur
- Yeterliliği artırır ve güvenliği güçlendirir.
En popüler çerçevelerden bazıları şunlardır:
- Front end için AngularJS, React, Vue ve Svelte
- Ruby için Rails, Python için Django ve PHP için CakePHP
Ve işte bu becerileri öğrenmenize yardımcı olacak bazı kaynaklar:
Front-end
Back-end
- Veritabanlarıyla deneyim
Eminim hepimiz e-ticaret sitelerine en az bir kere girmişizdir. Çevrimiçi olarak bir ürün aradığınızda, isteğinizi kabul etmekten, istediğiniz bilgileri almaktan ve geri bildirimde bulunmaktan veritabanı sorumludur.
Bir kullanıcı ayrıca bir veritabanındaki verileri değiştirebilir. Diyelim ki şifrenizi unuttunuz ve değiştirmek zorunda kaldınız. Veritabanı otomatik olarak yeni değiştirilen şifreye güncellenecek ve eski şifreyi değiştirecektir.
İstemci tarafının ve sunucu tarafının nasıl iletişim kurduğunu anlamanız gerekir. Veritabanları, bir kullanıcının verileri kalıcı bir şekilde belleğe kaydetmesine izin veren bir arabirim sağlar. Bu, ihtiyacımız olduğunda verileri almamızı sağlar.
Oluşturduğunuz uygulamanın türüne bağlı olarak, veritabanı ihtiyaçlarınız değişebilir.
- Temel tasarım becerileri (UI/UX)
Bir kullanıcının siteniz veya ürününüzle nasıl etkileşimde bulunacağını belirleyen görsel tasarımı geliştirebilmeniz gerekir.
Bilinmesi gereken temel araçlardan bazıları Adobe ürünleri (Photoshop veya Illustrator gibi), Invision ve Figma’dır.
- Sürüm kontrolü
Sürüm kontrolü, projenizin ilerlemesini takip etmenize ve diğer geliştiricilerle işbirliği yapmanıza yardımcı olur. Ayrıca, bir karışıklık olması durumunda kaybolan proje dosyalarını kurtarmanıza da yardımcı olabilir.
- Son olarak, şu konularda gerçekten iyi olmanız gerekir:
- Zaman yönetimi
- Yaratıcılık
- İyi iletişim
- Problem çözme
Artık full stack developer nedir ve ihtiyaç duyacağınız becerileri bildiğinize göre, rolle gelen sorumlulukları öğrenmeye başlayalım!
Full Stack Geliştiricinin Sorumlulukları
- HTML, CSS ve JavaScript ve ilgili herhangi bir framework ile front end geliştirmek.
- Web sitesi işlevselliği için veritabanı ve sunucu yönetimek
- Projelerin Windows, MacOS ve Linux gibi tüm platformlarda sorunsuz çalışmasını sağlamak
- Uygulamaların yanıt verdiğinden emin olmak.
- Hem teknik hem de tüketici gereksinimlerini karşılamak.
- Verileri almaktan sorumlu API’leri tasarlamak ve geliştirmek.
Full Stack Developer Olmanın Avantajları ve Dezavantajı
Herhangi bir rolde olduğu gibi, full stack developer olmanın bazı artıları ve eksileri vardır.
Full Stack Avantajları
- Uyarlanabilirlik – hem front hem de back end teknolojilerinde çok bilgilisiniz, bu da gerektiğinde projeleri kolayca değiştirebileceğiniz anlamına gelir.
- Farklı türde projeler üzerinde çalışmanıza izin veren çeşitli beceri setiniz sayesinde çok çeşitli görevleri yerine getirebilirsiniz.
- Çoğu durumda değişiklikleri bağımsız olarak uygulayabileceğiniz için proje iletişimini azaltır.
Tam Yığın Dezavantajları
- Yetersiz üretkenlik ve zaman yönetimi sorunları, şirketiniz/ekibiniz yalnızca bir veya iki full stack geliştiriciye bağlı olduğunda ortaya çıkabilir.
- Trendlere ayak uydurmak zordur. Full stack developer olarak, teknolojinin farklı alanlarında çalışacaksınız, bu nedenle ortaya çıkan trendlere ayak uydurmak zor.
- Full stack geliştiriciler çok fazla iş üstlenme eğiliminde olduklarından, işleri dengelemeyle ilgili sorunlar. Sonuç olarak, iş yükünüzü daha küçük görevlere bölmeyi unutabilir ve belirli bir projedeki sorumluluklarınız konusunda kafanız karışabilir.
Full Stack Geliştirmeye Nasıl Başlanır?
- Full Stack Web Development: HTML, CSS, React & Node (Udemy)
- Full-Stack Web Development Course with React (Coursera)
- .
- Free Full-Stack Development Training (LinkedIn Learning – Lynda)
- Full Stack Developer Course
- Full Stack Web Developer Path
Sonuç
Full stack developer hemen hemen her şeyi yapabilir. Yaratıcı olmaktan ve problem çözmekten hoşlanıyorsanız ve farklı şeylerin birlikte nasıl çalıştığını anlıyorsanız bu role tam size göre demektir.
0 Yorum