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Ç

Advertisements

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

  1. Güzel bir yazı teşekkürler

  2. Mustafa Uyanik says:

    Cok aciklayici olmus. Tesekkurler Deniz bey.

  3. Levent says:

    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..

  4. Levent says:

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

  5. Yakup Ad says:

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

  6. Pingback: Yazılıma ve Programlamaya Yeni Başlayanlar için Tavsiyeler – Fatih Ç.

  7. ismailkocacan says:

    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 😀

  8. Fuat says:

    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.

  9. Pingback: Yazılıma ve Programlamaya Yeni Başlayanlar için Tavsiyeler | Recep Ali AY

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

  11. Ahmet Özgül says:

    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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: