Yazılıma ve Programlamaya Yeni Başlayanlar için Tavsiyeler

tavsiye“Yazılım işine nereden başlamalıyım?”, “Yazılım sürecinde bana ne tavsiye edersiniz?”,  “Hangi kitabı okumalıyım?”, “Kendimi nasıl geliştiririm?”, “Sizce hangi görev benim için daha uygun?” gibi sorularla hem yeni başladığım akademik kariyerimde hem de 12 yılı aşkın özel sektör iş yaşamım süresince sürekli karşılaştım. Yazının başlığı “Yeni Başlayanlar” için olsa da aslında burada değindiğim bir çok konu bu işi yapanlar için ömür boyu geçerli diye düşünüyorum. Konuyu 3 kategoride ve alt maddeler halinde toparlamaya çalıştım. Farklı bakış açılarına göre yeni kategoriler ve onlarca alt madde eklenebilir. Ana kategoriler aşağıdaki gibi:

  1. Sosyal Tavsiyeler
  2. Genel Teknik Tavsiyeler
  3. Kodlama Tavsiyeleri

Sosyal Tavsiyeler

  1. Yaptığınız işten keyif almaya bakın. Yazılım ve kodlama bir çeşit sanatsal üretim işidir. Resim yapmaktan farksızdır. Keyif almadan bu işi icra etmenize imkan yok.  Kişilik olarak bu işe uygunsanız zaten keyif almamanız da imkansız.
  2. Elinizi korkak alıştırmayın. Yanlış yapmaktan korkmayın. Yanlış yapa yapa doğruyu bulacaksınız. Yanlış yapmaktan korkarsanız hem öğrenme süreciniz çok yavaşlar hem de deneme-yanılma yöntemine başvuramayacağınız için sürekli soru sorarak etrafınızdakileri rahatsız etme riskiniz artar.
  3. Sürekli tırmalayın ve kazıyın. Gece gündüz demeden araştırın, okuyun, kodlayın ve deneyin. Bir problemi çözemediğinizde ya da bir projeyi bitiremediğinizde uykularınız kaçsın. Problemi çözemeyince hemen pes etmeyin. 10,000’lerce yazılımcı ile aynı yoldan geçiyorsunuz merak etmeyin.
  4. Konsantrasyonunuzu en üst seviyede tutun: Kodlama yapmak konsantrasyon gerektiren bir iştir. Odaklanmalısınız, odağınızı dağıtacak ve sizi bölecek her şeyden kaçının. Kodlama aşamasında iletişiminizi olabildiğince kapatın (Telefon, e-posta vb.). Yazılımcı konsantrasyonu ile ilgili yazıyı okumanızı tavsiye ederim.
  5. Hayatınızı algoritmik yaşayın. Aslında sabah kalktığımız andan itibaren karşımıza çıkan her probleme karşı algoritmalar üreterek çözüm buluyoruz. Örneğin sabah kalktığımızda ne giyeceğiz. Mevsim, hava sıcaklığını yağmur yağıp yağmadığı, toplantı olup olmadığı vb. girdileri değerlendiren algoritmayı kafamızda işletir ve ona göre karar veririz. Önemli olan bunun bilincinde olarak hareket etmemiz.
  6. Gittiğiniz yerlerde yazılan programlara dikkat edin. Örneğin bir restorana veya eczaneye gittiğinizde kullandıkları programa göz atın. Kullanıcıya “Nasıl memnun musunuz?”, “Hızlı mı?” gibi sorular sorun.
  7. Hiçbir zaman OLDUM demeyin. Daha yolun başındasınız. Yazılım ve programlama işinde en büyük risklerden biri her şeyi öğrendiğinizi zannedip, duraklamaya hatta gerilemeye başlamanızdır.
  8. 1-2 ay önce yazdığınız kodu beğenmeyin. Beğeniyorsanız bir sakatlık vardır. Ya kendinizi geliştirmeyi durdurdunuz ya da programlama işinden sıkıldınız demektir.
  9. Başkasının yazdığı kod üzerinde iş yaparken sürekli eleştirmekten kaçının. Aynı hataları siz de zaman zaman yapıyorsunuzdur. Yapmanız gereken o kişiye ulaşarak uygun bir iletişim yöntemi ile kod hakkında tartışabilmenizdir.

Genel Teknik Tavsiyeler

  1. Kod yazarken Mouse (fare) kullanmayın. Kullandığınız kodlama editörünün kısa yollarını iyice öğrenin. Kısa yolları kullanmak kod yazma etkinliğinizi ve kodlama hızınızı arttıracaktır. En önemlisi “sizi havaya sokacaktır J”
  2. Kağıt kalem kullanarak analiz etmeyi ve problem çözmeyi öğrenin. Bazen bir problemi çözemediğinizde dakikalarca ekrana bakar ve kod yazamazsınız. Ekrana bakmayı bırakın ve bir kalem kağıt alarak kodunuzu kağıtta yazmaya çalışın (ister şekillerle ister düz yazı ile).
  3. Not tutmayı alışkanlık haline getirin. TODO ve NOT TODO listeleriniz olsun.
  4. Direk kodlamaya dalmayın. Özellikle kodlama işi yeni yeni kapmaya başladığınızda içiniz kıpır kıpır olacak hemen kod yazmak isteyeceksiniz. Bu noktada dikkatli davranmanız lazım. Önce problemi anlayın, analiz edin. Sonra kodlamaya geçin.
  5. Yazılım ve programlama üzerine bol bol kitap, dergi ve makale okuyun.
  6. İyi derecede debug etmeyi öğrenin. Bundan sonraki hayatınız iyi kod yazmaya çalışmakla ama yazamamakla (örneğin: zaman baskısı nedeniyle) ve iyi niyetle yazılmaya çalışıldığı halde kötü yazılan kodları debug etmekle geçebilir.
  7. Mutlaka en az 2 tane programlama dilinde uzman olacak şekilde kendinizi yetiştirin (Şahsi fikrim Java ve C# olması yönünde). Bunları öğrendikten sonra her 2 senede bir yeni bir programlama dili öğrenmeye çalışın (Uzman olmanıza gerek yok). Ancak aynı anda 2 dili öğrenmeye çalışmayın.
  8. En ince ayrıntısına kadar Nesneye Dayalı Programlama Yaklaşımını özümseyin ve içselleştirin.
  9. Kodunuzu çöpe atmaktan çekinmeyin. Gerçekten içinize sinmiyorsa o kod çöpe gitmeli ve baştan yazılmalı. Merak etmeyin er ya da geç bu durum gerçekleşecek. Ne kadar hızlı yaparsanız sizin için o kadar iyi.
  10. Yazılım geliştirme yaşam döngülerinin (SDLC = Software Development Life Cycles) ne olduğunu öğrenin.
  11. Kod refactoring yapmayı öğrenin.

Kodlama Tavsiyeleri

  1. İyi kod, okunabilirliği ve bakımı kolay olan basit koddur. Basit kodlar yazmaya çalışın.
  2. Kod girintileriniz muntazam olsun (Code indentation).
  3. Aritmetik operatörler ve atama operatörlerinden önce ve sonra mutlaka birer boşluk karakteri kullanın.
  4. Kendinize ait kodlama isimlendirme standardınız olsun veya bu konu ile ilgili mutlaka ne yapmanız gerektiğini öğrenin. Örneğin değişkenleri nasıl isimlendireceksiniz (Pascal, Camel isimlendirme stilleri vb.). Değişkenlerinizin, sabitlerinizin, fonksiyonlarınızın, sınıflarınızın, nesnelerinizin vb. tüm programlama elemanlarının isimleri anlaşılır olmalı. Bu isimler ne çok uzun ne de çok kısa olmalı.
  5. Gerektiği kadar yorum satırı kullanın (Code comments). Hiç kullanmazlık yapmayın.
  6. İç içe if deyimi kullanımlarından kaçının. İç içe 3 tane if deyimi kullandıysanız veya herhangi bir programda karşınıza çıkarsa mutlaka kodunuzu değiştirin veya baştan yazın.
  7. Goto gibi saçma programlama deyimlerinden uzak durun.
  8. İleride kullanırım belki diye kod parçaları eklemeyin. Ya kullanmazsanız ne olacak? Kodunuz ne işe yaradığını bilmediğiniz kod çöplüğüne dönmeye başlayacak.
  9. Metotlarınızın ve fonksiyonlarınızın içerikleri çok uzun olmasın.
  10. Tekrar eden kod parçası yazmaktan, kopyalayıp yapıştırmaktan kaçının. Tekrar eden kodları avantajınıza yani tekrar kullanılabilir koda dönüştürmeniz mümkün. Bunun için onlarca yöntem bulabilirsiniz.
  11. Benim yazdığım kodda hata çıkmaz demeyin, kodu yazdıktan sonra tekrar tekrar farklı parametrelerle test edin.

Deniz KILINÇ

(Visited 988 times, 1 visits today)

19 Comments

  1. Mustafa Uyanik 13 Ekim 2013 at 10:25

    Cok aciklayici olmus. Tesekkurler Deniz bey.

    Reply
  2. Levent 7 Kasım 2013 at 20:41

    deniz selam. İçimden bir ses yazılım üzerine çalışmaya devam etmem gerektiğini söylüyor ve sürekli araştırma içine girdim. Seni yazılım üzerine makaleler okurken görmem çok memnun etti beni. Bu konuda beni yönlendrimeni yardım etmeni rica ederim.( Univera ) Levent VAROL..

    Reply
    1. Deniz KILINÇ 7 Kasım 2013 at 21:19

      Selam Levent, Yorumun için teşekkür ederim. Elimden geldiğince yönlendirmeye çalışırım tabiki. Gmail adresimden haberleşebiliriz…

      Reply
  3. Levent 7 Kasım 2013 at 21:05

    bu arada makalen çok net açıklayıcı eline sağlık.

    Reply
    1. Deniz KILINÇ 7 Kasım 2013 at 21:19

      Teşekkürler, bir gece ansızın çıkıverdi 🙂

      Reply
  4. Yakup Ad 13 Kasım 2013 at 18:53

    Hocam bu güzel yazınızı kişisel web sitemde paylaşabilirmiyim?

    Reply
    1. Deniz KILINÇ 15 Kasım 2013 at 10:06

      Selam Yakup, Yazının başında nereden alıntı yaptığına dair referans verirsen paylaşabilirsin…

      Reply
  5. ismailkocacan 6 Aralık 2013 at 23:49

    Hocam yeni başlayanlar okusunlar tamam ama bunun yanında asıl bazı dinozor yazılımcıların da okuması şart.

    Refactoring nedir bilmeyen,yazdığı kodu martı figürü yazan dinozor yazılımcı görmüş adamım ben 😀

    Reply
    1. Deniz KILINÇ 7 Aralık 2013 at 19:04

      Aslında aklıma güzel bir fikir getirdin: “Yıllanan Yazılımcılara Tavsiyeler” güzel fikir, bu konuda düşüneceğim 🙂

      Reply
  6. Fuat 9 Aralık 2013 at 10:53

    Benim gibi yeni başlayanlar için oldukça önemli konular, çok teşekkür ederim.
    Bu arada http://en.wikipedia.org/wiki/Code_refactoring ‘in Türkçe çevirisi bulunmamakta. Dilimize çevrilmesinin faydalı olacağını düşünüyorum.

    Reply
  7. Kaan Özdemir 19 Nisan 2015 at 11:18

    ben kodlama bilmiyorum ama ögrenmeyi çok istiyorum nerden öğrenebilirim ?

    Reply
  8. Ahmet Özgül 16 Ağustos 2017 at 07:52

    abi ben 15 yaşındayım ve ileride yazılımcı olmayı düşünüyorum sence ne yapmalıyım şimdiden birşeyler öğrenerek mi başlayayım yoksa üniversiteyi mi bekleyeyim

    Reply
  9. Bugra 18 Ağustos 2021 at 13:44

    Merhabalar, Bu bilgilendirici içerik için teşekkürler. Ben de, programlamaya yeni başlayanların faydalanabileceği bir içerik önermek istiyorum.

    Bağlantı Adresi; https://bug7a.github.io/basicjs-turkce/

    Reply

Yorum Bırak

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