Geleceği Yazanlar

Geliştirici Adaylarına Tavsiyeler

Merhaba! Bu yazımda sizlerle geliştirme öğrenirken yaşacağınız süreçlerden bahsedip, bu süreçleri verimli geçirmeniz için bazı tavsiyelerde bulunacağım. Öncelikle Geleceği Yazanlar platformu ya da başka platformlardan eğitim belgelerini takip ederken dikkat etmeniz gerekenlerden...

Halil Keskin |

11.07.2014

Merhaba! Bu yazımda sizlerle geliştirme öğrenirken yaşacağınız süreçlerden bahsedip, bu süreçleri verimli geçirmeniz için bazı tavsiyelerde bulunacağım.

Öncelikle Geleceği Yazanlar platformu ya da başka platformlardan eğitim belgelerini takip ederken dikkat etmeniz gerekenlerden bahsedeyim. Programlama dilleri doğrusal bir yapıda değildir. Çok basit bir konu dahi tek başına ele alınamaz. Örnek vermek gerekirse, basit bir döngüde sabitler (int, float, double vs), kütüphaneler, fonksiyonlar (method) ile karşılaşmak mümkündür. Yapının iç içe olmasından dolayı bir eğitim içeriğini baştan okuyan birinin anlamadığı, bilmediği birçok noktanın olması gayet normaldir. Böyle durumlarda endişeye kapılmamak, dikkatli bir şekilde işin özünü anlamaya çalışmak gereklidir.

Ben yeni öğreneceğim bir dilde genelde önce bir basit okuma ile genel kavramları kafama yerleştirir, sonrasında daha detaylı bir şekilde inceleyerek okurum. Bu okumalarda anlamadığınız bölümleri bir kenara not almanız ve küçük araştırmalar yapmanız, size ayrıca fayda sağlayacaktır.

Bu okumalarda pek çok kişinin yaptığı genel hatalardan biri, belgelere sadece göz ucuyla bakmak ve "ben bunları biliyorum" düşüncesiyle çok hızlıca geçmektir. Bu belgelerin çoğu sıkıcıdır ve tümünü okumanın esnemelere neden olması gayet normaldir. Burada sabretmek ve anlamaya çalışmak, belki bilmediğiniz birkaç noktayı öğrenmek adına çok önemlidir. Bu küçük bilgiler sizleri gerçek programcı yapacak detaylardır.

Kod yazmak kolay bir iştir, buna emin olun. Zor olan, hangi kodun nasıl kullanılacağı, algoritmanın nasıl daha verimli çalışacağıdır. Geliştirme altyapınızı oluştururken daha sağlam olması için birkaç tavsiyede bulunacağım.

 

Bazı yararlı ipuçları

  • Bol bol kod okuyun: Eğitimleri bir yere kadar takip ettiniz, genel anlamda programlama şemasını öğrendiniz fakat halen tek başınıza proje yazmaktan uzaksınız. Bu konuda başkalarının tecrübesinden yararlanmak, en doğal hakkınız. Diğer geliştiricilerin projelerinde nasıl bir yol izlediğini, geliştirmelerini nasıl yaptıklarını anlamak için GitHub ve İnternet üzerinden bulduğunuz projeleri inceleyip, bol bol kod okuyun. Bu okumalar hem algoritma mantığınızı geliştirecek hem de birçok şeyin nasıl yapılacağını ögretecektir. Piyasada kimin ne yapabildiğini ögrenmek, çevrenizi genişletmek için de güzel bir fırsat yaratır.
  • Denemekten çekinmeyin: Tecrübe, başarısızlıklarınızın toplamıdır. Eğitimler boyunca işinize aslında pek yaramayacağını düşündüğünüz ya da sizi aşan konularda kod yazmayı denemekten kaçınmayın. Yapamamaktan, başarısız olmaktan korkmayın; tökezledikçe sağlam basmayı öğreneceksiniz, pes etmeyin.
  • Acele etmeyin: Mobil programlamada daha emekleme dönemindesiniz ve aklınıza müthiş bir fikir geldi, haliyle hemen yapmak istiyorsunuz. Bu noktada aceleniz muhtemelen hüsranla sonlanacaktır. Acele etmek yerine öğrenme sürecine devam edip, bu sürede projenizin mock-up, algoritma, tasarım, gelir modeli gibi geliştirme harici kısımlarıyla uğraşabilirsiniz. Bu süreç tamamlandığında projenin şablonu kafanıza daha iyi oturmuş olacak, neye ihtiyacınız olduğunu bilecek, algoritmanızla verimli kodunuzu yazabileceksiniz.
  • Takip edin: İşin içine biraz girdiğinizde, kimin ne yaptığını anlayacaksınız. Bu kişileri takip edin. Bu sizin güncel kalmanızı, vizyonunuzun gelişmesini sağlayacaktır. Başlarda sizlerden çok uzak konuştuklarınızı düşünseniz de zamanla yaklaştığınızı göreceksiniz. Özellikle özgür yazılım topluluklarını takip etmek, kendinizi geliştirmeniz için diğer bir önemli husus. İnsanların problem yaşadıkları yerleri görmek, bir gün tökezlediğinizde nasıl daha hızlı çıkacağınızı size öğretebilir. Herşey bir yana, başkalarına yardım etmek, sorunlarını çözmek çok güzel bir histir :).
  • Sormaktan çekinmeyin: Geliştirme aşamasında herkes çeşitli problemler yaşar, bu problemlerin tümünü kendiniz çözmeye çalışmayın. Amerika'yı yeniden keşfetmenin anlamı yok. Sizin yaşadığınız problemleri yaşayan muhakkak başkaları da vardır, araştırın. Aradığınız cevap yoksa sorun. Problemleriniz daha hızlı çözülecektir.
  • IDE'lere takılmayın: Çoğu acemi geliştirici yeterli analiz yapmaksızın, arayüzünü en cici bulduğu IDE'yi indirip bir anda herşeyi yapmaya çalışır. Unutmayın, hangi aracı kullandığınızdan çok ne yazdığınız önemlidir. Kod yazmaya başlamak için çoğu zaman basit bir metin editörü yeterlidir :).
  • Birlikte çalışın: Herşeyi bilmek, herşeyi yapabilmek genelde mümkün değildir. "Onu da, bunu da, şunu da ben yapayım" demek verimsiz ve genelde imkânsız bir iştir. Ne yapabileceğiniz ve yetenekleriniz hakkında gerçekçi olun. Gerekli durumlarda destek alıp, iş bölümü yapın. Hem işler hızlanacak hem de uygulama kalitesi artacaktır.
  • Mükemmellik hemen olmaz: Hiçbir proje ilk çıktığında tüm özelliklere ve hatasızlığa sahip değildir, sizinki de olamaz. Geliştirme neredeyse hiç bitmeyen bir süreçtir, herşeyi bir anda yapmaya çalışmayın. İşlevseti ve özellik tabanlı sürüm çıkarmak yerine düzenli ve sık aralıklı yeni sürümler yayınlayın. Sık aralıklarla güncelleme çıkartan ve her yeni sürümde biraz daha mükemmelleşen uygulamalar, emin olun, kullanıcının en sevdiği uygulamalardır!

Peki, siz Geleceği Yazanlar'da yeni başlayanlara neler önerirsiniz?

Halil Keskin |

11.07.2014

Yorumlar

Sefa
05.08.2014 - 08:34

Yeni bir uygulama geliştiricisi adayıyım ve yazıda dikkatimi çeken 2 konu oldu ; 

1) Acele Etmeyin : Meraktan olsa gerek örnek bir uygulama kodlarını önüme açıyorum ve 500 - 600 satır kodla karşılıyorum işte bakıyorum bana hepsi çince gibi geliyor e tabi ister istemez bi istemsizlik doğuyor insanın içine. Sonra vaz geçme duygusu ön plana çıkıyor derken birden "ben bu işi istiyorum" diyip birden tekrar öğrenmeye kalkışıyım derken dökümanları okurken hemen Eclipse üzerinden bir şeyler ortaya çıksın istiyorum çıksın ki heves doğsun içime diye ancak maalesef hüsranla sonuçlanıyor. Benim bir hocam var bana " çok acelecisin" demişti demek ki bu kadar belli ediyomuşum. Her neyse hocamda bu olayı anladıktan sonra artık daha yavaş ve emin adımlarla öğrenmeye devam ediyorum...

2) Sormaktan Çekinmeyin : Basit bir toplama çıkarma kodu yazıyorum ve bazı yerlerde hata alıyorum bakıyorum her şey normal hiç bir hata yok hatta bazen direk kopyala yapıştır yapmama rağmen hatalar geliyor yaklaşık 5 gündü yanılmıyorsam bu hatayı kendim çözmeye çalıştım ama çözemedim en sonunda Google sağolsun hatayı yazdım ve hatamın sadece CTRL+SHIFT+O olduğunu öğrendiğimde yani import hatası, nasıl bir durumda olduğumu tahmin edemezsiniz. 

Yazı da gerçekten kendimi gördüm ve tavsiyelere uyarak eğitime devam ediyorum elinize sağlık hocam...

Ahmet Burak Demirkoparan
13.07.2014 - 11:43

Benim bu portal üzerinde en çok gördüğüm sıkıntı şu.Kişiler hiç araştırma yapmadan buradan çözüm bulma yoluna gidiyor ve buraya soru soruyor ve malesef ki soru sormayı bilmeyen insanlarımız var.Soruyu tam açıklayamadığı gibi soruya dair ipucuda koymuyor(hatayı söylemiyor vs vs).

Bu armut piş ağzıma düş olayı malesef sıkıntılı.Onun yerine googlede aratsalar (zaten kaynakların çoğu yabancı) gelen yabancı kaynaklarda çoğu mevzunun çözümü var ve bu sayede ingilizcede de hatrı sayılır bi gelişim kayıt ederler.

samet
14.07.2014 - 12:57
Uygulama yazarken onlara değil kendilerine yazdıklarını düşunmeliler. Ve kendilerine şu soruyu yoneltmeliler: "Ben kullanıcı olsaydım ne isterdim."