Geliştiriciler Mars'tan, Programcılar Venüs'ten - 2

Bu dizinin ilk kısmı konuya giriş niteliğinde idi. Bu bölümde ise iki kavramın farklılık gösterdiği konuları başlıklar halinde ele aldık.

Geliştiriciler Organizasyon ve İş Hakkında Bilgi Sahibidirler

Programcılar yaptıkları işin içeriği hakkında oldukça ilgisizdirler. Problemle hiç ilgilenmezler yada problemleri teknik olmayan konular olarak düşünürler. Programcıların içinde bulundukları işler ile hiç bir alakalarının olmadığını söylediklerini duyacaksınız; yapacakları iş finans, sağlık yada haberleşme olabilir, bu onlar için önemsizdir. İş onlar için bazı programlama teknolojilerini uygulamak için bahanedir.

Geliştiriciler işin içeriğini ikinci işleri olarak görürler. Değişik açılardan işin içeriğini somut olarak anlamaya çalışırlar ki bu uygulama üzerinde etkili olacaktır. Çözüm oluşturacak uygulamanın ilgilendiği gerçek problemlerin neler olduğunu belirlemeye çalışırlar. Kendilerini kullanıcıların yerine koymak için çaba sarfederler ve kullanıcı bakışıyla uygulamayı görmeye çalışırlar. Bu bakış açısı kullanıcıların göremediği gereksinimleri önceden görmeyi ve kullanıcıların fakrında olmadığı teknik olarak mümkün olan fırsatları keşfederek işin değerini arttırmayı sağlar.

Geliştiriciler Bakımın Getireceği Yüke Dikkat Ederler

Bir çocuğun tatlıları arzuladığı gibi programcılar yeni teknolojileri arzularlar. Bu asla tatmin olunamayan bir açlıktır. Bir programlama dilinden diğerine, bir IDE'den, framework'ten, kütüphane'den diğerine sonsuza kadar yer değiştirirler. Yeni bir teknolojiyi projelerin kritik yerlerinde kullanmak konusunda tereddüt etmezler. Çocukça bir şekilde sebepsizce sadece kullanırlar. Hemen bu yeni teknolojiyle çalışmaya niyetlenirler ve olgunlaşmamış teknolojilerin getireceği kaçınılmaz problemlerin üstesinden gelmeye çalışırlar. Çalışmalarını dokümante etmek için çaba göstermezler. Çünkü dokümantasyonun kullanışsız olduğuna inanırlar. Sonraki gelecek programcılar için faydalı olacaksa da onlar bunu önemsemezler.

Geliştiriciler yeni teklojilere karşı daha ihtiyatli yaklaşım sergilerler. Şunu bilirler ki yeni bir teknolojinin getireceği başarıdan çıkar sağlayanlar onu kaçınılmaz şekilde zirveye taşıyacaklardır. Fakat taraftarları tarafından yapılan muhteşem iddialar gerçekteki performansının gerisinde kalacaktır. Ayrıca yeni bir teknolojinini kanıtlanmamış teknoloji olduğunu bilirler, zayıflıkları ve yetersizlikleri iyi bilinmiyordur ve tanınmamıştır. Teknolojilerin negatif yönlerininin ortaya çıkması zaman alır. Ayrıca geliştiriciler organizasyonel kaosun teknik olarak yönetimde birçok değişikliğe sebep olacağını bilirler.

Geliştiriciler Yöntemlerin Teknik Ayrıntılardan daha Önemli Olduğunu Bilirler

Programcılar kullandıkları teknolojiye o kadar yoğunlaşırlar ki onun nihai başarıdaki baskın faktör olduğuna inanırlar. X teknolojisine geçildiğinde herşey daha iyi olacak diye umutlanırlar.

Geliştiriciler bir uygulamanın kalitesini ve nihai başarısını etkileyen faktörün onu kullanan kişiler ve izlenilen yöntemler olduğunu bilirler. Çoğu zaman teknoloji seçimi ikinci plandadır (Bunun istisnaları köklü ve devrimsel değişimlerdir; düşük seviye dillerden yüksek seviye dillere geçiş gibi).

Programcılar her Problemi Kodlarla Çözmeye Çalışırlar

Programcı mantığının genel karakteri karşılaşılan her problemi daha fazla kod yazmak için bir fırsat olarak görmesidir.

Geliştiriciler için ise kod yazmak sadece uygulamanın ortaya çıkması için gereklidir. Sonuçta bunu üretmek için para ödenir.

Geliştiriciler Yinelenebilirlik Ararlar, Programcılar Kahramanlık İsterler

Uygulama geliştirme bir masal olsaydı programcılar tavşan, geliştiriciler kaplumbağa olurdu. Programcılar günü kurtarmak için teknolojilerin kabiliyetlerinine aşırı güven duyarlar. Fakat ufak bir planlama çalışmasının getirdiği etkiyi sağlayamazlar.

Geliştiriciler daha yöntemsel ve teknolojik bir yol izlerler, mucizevi çözümler beklemezler. Umutlarını yeni araçlara yada metodlara bağlamaktansa ileride karşılaşılabilecek çeşitli güçlükleri görebilmek için belli bir süreyi analiz ve planlamaya ayırırlar.

Programcılar Karmaşıklığı Severler, Geliştiriciler Basitliği Tercih Ederler

Programcılar daha komplex problemler oluşturmaktan ve çözmekten hoşlanırlar. Onlara yeni birtakım teknolojilerle oyalanma imkanı sunduklarından, gerçekte oldukça gereksiz taleplerle uğraşabilirler. Kullanıcıları sistem üzerindeki her işlemlerinde bu tür karmaşıklıklara tahammül etmeye zorlarlar, bakım programcıları tüm eklentilerde ve yamalarda bu karmaşıklığın içine girmek zorunda kalırlar, şirket ise proje planındaki uzatmaları finanse etmek zorunda kalacaktır. Tabi programcılar bunların hiçbirini düşünmezler.

Geliştiriciler daima en basit çözümü ararlar. Kullanılan teknolojinin trendine ve popülerliğine dikkat etmezler. Örneğin proje Visual Basic ile geliştirilmişse VB'yi kullanılar. VB'yi sevmeseler de, CV'lerinde görmek istemeseler de...

Geliştiriciler Kullanıcılara Önem Verirler

Programcılar kullanıcı kitlesine tepeden bakarlar, onları önemsiz kalabalıklar olarak görürler. Kendilerine göre bilgisayar bilgisi bakımından tecrübesiz olduklarından onlara gülerler. Kullanıcılara karşı teknik ifadeler kullanmaktan haz duyarlar, çünkü anlaşılmadıklarını bilirler ve bu onların kendilerini üstün hissetmelerini sağlar.

Geliştiriciler kullanıcıları alt sınıf olarak düşünmezler. Onlara saygı duyarlar ve onların organizasyon içerisinde farklı şekilde hizmet ettiklerini bilirler. Kullanıcılarla konuşurken ifadelerindeki teknik sözcükleri çıkarırlar ve kullanıcılara daha yakın bir dil seçerler.

Geliştiriciler Bir İhtiyacı Karşılamayı, Programcılar Bir İşi Bitirmeyi Severler

Programcılar konulara balıklama girerler. Ayrıntılara, şartlara, entegrasyona v.s. az zaman ayırırlar. Mümkün olduğu kadar çabuk kod yazmaya başlamak isterler ve detayları daha sonraya atarlar. Olabilecek en kötü şey ise yaptıkları şeyleri bırakıp tekrar yazmak zorunda kalmalarıdır, bu onların daha fazla kod yazmalalarına olanak tanıyacaktır. Bu onların çok hoşlarına gider çünkü onlar bu deneme-yanılma yöntemler sayesinde daha fazla kodlarla uğraşma imkanı bulurlar.

Geliştiriciler programlamanın tabiatını tanırlar ve fazla aceleciliğin fazla yavaşlık getireceğini bilirler. Problemi tam olarak anlamadan önce kodlamaya geçmemeye dikkat ederler. Onların amacı bir iş problemini çözmektir, işleri hata takip sisteminin(bug tracking system) içinde bırakmak değildir.

Geliştiriciler Çalışırlar, Programcılar Oynarlar

Birçok yazılım geliştirici işe programcı olarak başlarlar, programcılar gibi hobi benzeri şekilde yazılımlara ilgi duyaraktan... Yazılımların organizasyonel bağlamda anlam taşıdığını keşfettiklerinde, ilgi alanları yukarıdaki farkları teşkil eden aktiviteleri kapsayacak şekilde genişleyecektir.

Bununla beraber bazıları amatörden profesyonele geçemezler ve bilgisayarlarla oynamaya devam ederler.

Yazılım geliştirme henüz standartları ve gereksinimleri belli olan bir meslek değildir. Bu değişene kadar programcılar yazılım geliştirme profesyonelleri olarak maske takmaya devam edeceklerdir.

Organizasyonunuzda çalışmasını istediğiniz kişiler geliştiricilerdir. Programcılar bir düzinedir, geliştiriciler işe asıl değerini kazandırır. Akıllı patronlar, işverenler farkı bilirler.

#118 Cem Çakırlar dedi ki;

Mart 16, 2007, Cuma 15:51

Çok şık.

#209 Sevim dedi ki;

Temmuz 03, 2007, Salı 17:05

gerçekten çok güzel ellerinize sağlık... çok aydınlatıcı olmuş :)

#210 Ali Eskici dedi ki;

Temmuz 09, 2007, Pazartesi 0:21

Bir programlamaci ve gerekirse iyi bir geliştirici olarak; ben, Türkiye'deki yazılım sektöründe bu yazıdaki terimsel anlamların belirlediği kadar olması gereken fonksiyonel bir çalışma yapısının içerdiği kesin bir ayrım göremiyorum.

#211 Yusuf Nar dedi ki;

Temmuz 09, 2007, Pazartesi 8:46

Tesbitiniz çok doğru, iş ortamında böyle bir ayrım yoktur fakat bu işi iki farklı şekilde yapan insanlar var ve yazıda bunlar açıkça belirtiliyor. Yazıdaki bakış açısıyla düşündüğümüzde, insanların çalışma alışkanlıklarını değerlendirdiğimizde ne kadar doğru tesbitler olduğunu göreceğiz.

#212 Ali Eskici dedi ki;

Temmuz 09, 2007, Pazartesi 9:15

Elbette haklısınız ve yazıdaki bakış açısı ile düşündüğümüzde öyle. Öte yandan bu yazıdaki anlamları kavrayabilecek yeterli sayıda bilişim gücüne sahip değiliz. İşin aslı şu ki Tr'de bilişim sektöründeki çoğu firma bu işin gerektirdiği vizyondan yoksun. Öyle ki yazıdaki "Geliştiriciler Çalışırlar, Programcılar Oynarlar" başlıklı konuyu tersinden anlayabilir veya geliştirici olarak iş şefi veya koordinatörünü, programlamacı olarak da hiyerarşinin en altındaki personeli anlayabilirler.

Yorum yapabilirsiniz

Adınız  


E-Posta  


Yorumunuz