Yazılım Öğrenmek İsteyen Nereden Başlamalı?

Yazılım Öğrenmek İsteyen Nereden Başlamalıdır?

Son zamanlarda çok sık sorulan “Yazılım öğrenmek istiyorum diyen, yazılımcı olmak isteyen yada bir proje yapmak isteyen kişiler yazılım öğrenmeye nereden başlamalıdır?” sorusuna cevap veriyoruz.

Yazılım Öğrenme Kaynakları

Daha önce ki bir kaç yazıda da belirttiğim gibi yazılımı farklı kaynaklardan öğrenebilirsiniz. Bu kaynakları başlıca okul, kurs, kitap, görsel eğitim setleri ve internet siteleri olarak sıralayabiliriz.

Bu kaynaklara daha sonra ki yazılarımızda daha ayrıntılı bir şekilde gireriz fakat kendi kendine yazılım öğrenmek isteyenler için yazılıma başlama noktası çok büyük sıkıntı olduğunu belirtmekte fayda var. “Yani başlasam devamı gelecek kesin ama nereden başlayacağımı bilmiyorum” durumu söz konusu.

Önce Seçiminizi Yapın

Bir yazılımı öğrenmeye nereden başlamanız gerektiğini bulmaktan önce karar vermeniz gereken en önemli nokta Web sitesi mi, Windows için program mı yoksa mobil platformlar için uygulamalar yapmak mı istiyorsunuz buna karar verin.

Son yıllarda mobilde ciddi bir sıçrama var, herkes mobil uygulama geliştirip paranın dibine vurmak istiyor. Hele ki o Flappy Bird oyununu yapan eleman yüzünden mobil uygulama yapıp, gecede 50 bin dolar kazanmayı düşünüp, uygulama yaptıktan sonra “bir zamanlar fakir ama gururlu bir genç vardı … İşte o mobil uygulama yaptı ve b.k gibi para kazandı” sahnesinin hayalini kuranlar baya bir arttı. Böyle bir sahneyi yaşama ihtimalinin çok büyük oranda şans olduğunu, bu nedenle yazılımı kesin çok para kazanacağınızı düşünerek değil sevdiğiniz için yapın diye defalarca dile getirdim.

Kendinizi Test Edin

İzlediğim bir konferansta seyircilerden biri konuşmacıya soru sorarken şunu söylemişti “Ben grafikerim. Yazılım öğrenmeye çok çabaladım, çok uğraştım fakat öyle bir yeteneğim olmadığını sonunda anladım“. Bu sözü duyana kadar yazılımın yetenek gerektiren bir şey olduğunu hiç düşünmemiştim. Çünkü bir şeyi başarmak için tek yapılması gerekenin başarana kadar çalışmak olduğuna inanan biriyim. Dolayısıyla söz konusu yetenek o şeyi başarmak için gösterdiğiniz çabadır. Fakat herkesin başarana kadar çaba göstereceği şeylerde farklıdır. Yani bir kişi yazılımcı olmak için gerektiği kadar çaba göstermeyip, grafiker olmak için gösterebilir.

Bu nedenle sizde “acaba ben yazılımcı olabilir miyim? Bende o yetenek yada gerekli çabayı gösterebilecek azim var mı?” sorularını soruyorsanız kendinizi en kolay kodlama dilleri olan HTML ve CSS ‘yi öğrenerek test edebilirsiniz. HTML ve CSS ‘in yazılım dilleri olmadığını belirtmekte fayda var. Bu iki dil dinamik değil statik dillerdir, dolayısıyla HTML ve CSS vesilesi ile bir butona tıklandığında bir işlem yaptıramazsınız. Sadece görsel işlemler yapabilirsiniz. Bu sayede “Fatal Error”, “Error Code: 1359” gibi hatalar almaz, kafanız karışmaz, siniriniz bozulmaz.

Yazılıma Geçiş Aşaması

HTML ve CSS, Matematiğin çarpım tablosu gibidir. Eğer HTML ve CSS ‘yi uğraşmanıza rağmen anlamıyorsanız Kosinüs, Sinüs gibi konuları da anlamanız çok zor demektir. Eğer HTML ve CSS ‘i severek, merakla, azimle, zevk alarak ve sıfırdan basit bir web sayfası yapabiliyorsanız yazılıma geçebilirsiniz.

Yok ben HTML ve CSS ile uğraşmayayım, direk yazılıma geçeyim” derseniz de yazılımcı olabilirsiniz. Fakat Web Yazılımcı olamazsınız. Çünkü ASP.Net yada PHP öğrenip web yazılım yapmak istemeniz durumunda kesinlikle HTML ve CSS ‘te bilmek zorundasınız. Windows ve Mobil uygulama yapmak için HTML ve CSS bilmek hayati önem taşımıyor fakat dediğim gibi bu durumda yazılım öğrenmeye çalışmanız en azından yazılım mantığını daha zor anlamanıza neden olabilir.

Kesinlikle Proje Üretin

Bir yazılımı öğrenmenin en ideal yolu proje üretmektir. Sıfırdan, tek başınıza basit bir proje üreterek yazılımı çok daha verimli bir şekilde öğrenirsiniz. Örneğin Web yazılım için sıfırdan blog sitesi yazmaya çalışın, mobil için matematik testi hazırlayın, Windows için ajanda programı yapın. Bunların para kazandırıp kazandırmayacağını yada işinize yarayıp yaramayacağını düşünmeyin. Sadece yazılımı öğrenmek ve kendiniz geliştirmek için yapın.

Çünkü yapmaya çalıştığınız o küçük proje sayesinde bir amacınız olur ve o amaca ulaşmaya çalışarak öğrenirsiniz. Örneğin blog sitesi yapacaksınız diyelim. Direk aklınıza şunun gelmesi lazım; “bir yazı yazıcam ve bunu veri tabanına kayıt etmem gerekicek. Bunu nasıl yaparım?” sonra gireceksiniz Google ‘a, öğrenmeye çalıştığınız kodlama dili ile ilgili “veri kayıt işlemi” tarzında arama yapacaksınız. Çıkan sonuçlardan size hitap eden bağlantılardaki anlatımları inceleyecek ve anlayarak uygulayacaksınız.

Bu anlatımlarda adam size “if metodunu kullanıyoruz” diyecek, sizin bu durumda “if metodu nedir?” diye merak etmeniz gerekecek ve tekrar Google ‘a girip “if metodu nedir?” diye arama yapacaksınız. Orada çıkan bağlantılardaki anlatımlarda “String” kelimesini kullanacak bu sefer gidip “String nedir?” diye araştıracaksınız. Bu yüzden Bir Yazılımcı Nasıl Düşünür? başlıklı makalemde yazılımcı meraklı bir düşünce yapısına sahiptir dedim.

SONUÇ

Yazılım öğrenmenin zorluğundan ve sektörel sıkıntılarından bahsettiğim konularda, yazılım bilmeyenler şevklerinin kırılmalarından, yazdığım kadar sıkıntılı olamayacağından dem vururken, yazılımı bilen ve yazılım ile uğraşan kardeşlerim yazdıklarıma sonuna kadar katılıp, yazdıklarımdan daha karanlık bir tablo çizen yorumlar yapıyor =)

Ben bu zamana kadar hiç bir makalemde yada yorumumda “sakın yazılımcı olmayın, yazılım kötüdür” demedim. Sadece yazılımcılık yolunda yürürken, yazılım vesilesiyle havada duran paraya odaklanıp yürürseniz, önünüzdeki taşları göremezsiniz ve en kısa sürede düşersiniz. Benim yazılarımın amacı size önünüzdeki taşları göstermek. İlk defa söylemiyorum, muhtemelen son kez de olmayacak; Her ne yapmak istiyorsanız onu en iyi şekilde yapmak için elinizden gelen en iyi çabayı gösterin ve asla vazgeçmeyin.

Ayrıca Kodcu Herif 'te yer alan aşağıdaki konulara da göz fırlatabilirsiniz =)

Bilinmeyen Bilişim Kitabı

4 comments

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir