Yazılım Bilgisine Sahip Olup Yazılım Yapamamak

Yazılım Bilgisine Sahip Olup Yazılım Yapamamak
Bilinmeyen Bilişim Kitabı

Yazılım ile ilgili konularda bilgi sahibi olan fakat iş yazılım yapmaya gelince bir şey yapamayan kardeşimizin sorusunu cevaplıyoruz.

SORU:

merhaba ; benim problemim yazılım her türlü bilgiye sahibim (yeteri kadar)konular olsun vs fakat yazamıyorum üniversitede ve lisede sürekli yazılım okudum ama okulda pek birşey öğrenemediğimden kurslara yöneldim 1. kursta iyiydi fakat gene yazamıyordum kurs kapandı yarıda kaldım suanda tekrar 8 ay arayla yeniden yazıldım suan devam ediyorum fakat ne kadar konuyu bilsemde hatta konular hakkında tartışma yapıcak kadar bilgim olsada hadi o konuda bize bişiler yaz program yap diyince kitlenip kalıyorum ne yazıyım ki ben şeklinde ! hiç hocaların dışında bir proje yazmayı denemedim çünkü konuları bir araya getiremiyorum, döngüleri biliyorum misal ama 1 soruda hepsini nasıl nerde kullanıcam nasıl birleştiricem nasıl yazıcam nerden baslamam gerek bunları beceremiyorum benim için bu çok büyük problem olmaya basladı e biliyosun yaz madem diceksiniz yazmaya gelince öyle japon balık gibi bakıyorum biraraya getiremiyorum bilgilerimi sürekli bişiler arıyorum bu neden kondu şimdi bunu neden yazdık şeklinde bu konu çok canımı sıkmaya başladı sen gel herşeyi bil en azından fikirin olsun ama oturup proje yada kod yazama sizden yardım istiyorum sizce bu konuda ne yapmam gerek bu durum böyle sürdükce iştende kurstanda sıkılıyorum derste felaket bunalıyorum ya şimdi yaz derse ben napıcam cevap verme konusunda problemim yok hoca gibi konuyu bile anlatıyorum sınıftakilere bazen ya bu demek şu falan ama gel gelelelim yazamıyorum yazmaktanda korkuyorum korkmak derken nerde başlıyacağımı bilmiyorum oturunca bilgisayar basına kalıyorum öyle ee napıcam ben diye ve konsantrasyonum zayıf çok moralım bozuk çok 🙁

CEVAP:

Seni gerçekten çok iyi anlıyorum. Sıkıntın büyük fakat çözümü zor değil. Aslında sıkıntının nedenlerini sen soruda yazmışsın =) Dolayısıyla çözümü de bulmak zor olmayacak.

Teori ve Pratik

Senin birinci ve en temel sorunun pratik. Bu sıkıntıyı Türkiye ‘deki eğitim sistemindeki bütün kardeşlerimiz sadece yazılım alanında değil diğer bütün alanlarda yaşıyor. Yani teori öğretiliyor ama asıl önemli olan pratik kısmı arka plana atılıyor. Halbuki teoride öğretilecek yada öğrenilecek şey en etkili pratikte öğretilir yada öğrenilir.

if koşulu nedir?” sorusuna cevap vermekten önemli olan şey if koşulunu yazabilmektir. Bu da ancak pratikle mümkün olabilir. Dolayısıyla derslerde sadece anlatılanı dinlemek yada anlatılanın ne anlama geldiğini anlamaktan çok anlatılanı uygulaman gerekiyor.

kasap kediBu konuda benimde bir anım var. Kursta hocamız bir gün izinliydi ve yerine başka bir hoca geldi. Bende o gün anlatılanları sadece dinliyor ve uygulamıyordum. Hoca “sen neden yazmıyorsun?” diye sordu. Bende “anlattıklarınızı dinliyorum ve anlıyorum hocam” demiştim. Hocada bunun üzerine “bakarak bir şey öğrenilseydi, kediler kasap olurdu” demişti =) Bu sözü hiç unutmadım. Ne demek istediğini o anda tam olarak idrak edemedim ama sonrasında çok iyi anladım. Çok doğru bir söz. Zira kedilerde bütün gün kasabın önünde kasabı seyreder fakat hiç bir zaman et kesmediği (yada kesemeyeceği) için asla kasap olamaz.

Başka bir örnek, yazılımda kendimi geliştirmek istediğim dönemde yazılım ile alakalı videolar izliyordum. Oturdum monitörün başına sadece izliyordum. Neyi nasıl yapmış diye film izler gibi izledim. 3 gün boyunca sadece izledim. Bu 3 günün sonunda sadece anlamaya çalışmaktan mala bağladım. Hadi öğrendiklerimden bir kaçını yapayım dedim, hiç birini yapamadım. Yani dolaylı yoldan o 3 günü tamamen boşa geçirmiş oldum.

Netice olarak bu işin böyle olmayacağını, pratik yapmam gerektiğini fark ettim ve sadece izlemeyerek değil uygulayarak öğrenmeye karar verdim. Bu meseleye ayrıntıları ile değindiğim makalede burada: Yazılım Öğrenme Konusunda Etkili Yollar

Yazılım yapmak karışık gelebilir. Şu anda yazılımı bilen, bir sürü yazılım projesi yapmış biri olarak bana kolay geliyor fakat yazılım bilmeyen birisini düşünüp empati yaparak düşünüldüğünde “kolay” demek haksızlık olur.

Senin kafanın karışmasına neden olan nokta ise hepsini bir bütün olarak görüyor ve yapılacak olan her şeyi kafanda şekillendirmeye çalışıyor olman. Elbette kafanda projeyi A’dan Z’ye oluşturmalısın ama teorik olarak.

Teori ve Pratik alt başlığında ve verdiğim linkte belirttiğim gibi yapman gereken bir proje belirlemek. Bu proje zor olmasın, basit olsun. Örneğin için uğraş. “Böyle bir proje yapıp da ne yapacam, zaten hazır olarak bir sürü blog scripti var, hiç bir işime yaramayacak” diye düşünme. Bunu sadece öğrenmek için yapacaksın.

Yazılım YapmakSonra başlayacaksın “bir blog sitesi yapmak için neler gerekli?” diye düşünmeye. Örneğin; üye olma, üye girişi, konuları veri tabanına kaydetme, resim yükleme, yüklenen verileri listeleme, vs. gibi … Dolaylı yoldan projeyi bölümlere ayıracaksın. Sonra içlerinden bir bölüm seçeceksin. Örneğin, üye olma. Ardından “bir kişinin üye olabilmesi için neler yapmam gerekli?” diye düşünecek ve araştıracaksın. Bulacağın cevaplar, bir hazırlamak, o forma girilen bilgileri veri tabanına kaydetmek şeklinde olacak. Sonra yine düşünecek ve araştıracaksın; “üyelik formu nasıl hazırlarım? O forma girilen bilgileri veri tabanına nasıl kayıt edebilirim?“.

Bu şekilde diğer bölümler içinde soru sorarak ve düşünerek işin temeline ineceksin. Yapılması gereken, bilmediğin her şeyi araştıracak, öğrenecek ve uygulayacaksın. Bunun yanı sıra yapılmış yazılım projelerinin kodlarını açıp, neyi, nerede, nasıl yapmış şeklinde incelemen de çok yararlı olacaktır.

En Büyük Engel: Korku

Yine soruda da belirttiğin gibi konusunda en sık görülen sorunlardan biri korkudur. “Nasıl yapıcam?“, “ya hata yaparsam …“, “Çok zor“, “Galiba yapamıcam” ve benzeri düşünceler ile koşma potansiyeline sahipken adım bile atamıyorsun. Halbuki korkulacak hiç bir şey yok =)

Denemekten, hata yapmaktan korkmayın. Hatta hata yapmayı çok normal, hata yapmamayı anormal bir şey olarak görün. Ben bazen bir sürü kod yazıp çalıştırdığımda bu meseleyi “hadi hata ver bana şerefsiz!” diye dalgaya vururum =) Çünkü hatasız yazılım yapmak diye bir şey yok, ki kursa giden biri olarak hocanın size yazılım öğretme esnasında mutlaka hatalar yaptığını görmüşsündür. Size bir şey öğretmek için karşınızda olan, öğrettiği şeyi daha önce defalarca yapmış hoca bile hata yapıyorken sizin hata yapma yapmamanız imkansız.

Benim yazılıma başladığım dönemde kod yazıp çalıştırdığımızda syntax hatası yani eksik yada yanlış karakter hatası verirdi. Koskoca yazılımda işin yoksa tek tek bütün satırları incele ve yanlış yazılan karakteri bulmaya çalış, ohhooo … Halbuki günümüz yazılım geliştirme programları hangi satırda, hangi hatayı yapmışsın kabak gibi gösteriyor, birde açıklama yapıyor. Sende onu alıp internette arama yaparak çözüm bulma imkanına sahip oluyorsun.

SONUÇ

Netice olarak gençler, yazılım öğrenme sürecinde yapmanız gereken ilk şey öğrendiklerinizi uygulamak. Yapmamanız gereken ilk şeyde korkular beslemek. Bunların yanı sıra meraklı olun, okumaktan, öğrenmekten kaçmayın, hırs yapın, başarmaktan doyumsuz bir tat alın ve sürekli onu tatmak isteyin 😉

Bilinmeyen Bilişim Kitabı