Programlama becerilerinizi gerçek problemler çözerek iyileştirin

Aklımda ne zamandır vardı. Programlama/yazılım geliştirme becerilerini iyileştirmek için Quora’nın ve Stackoverflow’un altını üstüne getireyim, net bir kaç madde’den oluşan kendimce bir liste hazırlayım, kendi fikirlerimle ve deneyimlerimle yazayım hem kendim için hemde aklında bu tip sorular olan kişilerle paylaşabileceğim bir liste olsun diye.

Sonunda bugün tamamladım. Gerçekten faydalandığım, işime yarayan, bir şekilde katkısı olmuş noktaları almaya gayret ettim.

Notlarım;

  • Yazılım geliştirmeye başlamadan önce altyapınıza karar verin, problemlerinizi net olarak belirleyin. Kağıt ve kalem alın, çizin. Karmaşık araçlara ihtiyacınız yok. Yanlızca netleştirin yeterli.
  • Ölçeklemeyi baştan düşünmeyin. Her ne kadar istisnalar olsa da, merak etmeyin kısa zamanda milyonları bulacak ziyaretcileriniz olmayacak. Kısa ve orta vadeyi düşünün. İlk çalışan sürümü, tamamen basit haliyle prototip olarak çıkarın. Zaten sorunlarınız büyümeye başladığınızda olacak, o sorunları o zaman çözersiniz. Baştan zaman kaybetmeyin.
  • Git protokolünü öğrenin. Git ile farklı branşlar üzerinde çalışın. Favori modellerden biri Vincent Driessen’ın branching modeli. (http://nvie.com/posts/a-successful-git-branching-model)
  • Açık kaynak proje geliştirin veya ilginizi çeken alanda bir açık kaynak projeye dahil olun. Açık kaynak projeler, hızla geliştirilmeye ve pek çok insan tarafından test edilmeye müsait projeler oluyor böylece kısa zamanda iyi pratikleri ve gözünüzden kaçan noktaları keşfedebiliyorsunuz. Ayruca bir proje geliştirmeseniz bile en azından dokümantasyon yazın, açık kaynak dünyasına katkıda bulunun.
  • Diğer açık kaynak veya projelerin kaynak kodlarını okuyun, anlamaya çalışın.
  • Başka bir dil öğrenin. Sizin için bir challenge olacak bu fakat her zaman meydan okumak iyidir. Devamlı aynı teknolojileri kullanmayın, kendinizi tekrarlamayın başka teknolojileri ve metodolojileri öğrenin. Ayrıca yeni bir dil öğrenmek düşünce ve analiz becerilerinizi de iyileştirir.
  • Stackoverflow kullanın: Soru sorun, aklınıza takılan yada takıldığınız noktalar olabilir. Akıllı ve yardımsever insanlardan faydalanın. Olabildiğince alanınızdaki soruları bol bol cevaplamaya çalışın.
  • Topcoderhackerrank gibi yarışmalara katılın. Hem bilgi seviyenizi ve problem çözme becerilerinizi görebilmenizi ve becerilerinizi iyileştirmeniz açısından çok değerli.
  • Fun project geliştirin. Keyif alabileceğiniz, eğlenebileceğiniz bir uygulama geliştirin.
  • Var olan açık kaynak projenizi yada fun projenizi refactor edin. Nasıl daha kısa kod, daha yönetilebilir ve daha ölçeklenebilir yazabilirim diye kafa yorun
  • Senior yazılımcılarla birlikte çalışın. Programlama becerinizi yanlızca bilgi ile değil, deneyim ile daha iyi geliştirirsiniz Sorular sorun, iyi pratikleri öğrenin.

 

Seyhun Akyürek

Lead / Senior Developer @usefulideas.net

More Posts - Website - Twitter - Facebook - LinkedIn - Pinterest - Google Plus - Digg - Flickr - YouTube

One comment

  • Ocak 21, 2013 - 6:30 am | Permalink

    diyor ki:merhaba bir sorum olacaktı.. Ben bezner yazılar gibi bir alan yapmak istiyorum.. contains kullanarak birden fazla veriyi nasıl aratabilirim..kodlarım şf6yle:ViewBag.beznermakaleler = db.makaleler.Where(x => x.baslik.Contains( etiket 1 || etket 2 )).Take(5);etiket 1, etiket2, . gibi gidiyor etiketlerim.. Bunları nasıl dinamik şekilde yapabilirim.. şimdiden teşekkfcrler :)

  • Bir Cevap Yazın

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

    Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>