Pragmatik Programcı — 2

İbrahim Kürce
Bilişim Hareketi

--

Yeterince İyi Bir Yazılım

Eski bir şaka vardır. Bir ABD şirketi bir Japon imalatçı firmasından 100.000 adet entegre devre siparişi verir. Bu devrelerin hata oranı 10.000 çipte 1 adetmiş. Birkaç hafta sonra siparişler gelir ve binlerce devrenin yer aldığı büyük bir kutu ve içinde 10 tane devre olan küçük bir kutu. Küçük kutunun üzerinde ise, “Hatalı Olanlar” yazıyor.

Keşke gerçek hayatta böyle olsa ama gerçek hayatta hatasız yazılım üretmekten çok uzağız.

Bu bizim sinirimizi bozmasın. Araştırmalara göre yeterince iyi bir yazılım üretmek için kendinizi disipline edebilirsiniz. Kullanıcıların, gelecek üreticilerin, kendin için iyi bir yazılım.

Yeterince iyi bir yazılım yarım yamalak veya kötü üretilmiş kod demek değildir. Bütün sistemler kullanıcıların gereksinimlerini karşılamalıdır. Söylemek istediğim, üretilen şeyin ne zaman iyi bir yazılım olduğuna, kullanıcılarınızla beraber karar vermeniz gerektiğidir.

Kullanıcılarını Pazarlıklara Dahil Et

Genelde yazılımı başka insanlar için üretirsiniz ama gereksinimleri çoğu kez almayı hatırlamazsınız. Ne sıklıkla yazılımlarının ne kadar iyi olmasını istediğini sorarsınız? Bazen seçeneğiniz yoktur; kalp pili, uzay mekiği, alt-düzey(low-level) yaygınca kullanılacak bir kütüphane gibi projeler üzerinde çalışıyorsanız çok pazarlık etme şansınız yoktur. Bunun yerine yeni bir ürün üzerinde çalışıyorsanız, başka kısıtlarınız olacaktır. Pazarlamacılar sözler verir, kullanıcılar çıkış takvimini belirlerler ve şirketinizin nakit sıkıntıları olur. Bunları göz ardı ederek kodunuzu cilalamak veya yeni özellik eklemek profesyonel olmazdı.

Ayrıca, mümkün olmayan zaman çizelgeleri vermek ve son teslim tarihine uymak için temel mühendislik köşelerinden kırpmak da profesyonellik olamaz.

Ürettiğiniz kapsam ve sistemin kalitesi de sistemin gereksinimleri olarak belirtilmelidir.

7.Tavsiye: Kaliteyi gereksinimlerin bir konusu yap.

Birçok kullanıcı bir sene sonra multimedya versiyonlu halini görmektense şuan daha az özellikli halini görmeyi tercih eder.

Bugünün iyi bir yazılımı, yarının mükemmel yazılımından daha çok tercih edilir.

Ne Zaman Duracağını Bil

Bazı yönlerden programlama, resim yapmaya benzer. Beyaz bir zemin, temel araç gereçleri kullanırsın. Bir şeyler çizer ve geriye çekilip sık sık bakarsın. Ama ne zaman duracağını bilmezsen bütün işi batırabilirsin.

İyi bir durumda olan programı aşırı süslemeye çalışarak bozmaya gerek yok. Kodun bir süre kendi yolunda ilerlesin. Mükemmel olmayabilir, hiçbir zamanda olmayacaktır.

Bilgi Portföyün

Bilgin ve deneyimin senin en önemli profesyonel varlıkların. Maalesef, bu varlıkların süresi bir şekilde doluyor. Bilgin yeni teknolojilerle, yeni programlama dilleriyle ve yeni çevreler geliştikçe güncelliğini yitirmektedir.

Bilginizin değeri azalırken, senin şirketine veya müşterine değerinde azalmaktadır. Bu olmadan engellenmesi gerekir.

Bilgi portföyünü yönetmek, finansal portföyünü yönetmeye çok benzer.

a. Ciddi yatırımcılar düzenli şekilde yatırmaya devam ederler.

b. Çeşitlendirme uzun-dönem başarının anahtarıdır.

c. Akıllı yatırımcılar yüksek-riskli ve az-riskli yatırımlar arasında denge gözetirler.

d. Yatırımcılar maksimum kazanç için düşük alıp yüksek satmaya çalışırlar.

e. Portföyler düzenli şekilde gözden geçirilip tekrar düzenlenmelidir.

Portföyünü Oluşturmak

Düzenli yatırım yapın: Finansal yatırım gibi bilgi portföyüne de düzenli yatırım yapmalısın. Ufak miktar da olsa toplamda önemli bir yer tutar.

Çeşitlendirin: Ne kadar farklı şey bilirsen, o kadar değerli olursun. Hesaplama yöntemleri çok hızlı şekilde değişiyor, şimdi ki yeni teknolojiler yarın eski hale gelebiliyor. Ne kadar fazla teknoloji ile rahat çalışırsan, değişikliğe o kadar iyi ayak uydurabilirsin.

Riski yönetin: Teknoloji az-riskliden, çok-riskliye doğru değişiyor. Bütün birikimini yüksek-riskliye yatırmak iyi bir fikir değil ama hepsini az-riskliye yatırıp çeşitli fırsatları kaçırmak da iyi bir fikir değil. Bütün teknik yumurtaları aynı kutuya koymayın.

Düşük alın yüksek satın: Yeni ortaya çıkan teknolojileri öğrenip kullanmak çok zor bir iştir ama bir o kadar da getirisi olan bir şeydir. Javayı ilk çıktığında kullanmak çok riskliydi ama onu erken kullananlar, şimdi bu alanın en tepesinde olan kişiler.

Gözden geçirin ve tekrar düzenleyin: Çok dinamik bir endüstrideyiz. Geçenlerde kullandığın yeni teknoloji şimdi çok eski olabilir. Belki kullanmadığın farklı veritabanı teknolojilerini deneyebilirsin. Belki de başka bir dil denemek için yeni iş tekliflerini düşünebilirsin.

8.Tavsiye: Bilgi portföyünüze düzenli olarak yatırım yapın.

Hedefler

Entellektüel birikimine katkı yapmanın en iyi yolu nedir? Bazı öneriler.

  • Her yıl en az bir tane yeni dil öğrenin. Farklı diller benzer problemleri farklı yollarla çözerler. Farklı yolları öğrenmek, düşünme ufkunu genişletir ve sıkışıp kalma sorunlarını giderir.
  • Her 3 ayda bir teknik kitap okuyun. Bu alışkanlığı kazandıktan sonra her ay bir kitap okuyun. Kendi alanınızda uzmanlaştıktan sonra başka alanlarla ilgilide okuyun.
  • Teknik olmayan kitaplarda okuyun. Bilgisayarlar, mutlu etmeye çalıştığımız insanlar için vardır. Denklemin insan tarafını hiç unutmayın.
  • Dersler alın. Çevrenizdeki ve üniversitelerde ki kursları araştırın.
  • Yerel kullanıcı gruplarına katılın. Sadece gidip dinlemeyin, ayrıca katılın. İzolasyon kariyerin için ölümcül olabilir.
  • Farklı ortamlar ile uygulama yapın. Sadece Windows’da çalıştıysanız, Unix deneyin. IDE’nizi değiştirin.
  • Güncel kalın. Dergiler ve bültenlere abone olun. Farklı teknolojiler ile ilgili olanları seçin.
  • Bağlantıda kalın. Yeni bir dilin veya teknolojilerin iyi-kötü özelliklerini mi bilmek istiyorsunuz? Tecrübeli insanların bunlarla ne yaptığı ile ilgili haber grupları en iyi yol olabilir. İnternette araştırma yapın.

Yatırım yapmayı hiç kesmeyin. Yeni bir teknolojiyi ve dili kullanmayı rahatladıysan başka bir tanesine geçin.

Bu teknolojileri yeni projenizde kullanıp kullanmamanız önemli değil. Öğrenme süreci düşünmenizi genişletir, yeni fırsatlar ve yeni şeyler yapma isteği doğurur.

Öğrenme İçin Fırsatlar

İştahla okuyorsun bütün teknolojilerin yeyip yutmuşsun ama biri sana soru sordu ve cevabın ne olduğunu bilmiyorsun ve bunu bilmediğini kabul ettin. İşin ucunu orda bırakma. Bunu cevabı bulmak için kendine kişisel meydan okuma olarak gör. İşin gurusuna sor, çevrende yoksa internette bul. İnternette araştır, kütüphaneye git. Cevabı bulamıyorsan bulan birini bul.

Bütün bu okuma ve araştırmalar zaman alır ve zaman kısadır. Bununla ilgili plan yap. Bir yerde beklerken veya diğer ölü zamanlarında yanında okumak için sürekli bir şeyler olsun.

--

--