Yazılımcı Olmak İçin Nereden Başlamalıyım
Herkese merhaba arkadaşlar. Bir süre önce Facebook gruplarının birinde yazılımcı olmak isteyen ancak nereden başlayacağını bilmeyen birisiyle karşılaştım. Grupta gönderi paylaşmış ve oradaki arkadaşlardan tavsiyeler almak istiyordu. Bir süre daha gruplarda ve formlarda gezindikten sonra bu konu ile alakalı ciddi problemler olduğunu gözlemledim. Problem olarak gördüğüm kısımlar yeni başlayacak olan arkadaşlar için yazılım bilgisi olan arkadaşların tabir yerinde olacaksa emeklemeden koşmayı öğretmek istemesidir. Bu arkadaşların kötü niyetli olduklarını düşünmüyorum ama küçük basamaklardan başlatmadan hemen üst seviye tavsiyelerde bulunuyorlar.
Bu makalemde kendi tecrübelerimden yola çıkarak, yazılıma nasıl başladıysam sizlere yol göstermesi ve fikir vermesi açısından tecrübelerimi sizlerle paylaşacağım. Sizler de yazılıma başlamak, öğrenmek, ilerlemek, kendinizi ifade eden bir şeyler üretmek istiyorsanız yazının devamını okuyabilirsiniz.
Yazıya başlarken Facebook gruplarından, formlardan ya da bloglardan okuduğunuz gibi “Bu işe başlaman için algoritmaları ve akış diyagramlarını öğrenmen gerekiyor. Git Google amcadan algoritma ve akış diyagramı nedir diye arat ve öğren.” gibi ifadeler okuyacağınızı düşünüyorsanız yanılıyorsunuz. Sizden başlangıç olarak düşünmenizi istiyorum. Bu zaten yaptığınız bir eylem ama sadece düşünmekle kalmayıp aynı zamanda düşündüğünüzün farkına varmanızı da istiyorum. “Abi biz ne arıyorduk nereye geldik ya!” dediğinizi duyar gibiyim. Ancak belirtmem gerekir ki yemek borunuzdan koca bir ekmek geçmez. Bunu çiğneyerek parçalara ayırmanız gerekiyor. Düşündüğümüzün farkına da nasıl varacağımıza da değinelim. Diyelim ki markete gidip ekmek alacaksınız. İlk eylemimizi evden çıkmak olarak alırsak evden çıktık, marketin olduğu yere doğru yönümüzü döndük, sağ adımımızı ve ardından sol adımımızı attık, bu adımlarımızı markete gidene kadar tekrar ettik, yol ayrımı geldi ve market için düz gitmemiz gerektiğini anlayarak devam ettik, markete geldik ve market kapısına doğru yöneldik, marketin kapısını açtık, ekmeğin bulunduğu yere gittik ve ekmeği aldık, kasaya gittik ve ödemeyi yaptık. Bunun detayları daha fazla olabilirdi ama biz şu an için kısa tuttuk. Bu şekilde düşündüğümüzün farkına varabiliriz. Düşünme işini aldık ve cebimize koyduk.
O kadar yazı okudunuz. Hadi biraz da kod yazma işine girelim. Kod yazma işine ilk girdiğim zamanlarda HTML ile tanıştım ve ilk uygulamam olan ekranda “Sayfama Hoş geldiniz” yazısını görünce heyecandan ellerim titremişti. Sonra araştırdığımda bu kod yazma işinin uçsuz bucaksız bir deniz olduğunu gördüm. Bir takım tavsiyelerle gidip “C” programlama dilini öğreten kitap aldım ve yazılım hayatımın başlangıcında yaptığım en büyük hataydı diyebilirim. Çünkü “C” kısaca söylemek gerekirse biraz yürüme düzeyinde bir dildir. Daha sonra geri vites (Adana’da geri vitese anarya derler aklınızda bulunsun ☺ ) yaptım ve HTML’ye geri döndüm. Web tasarımdan başlamamın bana daha yararlı olabileceğini düşündüm. HTML, CSS derken PHP ile tanıştım ve daha dinamik web sayfaları tasarlayıp programlamaya başladım. PHP noktasında düşünmenin çok faydasını gördüm. Çünkü yazılım dediğimiz şeyler zaten küçük adımların birleşmesinden ve mantıksal olarak bir araya gelmesinden oluşmaktadır. PHP’den sonra artık işi çözdüğümü anladım ve beni bekleyen okyanuslara doğru yol almaya karar verdim. Ağırlıklı olarak web programlamadan devam ettim ve hazırladığım web sayfalarını JavaScript ve jQuery ile süsledim. Web’in yanında mobil programlamaya geçiş yaptım ve Java dilini kullandım.
Bu işe ilk başladığım zamanla şu anki zamanı düşünecek olursak artık ilk günkü yapabilir miyim korkularının kalmadığını söyleyebilirim. Çünkü emeklemeyi öğrendikten sonra yürümeye geçtim ve emeklemenin temellerini sağlam bir şekilde attım. Şimdi yeni bir programlama diline geçiş yaparken korkularım olmuyor ve acaba yapabilir miyim demiyorum. Biliyorum ki temelim sağlam. Sadece yapmak istediğim şeye odaklanıyorum ve dili ona göre seçiyorum. Benim için önemli olan fikirlerimdir. Öğrenmek de bu işin en eğlenceli kısmı.
Yukarıda bahsettiklerim tamamen kişisel tecrübelerimden oluşmaktadır. Yazıyı okurken anlayacağınız gibi hiçbir yerde benim gibi yapmazsanız öğrenemezsini demedim ve buna benzer tavırlar da sergilemedim. Her yiğidin yoğurt yiyişi, her programcının kod yazışı, her öğrencinin öğrenme yöntemi farklıdır. Sizler benim yazdığım gibi yazıları çokça okuyun ve deneyin. Denemeden hangi yöntemin kolay ya da zor olduğunu bilemezsiniz. Her yöntemi deneyin ve kendinize en uygun olanından başlayın. Gerisi zaten çorap söküğü gibi gelecektir. Sormak istediğiniz herhangi bir şey olursa konunun altına yorum yapabilir ya da Facebook sayfam ve profilimden mesaj atabilirsiniz.
Sizlere mutlu ve iyi öğrenmeler diliyorum. Kalın sağlıcakla.