hkucuk

İyi Yazılımcılar Hakkında 7 Çıkarım

October 8, 2020 • ☕️ 4 dk okuma • 🏷 yazılım, eğitim


Programmer

Programlama bir sanattır. 10 yıldan uzun bir süredir sektörün içerisindeyim. Bu yıllar içerisinde başlangıç cümlemi haklı çıkartan çok fazla iyi yazılımcıyla birlikte çalıştım ve onlardan bir çok şey öğrendim.

İyi yazılımcılar, programlamayı çok kolay hale getirirler. Bir teknik mimarın söylediği şu sözü hep hatırlıyorum:

Yazılım geliştiricilerin rolü işleri kolaylaştırmaktır. Karmaşık sorunlara zahmetsiz çözümler sunmaları gerekir.

Yıllar boyunca, bahsettiğim bu iyi yazılımcılardan kariyer gelişimime yardımcı olan birkaç çıkarım yaptım. Aşağıda dilim döndüğünce bunları açıklamaya çalışacağım.


1. Çıktıya Değil, Sürece Odaklan

Genç yazılımcıların çoğu yazılımın çıktısına odaklanıyor. Fakat çıktının oluşturulması, sizin süreci anladığınız anlamına gelmemektedir.

Yazılım dünyasında her gün yeni zorluklarla karşılaşacaksınız. Bu zorlukları aşabilmenizde önceki deneyimleriniz çok önemli olacaktır. Bu yüzden süreci anlamanız çok önemlidir.

Çıktının ne olması gerektiğinden ziyade sorunun nasıl çözüleceğine odaklanmaya başlayın.

Bu size, uzun vadede daha iyi bir programcı olmanız için rehberlik edecektir.

2. Başkaları Tarafından Beslenmek Sizi Bir Yere Götürmez

Bir yazılımcı olarak kariyerime başladığım zamanlarda problemlerle karşılaştığım durumlardaki davranışlarımı hala hatırlıyorum. Kodun bir yerinde sıkışıp kaldığımda zaman zaman tecrübeli yazılımcılara sorular sorardım ama en çok yaptığım şey sorunlarla mücadele etmekti. Bir ekiple çalışıyorsanız, ekibinizdeki kişiler her zaman yardım etmek için orada olacaklardır ama sürekli yardım almak, her sorunu başkalarının yardımıyla çözmek öğretici olmaz. Sorunun içine dalmaya ve bir süre mücadele etmeye çalışmak her zaman öğretici olacaktır.

Bu çalışma disiplini, bir yazılımcı olarak kariyerimde ilerlememe çok yardımcı oldu. Kodda sıkışıp kaldığınızda kendinizi küçümsememelisiniz. Sorunla ilgili birilerinden yardım istemeden önce %200’ünüzü vermeye çalışmanız, yazılımcı olarak gelişmenize çok yardımcı olacaktır.

3. Önce Kendi Kodunuzu Anlayın

Daha önce de değindiğim gibi, yazılımcıların karmaşık sorunlara basit çözümler sunması gerekir. Başkalarını etkilemek için meşakkatli kod yazmaları gerekmez.

İnsanlar yazdıkları kodu birkaç gün veya ay sonra gördüklerinde genellikle neyi kodladıklarını unuturlar. Kendi yazdıkları bir kod parçasının ne yaptığını hatırlamakta zorlandıklarını düşünün. Aynı kodu başka biri anlamaya çalışırsa neler olur? :)

Kodun ne iş yaptığını anlatan yorumlarla birlikte basit ama etkili kodlar yazın. Yorumlar, bir kod parçasının uygulamada ne yaptığını hatırlamanıza yardımcı olacaktır. Gerektiğinde kısa ve faydalı yorumlar yazmaya çalışın.

İyi yazılımcılar, diğer yazılımcılar tarafından okunabilen basit ama etkili kodlar yazarlar.

4. Birden Fazla Çözüm Bulun

İyi yazılımcılar, bir soruna birden fazla çözüm bulana kadar araştırma yapmayı, düşünmeyi bırakmazlar. Her zaman bir sorunu çözmek için en az iki yol bulurlar.

Bu iyi bir süreçtir çünkü size “uzay-zaman karmaşıklığı”na ve diğer faktörlere dayalı olarak birden çok çözüm arasından seçim yapma imkanı sunar.

Bu yaklaşım, sorunu çözmek için farklı bakış açılarına sahip daha fazla çözüm bulmaya çalışırken mantıksal düşüncenizi geliştirir.

Birden fazla çözüm bulamasanız bile “Stack Overflow”, “CodeProject”, “Github” gibi sitelerde alternatif çözümler için araştırma yapmalısınız.

5. Kod Okuması Konusunda Bir Kitapserver gibi Davranın

“Yazmadan önce okuyun” yazılım geliştirme için doğru bir yaklaşımdır. Başkalarının yazdıkları kodları okumak size diğer her şeyden daha fazla fikir verir, çok şey öğretir.

İyi programcılar, kod incelemelerine makul süreler harcarlar. Bu birkaç şeyi toplamalarına yardımcı olur:

  1. Kod hakkında daha fazla bilgi
  2. Diğer yazılımcıların kodlama becerileri
  3. Bir sorunu çözmek için farklı yaklaşımlar (çoklu çözümler)
  4. Mantıksal düşünceyi geliştirme

Kod okuma, yazılımcılar için bir alışkanlık olmalıdır. Bu onların kariyerlerinde büyümelerine yardımcı olur.

6. Daha Sonra Geri Gel ve İyileştir

Yazılım geliştiricilik kariyerimin başlarında bu yöntem ile tanıştım. Tecrübeli bir yazılımcı arkadaşımın, çoktan bitmiş bir task ile ilgili kod değişikliği yaptığını gördüm.

Ona her şey yolunda giderken mantığı değiştirmenisinin nedenini sormuştum. İş yükü az olduğunda, halihazırda çözülmüş sorunlara daha iyi yaklaşımlar bulmaya çalışıyordu. Geçerli çözümden daha iyi bir çözüm bulursa, değişiklik isteği oluşturup güncelliyordu.

Bu uygulama, yazılımcı olarak gelişmesine çok yardımcı oldu. Ayrıca kodun optimize edilmesini de sağladı.

7. Yazılımcı Dünyası ve Yazılımcı Sürekli Güncellenir

İyi bir yazılımcının bence en önemli tanımlayıcı niteliği, sürekli bilgi arayışıdır. Yazılım, sürekli güncel kalmanız gereken zorlu bir kariyer yolculuğudur.

Yazılımcılar, kodları kadar iyidir. Geliştirdikleri yazılımlar gibi sürekli olarak güncel kalmaları gerekir.

İyi yazılımcılar, kendilerini güncel tutmak için teknik bloglar, YouTube kanalları veya kodlama forumları gibi birçok kaynağı kullanırlar.

 Özet

Özetle, iyi yazılımcılar için temel çıkarımlar şunlardır:

  1. Kodlama yapmak için acele etmeyin, önce süreci anlayın.
  2. Başkalarından yardım istemeden önce bir süre mücadele edin.
  3. Herkesin anlayabileceği basit ve etkili kodlar yazın.
  4. Bir soruna birden fazla çözüm bulmaya çalışın.
  5. Kod okumayı alışkanlık haline getirin.
  6. Mümkünse önceden uyguladığınız çözümünüzü geliştirmeye çalışın.
  7. Bir yazılımcı olarak teknolojik gelişmeler konusunda güncel kalın.

Bunlar, kariyerim boyunca gelişmeme yardımcı oldu. Umarım diğer yazılımcı arkadaşlarıma da yardımcı olurlar.