Infotech Academy olarak, bizleri arayan yazılımcı adaylarının en çok sorduğu soruların başında ben yazılımcı olabilir miyim, 18 yaşından küçüğüm veya 40 yaşından büyüğüm yazılım öğrenmek için erken mi/geç mi, hangi programlama dilini öğrenmeliyim, ingilizce bilmeden de öğrenebilir miyim veya da yazılım öğrenmeye hangi kaynaklarla giriş yapabilirim? Öncelikle bu gibi soruların cevabı için kısaca yazılım/kodlama nedir veya ne değildir ona değinelim.
Yazılım/Programlama: Belirli bir görevi bilgisayarlar tarafından gerçekleştirmek için çeşitli komut setleri ile yapılan uygulama ve geliştirme sürecidir. Bu sürecin en önemli ve başlangıç boktası hiç süphesiz algoritma kavramının öğrenilmesidir. Algoritma: "Bir problemin çözümünde izlenecek olan yollar anlamına gelmektedir ve problemin çözümünün düzenli adımlar halinde yazılmasıyla oluşturulur. Kısacası çözüm aranan bir problemin herhangi bir adımında, neler yapılacağının aynen bir yemek tarifinde olduğu gibi yazıya,şekle dönüştürülmiş halidir ve bir algoritmada karşılaşılabilecek tüm sorunlar/ihtimaller ele alınabilecek kadar açık ifade edilmelir. Kervan yolda düzülür mantığı ile ihtiyaç duyduğunuz kodları Google'da bulup kopyala/yapıştır ile projenize eklemeniz ve bir de projeniz çalışıyor ise mutluluk yaşamanız aslında yazılım geliştirme mimarisini öğrenmeden kod geliştirmeye başladığınız için sizleri yanlış bir yola sürükleyecektir.
Algoritmayı ve önemini öğrendikten sonra sıra geldi Programlama Dili kavramına. Bir Problemin algoritmik çözümünün bilgisayara anlatılmasını sağlayan, son derece disipline edilmiş bir kurallar bütünüdür ve günümüzde amacına göre ayrılmış yüzlerce programlama dili mevcuttur. Aslında programlama dillerinin hepsi genel anlamda birbirine benzese de kullanım alanları ve yazılımcılara sunduğu kolaylıklar gibi özellikleriyle de değişiklik göstermektedirler.
Hangi programlama dilini öğrenmeliyim sorusuna cevap için, öncelikle şu soruları kendi kendinize sormanız gerekmektedir.
Infotech Academy olarak, yazılım dilleri konusunda öğrenme kolaylığı, popüleritesi ve kaynak çeşitliliği bakımından ilk etap için C# veya Java dilini öğrenmenizi tavsiye edebiliriz. Daha sonra amaç ve belirlemiş olduğunuz alana göre Masaüstü, Web, Mobil, Oyun, Yapay Zeka gibi konularda bir projeye başlamanız gerekmektedir. Çünkü Yazılım öğrenmenin doğasında proje geliştirme vardır. Yazılım dünyasına giriş yaptığınızda belli bir dil öğrenmeye karar verseniz de, zaman içinde farklı dillerle de tanışmanız gerebilir. Özellikle kapsamlı projeler için farklı dilleri de bilmeniz gerebilir fakat bir dili temelinden iyice öğrendikten sonra diğer dilleri de öğrenmek sizin için artık daha kolay olacaktır.
Ben yazılımcı olabilir miyim? sorusunu cevaplamadan önce yazılım/bilişim alanındaki meslekleri tanımamız gerekmektedir. Örneğin inşaat mühendisliğini düşünün ve site, köprü, avm gibi birçok farklı projelerin inşasında görev alabilirler fakat bu işi, hiç bir inşaat mühendisi tek başına yapamaz. Malzeme temini, projenin çizimi, insan kaynakları, temel atma, tuğla örme, boya/badana, tesisat işlemleri vb. farklı ustalık/uzmanlık isteyen bir sürü farklı meslek dalları yer almakta. Yazılım tarafında da: Web Yazılımcı, Mobil Uygulama Geliştirici
Oyun Programlayıcı, Tester, Veritabanı Yöneticisi, Analist, Yazılım Mimarı, Proje Yöneticisi vb. onlarca yazılım ile ilgili meslek karşımıza çıkmaktadır ve bizim öncelikle bu mesleklerin her birini tanıyıp ona göre yol haritamızı oluşturmamız gerekmektedir. Mesleği de belirledikten sonra seçmiş olduğumuz mesleğin gerekliliklerini araştırmak işimizi daha da kolaylaştırıp karmaşıklığı azaltacaktır. Araştırmalarınız sonrasında, yazılım alanınlarından birini kendiniz için belirlediyseniz, bu da sizin bu mesleği sevdiğinizi ve yapabileceğinizin de işaretlerini taşımış olacaktır.
Yazılımcı olmak için belirli bir yaş belirtmek çok da doğru olmayacaktır. Çünkü günümüzde, özellikle yazılım alanında eğitim almak, sadece lise ve üniversitelerden ibaret değildir. Üniversiteden sonra yüksek lisans, master, doktora gibi ileriye gitme imkanı var. Aynı şekilde yazılım alanında da, alınan temel eğitimden sonra ilerlemek, adayın kendi isteği ile sürüp gidecektir. Yaş ölçüsünden ziyade istemek ve sabır bu işin başlangıcı için daha önem arzetmektedir. Çünkü öğrenme aşamasında ufak bir hata ile saatlerce uğraşabilir, internette yüzlerce arama yapabilir ve yorulup zor olduğu düşüncesine varılabiliyor. Fakat sabırla ve özellikle de iyi bir eğitmen ile yaş ölçütünden bağımsız iyi bir yazılımcı olabilirsiniz.
İngilizce konusuna gelecek olursak, öncelikle yazılım dillerinde en çok kaynak bilindiği üzere ingilice dokümanlardan ve video setlerinden oluşmaktadır ve bilinmesi tabiki fayda sağlayacaktır ve diller global bir standart olduğundan kuralları da ingilice belirlenmiştir (class, interface, if-else vb.) Fakat İngilizce bilmemenin yazılım/kodlama öğrenmeye engel olmadığını da söylemek gerekir, çünkü dilin yazım kurallarında (syntax) çok basit ve bilinen ingilizce terimler kullanıldığından yazılımcı adayını zorlamayacaktır. Bazı adaylar her iki kursuda birlikte alınca faydalı olacağını düşünmekte fakat, Infotech Academy olarak öğrencilerimize odaklanmayı azalttığı için tavsiye etmemekteyiz.
Son olarakta kaynak seçimine girmeden önce meslek (sektör), programlama diline karar vermemiz gerektiğini unutmayalım. İlk etapta yazılım dünyasına girişte videolar izlemek, forumları takip etmek veya kitaplar okumak yazılım geliştiricisi adayının kafasını karıştırabiliyor ve pes etmesine sebep olabiliyor. Özellikle videolarda deneyimli/deneyimsiz herkes kendi fikrini adaya empoze ederek öğrenme sürecini uzatabiliyor. Bu yüzden ilk etap için profesyonel bir kurs/eğitmen ile başlanılmasını ve yazılım kurslarını bizzat ziyaret edererek, yorumları inceleyerek, eğitim saat uzunluğu, fiyat, şube sayısı vb. satış oyunlarına kanmadan karar verilmesini tavsiye etmekteyiz.
Kararınız ne olursa olsun, sıfırdan bir programlama dili öğrenmeye hemen başlayın!.. Bu gibi sorularınıza sizlere destek olması açısından Infotech Academy eğitim danışmanları ile iletişime geçebilirsiniz. Sonrasında da vakit kaybetmeden en az 3 ay bir şirkette staj yapın ve öğrendikleriniz ile iş dünyasındaki işleyişin farkını/benzerliklerini yaşayarak öğrenin!.