Yazılım dünyasına giriş yaparken öncelikli ve daha sık karşılaştığım bir soruyla başlamak istiyorum:
“Nereden başlamalıyız ve nasıl yazılımcı oluruz? “
Bu soru genellikle çevremizdeki yazılıma meraklı arkadaşlarımızdan en sık duyduğumuz soruların başında gelir. Sebebi ise etrafında mutlaka bir yazılımcı/yazılım mühendisi olması, mesleğin kazancının yüksek olması, dışarıdan yapılan işin rahat, kolay, masabaşı bir işmiş gibi algılanması, insanlar arasında saygınlığı, popülerliği ve yurtdışına açılabilirlik sıralanabilir.
O halde ilk olarak mesleği yapabilme yeterliliği üzerine konuşalım; çünkü sonrasında bu yolda yürüyecek olan adayların içinde hayal kırıklıkları, pişmanlıklar ve boşa giden bir zaman oluşturmayalım. Öncelikle bana göre bunun okul ile doğrudan ilişkisi yok, yani çok iyi bir üniversitenin bilgisayar/yazılım mühendisliğinden mezun bir adayın, yazılım geliştirme süreçlerinde başarısız olabileceği gibi bu işi bilgsayar/yazılım mühendisliği lisans diplomasına sahip olmayan ve öğrenen, kendini geliştiren, üstüne de kabul edilebilir bir eğitim almış adaylarında başarılı olduklarına şahit oldum.
Dolayısıyla burada çıkış noktamız; heves, sürekli öğrenme arzusu, analitik düşünebilme, yaptığımız işlerden keyif alma, en önemlisi çözüm üretme ve planlı çalışma bunlardan bazılarıdır. Ayrıca sektörde karşılaşabileceğiniz sorunları çözmeniz için yada literatürü takip edebilmeniz adına belirli bir İngilizce seviyesi de gereklidir. Yani siz yukarıdaki özelliklere uygun bir aday değilseniz istediğiniz okuldan mezun olun bu işi bir yere kadar yapabilirsiniz, iyi bir kopyala yapıştır uzmanı olursunuz ancak iyi bir mühendis olamazsınız, çözüm üretemezsiniz. Bu da sizin bir süre sonra sıkılmanıza, moralinizin bozulmasına ve güveninizin kırılmasına sebep olur. O halde öncelikle başlanacak nokta yukarıdaki şartları sağlamanızdır.
İkinci olarak kendinize bir uzmanlık alanı belirleyin; bir çok yazılım dili vardır. Aşağıda bu diller ve kullanım yüzdelik oranları verilmiştir. Dolayısıyla çalışacağınız alanı belirlemeli, ona göre bir seçim yapmalısınız. Bununla beraber birden çok dilde öğrenebilir, çalışabilirsiniz fakat başlangıç için bir tane seçmek ve seçtiğiniz dilde en azından bir yere kadar uzmanlaşmak bana göre önemlidir. Örneğin Architecht finans yazılımları üreten bir kuruluştur ve C# ağırlıklı çalışılmaktadır ancak yapay zeka ekiplerimiz python da kullanmaktadır. Dolayısıyla benim uzmanlık alanım C# üzerinedir. Eğer sizin ilgi alanınız yapay zeka uygulamaları alanlarıysa python, web-mobil geliştirmeler ise de daha çok Java, Kotlin veya Dart/Flutter vb. dilleri tercih etmelisiniz.
Yazılım dilleri ve kullanım oranları;
Öte yandan seçmiş olduğunuz alan her ne olursa olsun, yazılım süreçleri ve yeni gelen teknolojik değişiklikler süreklilik göstereceğinden kendinizi sürekli güncel tutmak zorundasınız. Bu gelişmeleri, alanınız ile ilgili olarak ve/veya merak etttiğiniz alan dışı konular üzerinde makaleler okuyarak ya da yazılım egzersizleri yaparak sağlayabilirsiniz. Kendinizi sürekli güncel tutmak, sizin mesleki yeterliliğinizi artıracağı gibi sektörde iyi bir yer edinmenizi de sağlayacaktır.
Daha sonraki ilk aşama pratiklik kazanma ve kod kalitemizi artırmak adına olmalıdır. Bunun içinde öncelikle kararlı olmalısınız. Yapacağınız örneklerden sıkılmamalı, karşınıza çıkan engelleri aşmalısınız ve bol bol alıştırma yapmalısınız. Alıştırma örnekleri bulabileceğiniz internet dünyası bu konuda sizlere epey faydalı olacaktır. Ayrıca profesyonel bir eğitim almak içinde çeşitli yazılım kurslarına gidebilir eğitiminizi hızlandırabilirsiniz.
Ayrıca yazı dizimin devamında sizlere gerek yol göstermek gerekse fayda sağlamak adına bildiklerimi aktaracağım. Gelecek yazımızda yer alacak konular aşağıdaki gibidir. Yazı dizimizi takip ederek kolaylıkla öğrenebilirsiniz.
Bununla birlikte geliştirmeniz gereken en önemli durum ingilizcenizdir (mesleki). Dolayısıyla karşılaştığınız konuları internet üzerinde arattığınızda en çok karşılaştığınız yayın dili ingilizce olarak karşınıza gelecektir. Bu bakımdan mesleki ingilizcenizi geliştirmek sizin için büyük bir avantaj doğuracaktır.
Yukarıdaki maddeleri aşağıda kısaca sıralayacak olursak;
- İstek, heves, öğrenme arzusu
- Analitik düşünebilme
- Çözüm-sonuç odaklılık
- Çalışacağınız alanı belirleme ve buna uygun bir yazılım dili seçimi
- Mesleki İngilizce
- Kararlılık ve çok çalışma
Bütün bunlara ek olarak yine Architecht bünyesinde yer alan “Train & Work” eğitim programına katılarak alacağınız 6 aylık eğitim ile de sektör de fark yaratabilirsiniz. Birbirinden seçkin eğitmenler tarafından hazırlanan yoğun eğitim programında adaylara; programlama sistematiği ve kaynak kod yönetimi, veri yapıları ve temel algoritmalar, web ve mobil yazılım geliştirme temelleri, DevOps altyapısı, güvenli kod geliştirme, JavaScript, React eğitimleri verilerek mentörlük desteği ile çeşitli proje çalışmaları gerçekleştiriliyor ve mezun olduklarında kurumumuzda çalışma fırsatı bulabiliyorsunuz. Bu konu ile ilgili paylaşımları da sosyal medya hesaplarımız ve sitemiz üzerinden takip edebilir, katılım sağlayabilirsiniz.