Yazılıma Yeni Başlayacaklar İçin Yol Haritası 2022
Selamlar, bloğumun ilk makalesinde yazılım alanında kendini geliştirmek ve bu alanda kariyer yapmak isteyenlere rehber tadında bir yol haritası göstermek. Evet göstermek diyorum çünkü bu yolda çok fazla seçim yapmanız ve kesin olarak karar verip geri bakmamanız gereken ayrımlar var bu yüzden size yolu ben çizemem, siz kendi seçimlerinizi belirleyip yol haritanızı belirleyeceksiniz.
Özellikle bu makaleyi lisede veya üniversitede yazılım bölümünü okuyan öğrenciler için yazmak istedim. Çünkü ben lisede yazılıma başlamış sürekli farklı konulara odaklanmış ve sonunda her konuda bilgisi olan biri olmuştum. Evet kötü bir şey değil ama bu durum ne yazık ki para adam gibi kazandırıp hayatınızı yaşatmayacak. Sürekli kaygılarınız, endişeleriniz olacağından sevdiğiniz işe tam odaklanamayacak, hemen öğrenemeyecek ve mutsuz olacaksınız. Nerden biliyorsun derseniz çünkü hepsini bizzat kendi üzerimde deneyimledim.
Benim gibi sizde bu durumlara düşmenizi istemediğimden tüm gerçekleriyle siz yazılıma yeni başlayacaklar için bu yol haritasını hazırlama kararını verdim. Fazla uzatmadan sizlere yazılım sektöründe yol haritasını göstereyim.
Yazılım Alanında 5 Ana Dal Vardır
- Web Yazılım
- Masaüstü Yazılım
- Mobil Yazılım
- Oyun Yazılımı
- Gömülü Yazılım
Bahsettiğim bu 5 ana daldan hangisi sizi daha çok heyecanlandırıyorsa öncelikle bunu seçmelisiniz. Çünkü bir ana dal seçtikten sonra onun alt dallarını öğrenmekle zaman harcayacağınız için tekrardan başka bir ana dalı öğrenmek çok zor oluyor. Hem zaman gerekiyor hem de ilgi gerekiyor. Şimdi sizlere ana dallar hakkında bilgi vermek istiyorum çünkü sadece 5 dalı yazmakla bitmiyor bu dalların birde alt dalları mevcut.
Web Yazılım Nedir?
Web yazılım, internet ortamında bulunan web tarayıcıları() aracılığıyla girebildiğimiz yazılımlardır. Bugün kullandığımız Google.com, Youtube.com, Facebook.com, Haberler.com, Sahibinden.com gibi projeler web tabanlı yazılımlardır. Bu tarz web yazılımlarında yazılım hizmeti kişiler Web Yazılım Uzmanı ünvanı kullanmaktadır. Web yazılımın altında 2 alt başlık vardır bunlar;
- Front-End
- Back-End
- Full Stack
Front-End Nedir? Front-End Yazılımcı (Developer) Ne İş Yapar?
Adında anlaşıldığı üzere Front yani Ön tarafta kullanıcılarla buluşan alandır. Bu bölgede web projelerin kullanıcıların nasıl karşılanacağı, kullanıcıların nasıl yönlendirileceği, nereleri görebileceği belirlenir ve yazılımı yapılarak istenilen amaca göre kullanıcılara sunulur. Örneğin bu sitenin Anasayfa’sına bakarsanız üstte menüler alt solda yazılar sağda yeni yazılar, en çok okunanlar gibi alanları görürsünüz. Bu tasarım şablonunu koda dökülmesi Front-End tasarımın kullanıcıların kullanımını sağlayan kişilere de Front-End Yazılımcı (Developer) diyoruz.
Bu alanda uzman olmanız 3 alt dal bulunmaktadır. Bunlar HTML, CSS, JavaScript.
HTML Nedir?: Hyper Text Markup Language kelimelerinin kısaltılmışdır. Web sayfaları oluşturmak için standart olarak belirlenmiş etiketlerden oluşan bir işaretleme dilidir. Html için yazılımdır diyemiyoruz çünkü tek başına çalışabilen bir program değildir. Html onu yorumlayabilen aracı programlar aracılığıyla çalışmaktadır. Temel görevi text, resim ve video gibi verileri kullanıcılara istenildiği gibi göstermektir. En son olarak HTML5 sürümü çıkmış ve herkes tarafından kabul edilerek standart olmuştur.
Örnek HTML Kodu:
<html> <head> <title>örnek başlık</title> </head> <body> <p>Merhaba Dünya</p> </body> </html>
Örnek kodu bulunan <html></html>, <head></head>,<body></body> ve <p></p> vb. etkiketler Html için standart etiketlerdir ve asla değişmezler. Sadece bu etiketlerden oluşmamaktadır bunların yanında onlarca kod bulunmaktadır. Daha ayrıntı bilgiye buradan ulaşabilirsiniz.
CSS Nedir?: Cascading Style Sheets kelimelerinin kısaltılmışıdır. Html etiketlerinin metin ve format biçimini değiştirme görevinden kullanılır. Örneğin bir yazının boyutunu, rengini, tipini değiştirmek için css tanımlarını kullanırız. En son olarak CSS3 sürümü çıkarak bir çok yeni özellik eklenmiştir.
Örnek CSS Kodu
<html> <head> <title>örnek başlık</title> </head> <body> <p style="font-size:25px; color:red;">Merhaba Dünya</p> </body> </html>
Örnek kodumuzda bulunan p html etiketimize style ile font-size:25 (yazı boyutu 25px), color:red (yazı rengi kırmızı) ile biçimlendirdik. Css yazmanın bu şekilde belirlemenin yanında id ve class dediğimiz yöntemleride mevcuttur. Daha ayrıntılı bilgiye burada ulaşabilirsiniz.
JavaScript Nedir?: Front-End tarafında kullanılan en basit programlama dilidir. Web tarayıcıların (Chrome, Safari, Firefox vb.) üzerinden bulunan javascript motorları sayesinde çalışmaktadır. İnternet üzerinden bulunan bir çok web sitesi javascript kullanmaktadır. Genellikle üçüncü kişiler tarafından oluşturulan kütüphaneler dahil edilerek kendi web sayfalarımızda kullanırız. Web sitemizin bağlı olduğu veritabanına veri eklemede, verileri çağırmada veya html etiketleri oluşturmada kullanılmaktadır. En çok kullanılan üçüncü kişiler tarafından kullanılan jQuery kütüphanesi web sitemize dahil edilerek üzerinden işlemler yapıyoruz.
Örnek JavaScript Kodu:
<html> <head> <title>örnek başlık</title> </head> <body> <button onclick="myFunction()">Tıkla</button> <div id="demo"></div> </body> <script> function myFunction() { document.getElementById("demo").innerHTML = "Merhaba Dünya!"; } </script> </html>
Örnek javascript kodumuzda bulunan <script></script> html etiketlerimiz içerisinde bulunan kodlarımız en basit javascript kodlarımızdır. Daha fazla bilgiye ulaşmak için buraya tıklayabilirsiniz.
Temel olarak Front-End hakkında ve Front-End Yazılımcı ne iş yapar hakkında bilgi vermiş olduk. Front-End tarafından kullanılan Html, Css ve Javascript konularını burada basitçe anlatmış olsakta asılda içerisinden oldukça farklı teknolojiler mevcuttur. Bu konulara yoğunlaştıkça bu konuları görecek ve Front-End tarafından artık uzmanlaşmaya başlayacaksınız.
Her web yazılımında Front-End yazılımcı çalışan bulunmaktadır. İsterseniz sadece bu alanda uzmanlaşabilir sadece sektörde Front-End Yazılımcı ünvanı ile kariyer yapabilirsiniz. Konu hakkında sorularınızı yorum bölüme yazabilirsiniz. Daha fazla uzatmadan ikinci dalımız olan Back-End yazılımcılık hakkında bilgi verelim.
Back-End Nedir? Back-End Yazılımcı (Developer) Ne İş Yapar?
Yine aynı şekilde adından anlaşıldığı gibi Back yani Arka tarafla ile iletişim kurabilen alandır. Bu alanda Front-End ile tasarladığımız statik sayfalarımızı veritabanı (Database) yardımıyla dinamik hale getiriyoruz. Örnek vermek gerekirse Front-End tarafında statik olarak elle Haber1, Haber2, Haber3 yazılarımızı elle tekrar tekrar yazmak yerine Back-End yazılımlarıyla Html etiketlerini döngülerle veritabanımızda bulunan verilerimizi otomatik listeleyebiliriz.
Front-End alanında göstermek istediğimiz verilerimizi bir veritabanına ekleyebilmemizi, düzenleyebilmemizi, silebilememizi ve kullanıcılara gösterebilmemizi sağlayan kodlara Bank-End diyor bu kodları yazan çalışana ise Back-End Yazılımcı (Developer) diyoruz.
Veritabanı ile Ön Yüz iletişimi sağlan bazı programlama dilleri mevcuttur. Back-End Yazılımcı en az bir tanesini öğrenmesi gerekiyor. Araştırdığımızda karşımıza bir çok dil çıkacaktır. Bunların bazıları şu şekilde;
- ASP.NET
- PHP
- PYTHON
- RUBY
- JAVA
- DJANGO
Burada yazdığımız dillerin dışında bir çok farklı dillerde bulunmaktadır ancak Türkiye’de en çok kullanılan dilleri sizlere paylaşmak istedim. Bu diller hakkında sizlere kısa bilgiler vermek istiyorum.
ASP.NET Nedir?
Öncelikle şunu belirtmek istiyorum ki Back-End Yazılımcı olmak isteyenlere tavsiye ettiğim bu dildir. Çünkü Türkiye’de kurumsal firmaların bir çoğu bu dili kullanmaktadır. Bunun yanı sıra Microsoft tarafından ortaya çıkarılmış ve hala geliştirme desteği verip yeni özellikler kazandırılmaktadır. Sektörel olarak bakarsak maaş skalası yüksektir. İş olanı fazla olduğundan diğerlerine göre daha rahat iş imkanı bulabilirsiniz.
ASP.NET, Microsoft tarafından 1996 yılından ortaya çıkarılmış dinamik sayfalar yapmamızı sağlayan programlama dilidir. İlk versiyonu ASP olarak geçmektedir. Bu zamana kadar geliştirdiğinden ve yeni özellikler eklendiğinden ASP.NET ismini almıştır. Hem Türkçe hem de İngilizce olarak bir çok ücretsiz eğitim ve rehber, soru-cevap bulabilirsiniz.
Bu dili öğrenmeye başlamadan önce ana ve hem masaüstü hem mobil hem web yazılım ortamı yapabildiğimiz ortak dil olan C# programlama dilini öğrenmeniz gerekmektedir. C# oldukça basit ve öğrenmesi kolay bir dildir. Kendi sitemde sizlere daha çok C#, ASP, ASP.NET, ASP.NET MVC ve ASP.NET CORE konu hakkında bilgi vereceğim. Kendini bu alanda geliştirmek isteyenler sitemizin kategorilerinden takip edebilirler.
PHP Nedir?
Personal Home Page kelimelerinin kısaltılmışıdır. Veritabanı ile iletişim kurarak dinamik web sayfaları oluşturmamıza olanak sağlayan bir programlama dilidir. 1995 yılından beri açık kaynak topluluklar tarafından geliştirmeye devam etmektedir. Türkiye’de yine çok fazla kullanılan diller arasındadır. Öğrenmesi ve uygulaması oldukça kolay olduğundan sektörde çok fazla PHP Web Yazılımcısı bulunmaktadır. Dünya üzerinden 2 milyondan fazla web sitenin kullandığı tahmin edilmektedir. WordPress, Opencart gibi sistemler PHP dili kullanılarak yapılmıştır. En son sürümü PHP8 ile devam etmektedir. PHP ayrıca üçüncü kişiler tarafından oluşturulan LARAVEL, SYMFONY, CODEIGNITER gibi kütüphaneler kullanılarak geliştirilmeye devam etmektedir. PHP konusunda rehberleri, soru, hata ve çözümlerini kategorimizden takip edebilirsiniz.
PYTHON Nedir?
Öğrenmesi ve uygulaması en kolay programlama dilidir. 1991 yılından beri açık kaynak topluluklar tarafından geliştirilmektedir. Daha çok karşımıza masaüstü programlarında, veri programlarında veya ağ programlarında çıksada web programlamada yapılmaktadır. Türkiye’de kurumsal olarak çok az kullanılmaktadır. Bu yüzden iş olanakları çok kısıtlıdır. Daha fazla bilgiyi buradan bulabilirsiniz.
RUBY Nedir?
Ruby Türkiye’de en az kullanılan programlama dillerinden bir tanesidir. Python diline çok benzer yapıda olsada avantajları ve özellikleri mevcuttur. 1995 yılından beri Yukihiro Matsumoto tarafından çıkarılmış günümüzde onun öncülüğünde ve topluluklar aracılığı ile geliştirilmeye devam etmektedir. Ruby hakkında daha fazla bilgiye buradan ulaşabilirsiniz.
JAVA Nedir?
1995 yılında James Gosling tarafından geliştirilmeye başlansada 2012 yılında Oracle tarafından alınmıştır. Ne yazık ki dilin satılmasından dolayı geliştirilmesi yavaşlamış ve popülerliği zamanla düşmüştür. Türkiye’de kurumsalların çok çok azı bu dili kullanmaktadır. Bu yüzden iş olanakları çok azdır. Özellikle Microsoft’un geliştirdiği ASP.NET bir çok güzel, yararlı JAVA metodunu kendine kopyalayıp ücretsiz olarak sunması JAVA’yı tercihlerden kaldırmaya başlamıştır.
DJANGO Nedir?
Aslına bakarsak PYTHON programlama dili kullanan bir web yazılım kütüphanesidir. Basit kurulumu, kullanımı ve hata ayıklama özelliği sayesinden python bilenlerin web tarafından kullandığı en çok dildir. 2005 yılından beri geliştirilen projenin asıl amacı veritabanı kullanan karmaşıklığını gidermektir. Türkiye’de yine az kullanılan diller arasındadır.
Back-End nedir ve Back-End Yazılımcı ne iş yapar hakkında kısaca bilgi vermiş olduk. Arka tarafta kullanılan teknolojiler hakkında kısa açıklamalar yapsam da konular oldukça derin konulardır. Seçiminizi yaptıktan sonra araştırmaya ve öğrenmeye başladıkça çok fazla olduğunu göreceksiniz. Bu makale genel olduğundan ayrıntılı bahsedemiyorum sitemizde bulunan diğer makaleler her konuya özel olarak bakacağız onlarıda okumanızı tavsiye ederim.
Full Stack Nedir? Full Stack Yazılımcı (Developer) Ne İş Yapar?
Aslında isminden de anlaşıldığı gibi hem Front-End hem de Back-End konusunda bilgisi olan yazılımcı demektir. Yani bir web projesinde Front-End tarafında HTML, CSS ve JavaScript kullanabilirken Back-End tarafında ise ASP.NET veya PHP gibi her hangi bir dilli öğrenmiş ve kullanabiliyor demektir. Bu kişiler tek başlarına bir web projelerini ayağa kaldırabilirler. İş oldukça zor, stresli, sürekli öğrenme süreci devam eden ve kendini sürekli güncel tutması gerekir. Türkiye’de çok fazla bu alanda iş ilanları mevcut olmasından çok fazla aranan yazılımcılardır.
Böylece Web Yazılım alanında kariyer yapmak isteyenlere genel kısaca bilgi vermiş olduk. Diğer makalelerimizle bu Web Yazılım konularına değinmeye devam edeceğiz. Şimdilik bu konuda bu kadar bilgi yeterli ve diğer konumuz olan Masaüstü Yazılım hakkında bilgi verelim.
#Güncelleneceltir.