4 Mayıs 2014 Pazar

Yazılım Mutfağı -05 (İş Görüşmeleri ve Yapılması Gerekenler)

















       Bu yazımızda bir yazılımcının eğer bir yazılım firmasına dahil olarak çalışmıyorsa yapması gereken işlerden biri olan iş görüşmelerinden bahsedeceğiz. Bu işin püf noktalarını yine kitaplarda yazmayan hayat tecrübelerinden sizler için derleyemeye çalışacağım.

       Bir yazılımın hayat döngüsünü oluşturan unsurları tam olarak anlatan bir kitaba daha henüz rastlamadım. Son on yıl içerisinde “Yazılım Mühendisliği” başlığıyla sayısı bir elin on parmağını geçmeyen eser belki vardır. Bunların en popüler olanını incelediğimizde ise anlaşılması için “uzaylı Türkçesi” ni iyi bilen kişilerin anlaması için yazılımış eserler olduğunu görürüz. Yani hiçbir halt anlaşılmaz. Metodolojilerden bir başlarsınız ve diğer anlamsız ve faydasız gereksiz bilgi çöplüğünde bu işin kitabını nasıl anlasamda bu işi nasıl iyi yapsam endişesiyle kıvranır durursunuz. Batı bu işi çözmüş. Fakat bizde 1930~1940 lı yıllarda yapılan dil devrimi (arapça kelime ayıklama, öz hakiki türkçeye dönüş saçmalığı) gibi faysdasız işlerden dolayı maalesef bir işin kitabını yazmak ve onu okumak işkence halini almakta. İngilizce,Almanca, Fransızca vs. diller bilenler bu konuda biraz daha şanslı olmakta. Çünkü bu dilin sahipleri bizimkiler gibi saçmalıklar yapmamışlar. Neyse bu konuyu uzatmadan diğer hususlara geçiyorum. 

       Öncelikle öğretim görevlisi Gürhan Ustali arkadaşımın anlattığı şu anıyı sizlerle paylaşmak istiyorum. Bilirsiniz Türkiyedeki yazılım konusunda en profesyonel kurumlardan biriside Havelsandır. Bir üniversite öğrencisine hocası ödev vermiş, git bir yazılım firması yazılımı nasıl geliştirir? Hangi metodolojileri kullanır? Hangi iş-süreç vs. çalışmasını yapar diye öğrencisini doldurup salmış piyasaya. Tabi üniversite öğrencisi bakar bu işi Türkiyede en profesyonel yapan yer Havelsan, hemen bir randevu alır ve Yazılım Geliştirmenin başındaki sorumlu kişiyle görüşmeye gider. Öğrencimiz elinde kağıt kalemiyle yetkili kişiye sorularını sormaya başlar. İlk sorusu ise “Efendim siz yazılım geliştirirken en çok hangi metodolojiyi kullanıyorsunuz?” Adamın cevabı ise ilginçtir; “Kardeşim biz program yazıyoruz ne metodolijisinden bahsediyorsun sen?”. Zavallı öğrencimiz aldığı cevapla kuyruğunu kıstığı gibi alır oltasını ve bir an önce dayak yemeden sıvışır :). Tabi bu anlattığımdan herşeyin saçmalığı sonucuna varmayınız. Elbette bir UML tasarım konusu önemli bir konudur. Bunların tabiki öğrenilmesi lâzım. Ancak en önemli olan şey gerçek hayattaki geçerli olan şeyleri öğrenmek. 

        İlk bilinmesi gereken şey Algoritma. Bir akış planını (Flow-chart) çizebilmek size çok şeyler katacaktır. Ancak bundan daha önemli olanı ise bu akış planını kafanızın içinde çizebilmektir. Yani programı hayal edeceksiniz. UML ile ilgili konularda biraz kitap okuyun ve pratik yapın. Şekiller çizin. Bir kullanıcı temsil etmek için bir cin Ali çizin. Kullanıcının yazacağınız yazılımın hangi modüllerine müdahale ettiğini cin aliden çıkan oklarla çizerek gösterin. Basbayağı bildiğiniz ve anlayacağınız karalamaları bol bol yapın. Bunlar size pratik kazandırır. Şimdi gelelim şu iş görüşmeleri meselesine.

        İş görüşmeleri tüm işi tek başına göğüslemesi gereken yazılımcının yapması gereken en önemli aktivitelerden biridir. Öncelikle eğer okuldan yeni mezun oldunuz ve bu işi öğrenme aşamasındaysanız bilmeniz gereken kural fiyat seçimliliği yapmadan önünüze gelen basit işler olmak kaydıyla her işi almak. Zaten yeni biriyseniz size bir tanıdığınız vasıtasıyla iş ayarlanır ve sizde birşeyler yapmaya çalışırsınız. Bir aceminin kendi acemiliğini gizlemenin en iyi yolu görsel tasarıma/makyaja ağırlık vermesidir :) Çünkü program ne kadar süslü görünürse kullanıcının dikkati pek performansla ilgili olmayacaktır. Tabi bu da kişiden kişiye değişir. İlk ticari işiniz size çok şeyler öğretir. Ama bundan sonra bir kuruma iş görüşmesi için çağrıldığınızda artık profesyonel olmanın zamanı gelmiştir. Öncelikle bir ajanda ve yazan bir kalem almayı unutmayın. Kılık kıyafetinizi düzgün seçin. Maalesef müşterinin ilk bakacağı şey sizin kürkünüzdür. Paçoz vaziyette çıkmayın. İyi bir karşılma selamlaşma faslından sonra müşterinizi iyi bir şekilde dinleyin. Onun size derdini anlatmasına fırsat tanıyın. Adeta bir psikiyatrist olun. Uzunca bir koltuğa sırt üstü yatırsanızda olur :) (bu kısım şakaydı). O anlatırken siz elinizde kalem ve kağıtla onun isteklerini bir taraftan listeleyin. Diğer taraftan da cin ali şekilleri yani UML çizimlerini kendi anlayacağınız şekilde çizmeye başlayın. Bu esnada siz müşterinin talebi olan programı kağıt üzerinde planlıyorsunuz aslında. Müşterinin anlattıklarından anlamadığınız yerleri detaylandırmasını isteyin. Size yaptırmak istediği yazılımın tüm detayları belli olduktan sonra işin son ve can alıcı kısmına gelmiş bulunmaktasınız. Tabi firma sahibi insanların bütün gününü size hikaye anlatarak heba edeceğini düşünürseniz yanılırsınız. Bu da duruma göre değişkendir. Baz müşteri sizden hemen bir cevap ve fiyat ister. Bunları çok çabuk bir şekilde %90 doğruluğu olan bir tahminle karar vermelisiniz. Yani yapacağınız yazılıma kaç saat çalışacaksınız?, Bu iş kaç günde bitecek? Ve ne kadar paraya malolacak? En pis görüşme şeklide budur. Her şey görüşme sonundaki 5 dk içinde cevaplanması gerekebilir. Bazen sonraya bıraktığınızda işi alma şansınız kalmayabilir. Aynı zamanda işbitirici bir olduğunuzu karşınızdaki insana güven vererek hissettirmeniz gerekir. Burada yapılacak şey tahmini kaç saatlik bir çalışma yapacağınızı biraz fazla zaman koyarak hesaplarsınız. Saatlik geliştirme ücretini atıyorum 10 dolar koyarsınız. (Çalışma Saati X 10 dolar) + Lisans ücretleri = Yazılım Fiyatı. En basit formul bu olabilir. Tabi bu örnek olması açısından söylenen bir formul. Geliştireceğiniz yazılımı Ücretsiz geliştirme araçları (örneğin lazarus, code block, zeoslib, firebird) ile yaparsanız müşteriyi lisans ücretlerinden kurtarırsınız. Şansınız varsa işi kaparsınız.

       Bazende özel istek üzerine çağrılarak gidersiniz. Bu aşamaya geldiyseniz artık şöhret olmuşsunuz ve methinizi tüm alem öğrenmiş demektir. Bu şartlarda nazlanma hakkı sizde demektir :) Böyle bir görüşmeye daha rahat bir ruh haliyle gideceğiniz malumdur. İstediğiniz kadar ön görüşme yapabilir, dilediğiniz zaman sonra fiyatınızı verebilirsiniz. Ancak şunu unutmayın, yapamayacağınız şeylerin sözünü asla vermeyin. Örneğin adam sizden şirketinde kullanacağı masaüstü bir yazılım geliştirmenizi isterken daha sonrasında cep telefonuyla da bu yazılıma bağlanıp raporlar almak isteyebilir. Siz tabi yaparız abi deyip, sonrasında kullandığınız veritabanı sisteminin cep telefonu ile erişiminin kaf dağına ulaşmaktan zor bir hâl aldığını öğrenip, abi bu iş olmuyor derseniz tek kelimeyle “sıçarsınız”. Tutacağınız sözleri vermeye dikkat etmelisiniz.

         Bazı iş görüşmeleri de vardır ki çok sevdiğiniz bir arkadaşınızın hatrına kalkar görüşmeye gidersiniz. Fakat karşı tarafta sizinle görüşmek için bekleyen kötü niyetli bilgi işlem ekibiyle karşılaşma ihtimalinizde yok değil. Neden böyle peki? Bazen bilgi işlem servislerinde çalışan elemanlar aslında hiçbir halttan anlamayan, o makama torpil ve kayırma ile gelmiş kısacası bulunduğu yeri hak etmeyen bilgisiz çapsız tipler olabilir. Şayet bu tiplerin aklında işi vermek istediği başka bir “mefaatleneceği” yazılım firması varsa ve bunu da şirketin patronu bilmiyorsa o zaman yandınız demektir. Bu bilgi işlemcilerle yapacağınız iş görüşmesi fbi ya iş görüşmesinden daha sıkıntılı geçecek demektir. Size olmadık sorular sorarlar, bilginiz ölçme küstahlığında bulunurlar ve artık çileden çıkacak hale gelirsiniz. Yapılacak işle ilgili hiçbir şey konuşulmadığını, tamamem sizin ne bildiğiniz ile ilgili şeylerin konuşulduğunu görürsünüz. Bu durumu anladığınızda yapılacak şey ise amerikalıların deyimiyle “f*ck you” deyip o ortamdan uzaklaşmak olmalıdır. Çünkü böyle bir görüşmeden size asla iş çıkmayacaktır. Hatta ben yıllar böyle bir görüşmede o bilgi işlemcilerden “aferin sen bu işi bayağı biliyorsun” övgüsüne bile mazhar olmuştum :) Ama yine de o işi bana vermediler :)

        Bu konuda söylenecek çok şey var. Bu hususlarla igili yazdığım diğer yazılarda yer yer bahsediyorum. O yazılarıda okumanızı da tavsiye ederim. Sonrasında daha ne ilginç iş görüşmeleri olduki hepsini bir yazıda anlatmak zor olur. Başka bir yazıda görüşmek üzere hoşça kalın.

Durali Kiraz
Yazılım Geliştirici
duralikiraz.blogspot.com
   

Hiç yorum yok:

Yorum Gönder