Bir Web Geliştiricinin Yol Haritası

Web Geliştirmeye başlamak istiyorum ancak nereden başlamam gerektiğini bilmiyorum diyorsanız, bu yazı tam size göre..!

Yazılıma yeni başlayacağım ancak,

  • Yazılım ile ilgili hiç bir ön bilgim yok.
  • Yazılım işinde başarılı olmak için Üniversite mezunu olmam gerekiyor mu?
  • Yazılımın hangi alanında daha çok iş gücüne ihtiyaç var?
  • Yazılımın hangi alanında kendimi geliştirmeliyim?
  • İlgilendiğim yazılım alandaki hangi konuları öğrenmem gerekiyor?
  • Yazılım öğrenme sürecinde nasıl çalışmalıyım?

Gibi sorular aklınızı mı kurcalıyor? 

O halde "bir web geliştiricinin yol haritası nasıl olmalıdır?" yazısını okuyun ve zaman kaybetmeden kendinize bir yol çizin.

Yazılım ile ilgili hiçbir ön bilgim yok, ne yapmalıyım?

Yazılım aslında zor bir alan değildir ancak bilgi karmaşasından ve neyi ne zaman öğrenmemiz gerektiğini bilmiyor olmamızdan dolayı kolay olan bu süreci çok zor olarak görüyoruz ki; bana göre önümüzdeki en büyük engel bu yani süreci zor olarak görmemiz.

Bundan dolayı doğru bir yönlendirme ve doğru bir kaynağa ihtiyacımız var, aksi halde yanlış yönlendirme ve yanlış kaynaklardan dolayı süreç çok fazla uzar ve çoğu zaman da kolay olan bu süreci zor gibi görüp vazgeçmemize neden olabilir.

Özetle beklentilerimize göre bir alan seçip alanın gerekliliklerini yerine getirmemiz ve bu süreçte de doğruluğu kanıtlanmış bir kaynak seçiminde bulunmamız yazılım açısından hayati önem taşımaktadır.

Yazılım işinde başarılı olmak için Üniversite mezunu olmam gerekiyor mu?

Yazılım ile ilgileniyorsanız mutlaka mesleki bilginiz her şeyden önde olmalıdır. Yani Üniversite mezunu olup etkin bir yazılım bilgisine sahip değilseniz iş bulma sürecinde zorlanmanız muhtemeldir.

Eğer ki yazılım ile alakalı bir Üniversite mezuniyetiniz yoksa bu durumda kurumsal firma başvurularında çok iyi bilginiz olsa bile çoğu zaman göz ardı edilebilirsiniz çünkü kurumsal firmalar için yazılım bilgisinin yanında üniversite mezuniyeti çoğunlukla önemlidir.

Ancak çok iyi yazılım bilginiz var bu durumda iş bulamaz mıyım ? 

Kesinlikle bir çok iş fırsatına sahip olabilirsiniz. Orta ölçekli firmalar sizin neler yapabildiklerinizle ilgilenirler iyi bir yazılım bilgisi size iyi ücretli bir çok iş fırsatı getirebilir. Üstelik her hangi bir firmaya bağlı olmadan kendi başınızada bir çok müşteri bulup güzel gelir elde edebilirsiniz. Bu şekilde bağımsız çalışan kişiler "freelancer" olarak adlandırılır.

Yazılımın hangi alanında daha çok iş gücüne ihtiyaç var?

Genel olarak yazılımı bu 3 ana grup altında ele alabiliriz tabi ki her grup altında birçok alt başlık sayabiliriz hatta farklı gruplardan da bahsedebiliriz ancak biz yazılıma yeni başlıyoruz ve en genel haliyle

  • Web geliştirme
  • Mobil uygulama geliştirme
  • Masaüstü uygulaması geliştirme,

şeklinde bir gruplama yapabiliriz.

Web Geliştirmenin popülerliği ve iş fırsatları tartışılmaz bir gerçektir. Web geliştirme alanındaki gelişmeler, güncellemeler çok fazla olduğundan, sürekli yeni teknolojiler çıktığından dolayı bu alan ile ilgilenecek kişilerin bilgilerini sürekli güncel tutmasıyla çok iyi iş fırsatlarına sahip olmaları yüksek ihtimaldir.

Son zamanlarda Javascript'in popülerliği ile çıkan bir çok Javascript türevi kütüphane ile birlikte artık web sayfaları üzerinde mobile uygulama tarzında çalışan Single Page Application diye isimlendirilen tek sayfalık web uygulamaları ile mutlaka karşılaşmışınızdır.Javascript tabanlı bu yapıların en başında Angular, React ve VueJs gelmektedir.

Javascipt tabanlı kütüphaneler ile yapabildiğimiz mobile tarzında, web sayfalarında çalışan uygulamaların ios ve android uygulamasına da kolaylıkla çevirilebilmesi ve android, ios için native kod yazmak zorunda olmamamızdan dolayı bu kütüphanelerin popülerliliği çok fazla artmıştır. Dolayısıyla son zamanlardaki en popüler programlama dilinin Javascript olduğunu kolaylıkla söyleyebiliriz.

Yıllardır bildiğimiz ve sadece tarayıcı bünyesinde çalışan Javascript programlama dili artık Nodejs yapısıyla tarayıcı dışında da çalışabilir hale geldi bu durumunda Javascript'in popüler hale gelmesindeki etkisi çok büyük.

Modern Javascript tekniklerini ayrıntılı bir şekilde ele alarak hazırlamış olduğum ayrıntılı Javascript Kursu : Sıfırdan İleri Seviyeye isimli kursuma katılıp angular, react ve daha bir çok Javascript türevi yapılar için güzel bir temel oluşturabilirsiniz.

Yazılımın hangi alanında kendimi geliştirmeliyim, hangi alan benim beklentilerimi karşılar?

Web Geliştirme ile mi ilgilenmek istiyorsunuz? 

Bence en iyi seçimlerden birisi web geliştirme çünkü iş fırsatı çok fazla. İsterseniz kurumsal bir firmaya girip çalışabilirsiniz isterseniz de freelancer olarak çalışıp güzel gelir elde edebilirsiniz hatta kendi sitelerini kurup Google adsense reklamlarıyla çok güzel gelir elde eden birçok kişi var.

Web Geliştirme alanı 3 ana alt başlık altında ele alınabilir.

  1. Web Tasarım
  2. Web Programlama
  3. Full-Stack Web Geliştirici
Web Tasarımcı olmak istiyorum, bu alanda kimler daha başarılı olur, hangi konuları öğrenmem gerekiyor?

Eğer seçiminiz Web Tasarım ise daha çok görsel yaratıcılık kabiliyeti ön plana çıkmaktadır. Çünkü tasarım yeteneği bir görüntünün web sayfası üzerinde nasıl yapıldığı ile çok alakalı değil. Bir görüntünün web sayfasına nasıl aktarılacağını bilmekten başka bir de görsel bakış açısının varlığı ile de alakalıdır. En basitiyle hangi renk hangisiyle daha uyumlu görünür. Ya da tasarım nasıl olsa kullanıcıya daha güzel görünür gibi.

Web tasarım alanında başarılı olmak için görsel yeteneğinizi html ve css bilgisi ile birleştirip güzel tasarımlar yapabiliyor olmalısınız.

Html ve css bilgisini herkes yapar beni web tasarım alanında öne çıkaracak konu teknik açıdan ne olmalıdır derseniz de; size tavsiyem javascript, Jquery ve Angular kullanımı olacaktır. Scss ve sass kullanımı zaten olmazsa olmaz konular arasındadır. Bu bilgiler tasarımlarınıza hareketlilik ve canlılık katacaktır.

Web tasarım alanında sistemli bir şekilde zaman kaybetmeden başarılı olmak için "Komple Uygulamalı Web Geliştirme" kursuma katılabilirsiniz. Bu kursa katılarak web tasarım konularından olan Html, Css, Javascript, Bootstrap ve JQuery kullanımını iyi bir şekilde bol uygulama yaparak öğrenebilirsiniz.

Web Programcısı olmak istiyorum, kimler web programcılıkta daha başarılı olur, hangi programlama dillerini öğrenmem gerekiyor?

Web Programlama alanı tasarımdan çok daha farklı bir alandır. Statik bir web site tasarımı yapmaktan öte sitenize bir yönetim paneli hazırlayıp içerikleri gene bir web site üzerinden düzenlemek isteyebilirsiniz ki bu tip siteler daha çok tercih edilir. Örneğin sosyal medya hesaplarındaki bilgi güncellemesini hesabımız üzerinden girip yaptığımız gibi.

Web Programlama alanında başarılı olacak kişilerin daha çok algoritma mantığına sahip olmaları gerekir. Matematiksel zekâ sayesinde muhakeme gücünün daha iyi olması bu alandaki kişileri çok daha ön plana çıkarıp daha başarılı hale getirmektedir.

Matematiksel zekâm çok iyi değil programlama alanında başarılı olamaz mıyım diye düşünüyor olabilirsiniz.  Evet, matematiksel zekâsı iyi olan kişiler dediğimiz gibi programlama alanında daha başarılı olurlar ancak bu hiç başarılı olunmayacağı anlamını kesinlikle taşımıyor. Normal zekâya sahip her kişi bu alanda başarı sahibi olabilirler önemli olan düzenli çalışmaktır.

Web programcısı olmak istiyorum tüm web programlama dillerinin hepsini bilmek zorunda mıyım?

Kesinlikle hayır. Sadece bir web programlama dilinde başarılı olmanız sizi sonuca götürür. Sonuçta yapacağımız web sitesi son kullanıcı için hep aynıdır. Bu web sitesinin asp.net mvc ile mi, nodejs ile mi, geliştirildiği hiç önemli değildir.

Birçok web programlama dilini aynı anda öğrenmeye çalışmak hedefe ulaşma zamanımızı uzatır. Bir dili iyicene öğrendikten sonra başka bir dil öğrenebilirsiniz ancak aynı anda çalışmak süreci uzatabileceği gibi sizi başarıya götürecek olan çalışma hevesinizi kaçırabilir.

Sonuç olarak her web programlama dili Http protokolü üzerinde işletilen istek ve talepleri işleten bir mekanizmadır yani arka taraftaki işlemler hep aynıdır dolayısıyla bir web programlama dilinin mantığını iyi anlayan biri diğer web programlama dilinide kısa zamanda anlayacaktır.

Eğer ki hedefiniz freelancer olarak çalışmak ise bu durumda hangi web programlama dilini öğrendiğinizin çok bir önemi yoktur çünkü web sitesi yaptırmak isteyen kişi için önemli olan sitenin kullanımı ve görüntüsüdür.

Özetle; bir web programcısı olmak istiyorsanız web tasarım alanı ile ilgilenmenize gerek yoktur. Kurumsal bir firmada çalışıyorsanız web tasarım zaten ekibiniz tarafından yapılır siz sadece programlama kısmında kod yazarsınız. Eğer ki freelancer olarak çalışacaksanız bu durumda web tasarımını ücretsiz ya da küçük bir ücret karşılığında satın alıp programlamasını yapabilirsiniz.

Hangi web programlama dilini kullanacaksanız kullanın ilk başta programlama mantığınızı geliştirmeniz ve iyi bir algoritma kurma yeteneğine sahip olmalısınız. Programlama mantığı üzerine hazırlamış olduğum geniş kapsamlı bir kursum mevcut. Bu kursa katılmanızı tavsiye ederim.

"Uygulamalı C# Programlama Eğitimi : Yeni Başlayanlar" isimli kursuma katılmanız size büyük fayda sağlayacaktır. Kursta sıfırdan programlama mantığı dahil olmak üzere bir çok programlama konusunu öğrenip her hangi bir web programlama platformunu öğrenebilecek alt yapıya fazlasıyla sahip olacaksınız.

Full-Stack Web Geliştirici olmak istiyorum.

Full-Stack Web Geliştirici olmak istiyorum çünkü bir web sitesinin tasarımı ve programlaması dahil her ayrıntısını kendim yapmak istiyorum diyorsanız öğreneceğiniz konular fazlaşıyor.

Full Stack Web Developer 'lar daha çok freelancer olarak çalışan kişiler ile küçük-orta ölçekli şahıs firmalarında çalışan kişilerden oluşmaktadır.

Freelancer çalışanlar yaptıkları sitelerin web tasarım ve web programlama kısımlarını olduğu gibi kendileri düşünmesi gerekir. Ve aynı şekilde şahıs firmalarında çalışan kişilerde genellikle aynı pozisyondadırlar ki; firmalar hem tasarım için hemde programlama için ayrı kişiler çalıştırmak istemezler.

Full-Stack Web Geliştiricilerin iş fırsatları çok daha fazladır. Bu alan tam bana göre diyorsanız size önerebileceğim muhteşem bir full stack web geliştirici kursum var. Üstelik a’dan z’ye her hangi bir ön koşula sahip olmadan planlı bir şekilde ilerleyebileceğiniz tam 56 saatlik "Komple Uygulamalı Web Geliştirme" Kursuma kayıt olursanız bir full stack web geliştiricinin bilmesi gereken tüm konuları ortalama 6-8 ayda, günde 2-3 saatinizi ayırarak planlı bir şekilde ilerlemeniz durumunda öğrenebilirsiniz. Bir web sitesinin a’dan z’ye her aşamasını kendiniz hazırlayıp muhteşem web sitelerini hazırlayabilirsiniz.

Bir Full-stack web geliştirici hangi konuları bilmelidir ?

Full-stack web geliştirici hem web tasarıma hakim hemde en az bir web programlama diline hakim kişilerden oluşur. Dolayısıyla web tasarım açısından baktığımızda bilmemiz gereken en temel konular Html ve Css olmalıdır.

Html ve Css bilmemiz en gereken temel konulardır ve eğer ki web tasarım konusunda çok daha hızlı ilerlemek kısacası tasarım için çok vakit harcamak istemezseniz hazır css kütüphaneleri kullanmanızı şiddetle tavsiye ederim.

Hazır css kütüphanelerinden en bilinenleri Twitter firmasının hazırladığı Boostrap kütüphanesi ve Google firmasının hazırladığı Material kütüphanesidir. Bu kütüphanelerin bir başka avantajı ise sundukları Javascript bileşenleridir. Örneğin bir image slider'i saniyeler içinde yapabilirsiniz.

Bir Full-stack web geliştiricinin sıfırdan tasarımlar yapması genellikle zaman kaybettirir. Dolayısıyla tasarımı sıfırdan yapmak yerine hazır template kullanımı yapmak büyük avantaj sağlar. Bazı örnek tasarımları indirip bu tasarımlara program yazarak dinamik hale getirdiğimiz sitemizi kısa sürede yayına hazır hale getirebiliriz.

Peki bir full-stack web geliştirici olarak web tasarım işimizi ister sıfırdan başlayarak hazır hale getirebiliriz istersek de hazır css (bootstrap,material) kütüphanesi ile tasarımı kısa sürede oluşturabiliriz. Ya da tasarım aşamasıyla hiç uğraşmadan hazır bir template üzerinden programlama işimize geçiş yapabiliriz.

Tasarımları daha etkileşimli ve hareketli hale getirmek için mutlaka Javascript bilmeliyiz. Javascript tarayıcıda çalışan (NodeJs'i düşünmezsek) bir programlama dilidir. Örneğin bir butona tıkladığımızda bir pencerenin açılması Javascript ile olmaktadır. 

Web tasarımlarınıza hareketlilik ve yetenek kazandırmak için mutlaka iyi bir javascript bilgisine ihtiyacımız vardır. Modern Javascript Kursu : Sıfırdan İleri Seviyeye isimli kursuma katılarak detaylı bir Javascript bilgisine sahip olabilirsiniz.

Javascript dili son zamanlarda çok popüler hale geldi çünkü artık Javascript sadece tarayıcıda çalışan bir programlama dili değildir artık Javascript'i NodeJs sayesinde server tabanlı bir dil olarakta kullanabiliyoruz.

Javascript Kursu : Sıfırdan İleri Seviyeye kursumuzda Javascript'in temel dil özelliklerini, tarayıcıdaki Javascript yani Dom yapısını ve tüm modern Javascript tekniklerini öğreniyoruz. Yaklaşık 15 saatlik Javascript Kursu : Sıfırdan İleri Seviyeye kursuma kayıt olmanızı tavsiye ederim.

Bir full stack web geliştirici olarak bir web programlama dilini öğrenmek istiyorum, hangi dili öğrenmeliyim ?

Birçok web programlama platformu mevcuttur. Bunlardan en çok bilinenleri;

  • Asp.net Web Form
  • Asp.net Mvc
  • Asp.net Core Mvc
  • Php
  • Java
  • NodeJs
  • Ruby on Rails
  • Python

Şeklindedir.

Eğer hedefiniz kurumsal bir firmada çalışmak ise bu durumda daha popüler olan web programlama dillerini tercih etmeniz gerekir ki; Türkiye şartlarında en popüler web programlama dili asp.net mvc ‘dir.

Asp.Net Web form ile Asp.Net Mvc platformlarını karıştırmamak gerekiyor. Asp.net Mvc yapısı birçok popüler web programlama alternatifleri ile aynı yapıyı yani "model-view-controller" yapısını kullanmaktadır.

Eğer hedefiniz freelancer olarak çalışmaksa bu durumda hangi web programlama dilini kullandığınız çok önemli değildir. Çünkü yapacağınız sitelerin görüntüsü ve işlevselliği önem taşır. Sitenin hangi web programlama ile yapıldığı müşteriye çok ilgilendirmez.

Web tasarım ve Web Programlama derslerini içeren 56 saatlik "Komple Uygulamalı Web Geliştirme" kursuma kayıt olarak bir full-stack web geliştirici olabilirsiniz. Asp.net derslerini ayrıntılı bir şekilde anlattığım bu kurs size asp.net platformunu detaylı bir şekilde öğretecektir.

Kursumuzda bir çok dinamik uygulama yapmaktayız. Öne çıkan uygulamalardan bazıları Blog ve Ürün katalog uygulamasıdır. Yönetim paneli dahil üyelik sistemlerini, alışveriş süreçlerini, ürün ekleme, silme, güncelleme ve listeleme işlemlerini anlattığım bu uygulama örnekleri ile vakit kaybetmeden asp.net yapısını öğrenin.

Microsoft, asp.net mvc nin yanında cross platform olarak yani windows haricindeki işletim sistemlerinde de asp.net uygulamalarının geliştirilmesi ve host edilebilmesi için asp.net core yapısını geliştirmeye başlamıştır.

Eğer ki asp.net core ile ister IOS ister Linux ortamında uygulama geliştirmek isterseniz sadece asp.net core platformuna özel detaylı 29 saatlik Asp .Net Core 2 Mvc Kursu : Sıfırdan İleri Seviyeye kursuma katılabilirsiniz.

Dinamik web uygulamaları için iyi bir veritabanı bilgisine ihtiyacımız vardır ve Microsoft ürünlerini kullanarak web, masaüstü,mobil uygulamalar için kullanabildiğimiz Entity Framework Core yapısını detaylı bir şekilde anlattığım Entity Framework Core 2 Kursu : Sıfırdan İleri Seviyeye isimli bir kursum daha mevcut.

Yazılım öğrenme sürecinde nasıl çalışmalıyım?

Doğru kaynağa ulaştım ve ne öğrenmem gerektiğine karar verdim diyorsanız artık yazılım öğrenme sürecine disiplinli bir şekilde başlayabilirsiniz. Size bazı tavsiyelerim olacak;

  • Konuyu ilk başta çalışın ve mutlaka öğrendiklerinizi yazıp deneyin.
  • Bir gün de saatlerce çalışmak yerine gün içinde daha az vakit ayırarak çalıştığınız gün sayısını arttırın.Zamana yayarak çalıştığınızda mutlaka anlamanız daha kolaylaşır.
  • Anlamadığınız bir konunun üzerine mutlaka gidin sakın vazgeçmeyin.
  • Youtube yada başka kaynaklardan düzensiz olarak farklı farklı kaynaklara bakarsanız kafanız çok kolay bir şekilde karışabilir bu yüzden doğru kaynak üzerinden ilerleyin.
  • Karşılaştığınız bir problemde hemen sormak yerine mutlaka araştırma yapıp sorunu kendiniz halletmeye çalışın.