Bu hafta Yazılım Müdürü Nazım Kırma, sorularıyla konuğumuz oldu. İşe alımda nelere dikkat etmeli, nasıl yapılır, iyi eleman nasıl bulunur konularını konuştuk.
Yaşar Safkan ve Elif T. Kuş'tan yazılım ve yazılım yönetimi.
İlk bölüme Bölüm 0 dedik çünkü neler konuşacağımızı anlatalım, genel bir fikir verelim istedik.
Yaşar Safkan'ın Özgür Yazılım ve Linux Günleri 2014 28 Mart 15:00'te yaptığı konuşmayı aşağıdaki video'dan izleyebilirsiniz:
https://www.youtube.com/watch?v=aMPzvTS4TNo&list=PL8bY8chu6YPokCqZGxY1gsY6eajcgWihf
Sunum da şu:
http://www.slideshare.net/safkan/devops-kime-lazm-neden-lazm
Yaşar Safkan’ın seneki konuşmasının konusu “Devops: Kime lazım? Neden lazım?”. Bu seneki Özgür Yazılım ve Linux Günleri geçen senelerden farklı olarak Beşiktaş’taki Bahçeşehir Üniversitesi kampüsünde yapılıyor. Programa şu linkten bakabilirsiniz. İki salon alabildikleri için bu sene sadece iki paralel oturum olacak.
DevOps, "development" ve "operations" kelimelerinin bir araya getirilmesinden oluşmuş bir kelime. Yani, "geliştirme" ve "operasyon". Burada "geliştirme" dediğimiz zaman, yazılım geliştirilmesinden bahsediyoruz. Operasyon derken de, bu yazılımın çalıştırılması ve kullanımından bahsediyoruz...
Geliştirme, yazılımcılar tarafından yapılır. Yazılımcılar genellikle, kendi "güvenli alan"larından, yani kod yazma alanından dışarıya çıkmak istemezler. Kod hangi makinada çalışacak, oralara nasıl kopyalanacak, çalışma sırasında ne problemler çıkacak gibi sorunlara ilgi göstermek istemezler. Gösterirlerse de, bundan çok hoşlanmazlar.
İşin operasyon tarafına bakarsak, burada da "klasik" anlamıyla, kullanıcılar (ki genel olarak teknik olmayan insanlardan oluşurlar) ve sistem yöneticileri vardır. Sistem yöneticileri, yazılımları kurup kaldırırlar, sistemleri genel olarak çalışır halde tutarlar. Ancak yaptıkları bundan öteye gitmez.
Bir problem çıktığında nasıl çözümleneceği, belli başlı problemlerle nasıl baş edileceği de çok net değildir. Yazılımcı "ben yazacağımı yazdım", sistemci de "ben bana geleni çalıştırdım" fikrindedir...
İşte DevOps, bu arada oluşan boşluğun cevabıdır. İçinde hem geliştirmenin operasyonunu, hem de operasyonun geliştirmesini içerir.
Yazının başlığı bile tartışma konusu oldu.
Yazılım, "olmuyor" değil çünkü. Bir şekilde, işler yapılıyor, oluyor, paralar veriliyor-alınıyor. Belli sürelerde de, bazı şeyler üretiliyor. Ancak, yazılımı yapan da, yaptıran da şikayetçi pek çok yerde. İğneyi de, çuvaldızı da her iki tarafa batırmak lazım. Yazılımın müşterisi ne istediğini ya da ne beklemesi gerektiğini bilmediği gibi, yazılımcı da eldeki iş için gerekli sonuçları nasıl elde edeceğini bilmiyor.
Sonuçta, başlığı böyle attım. Yazılım aslında "olmuyor", yani "adam gibi" olmuyor. Yarım yamalak olan, iki tarafta da tam bir memnuniyet yaratmayan işleri "olmamış" diye tanımlarsak, yazılım basbayağı olmuyor işte.
Tabii, olayı subjektif bir "adam gibilik" tanımıyla bırakırsak, üzerinde tartışmak yada düşünce üretmek çok zor.
Bugüne kadar, çok tane yazılım projesinde bulundum. Projelerin doğumunu, büyümesini, olgunlaşmasını ve hatta maalesef ölümünü gördüm...
Konumuz, proje üretime (ya da en azından teste) girdikten sonra, hata raporlama ("bug report") olarak bilinen şey.
Neredeyse her projede, bir veya bir kaç acemi hata bildirmeye çalışan insan bulunur. Bunlardan epey bir tane eğittim. Ama eğitmekle bitecek gibi değil, hata raporlama okulda öğretilmiyor ki!
Yazıdan, "hangi sistemi kullanalım" tarzı bir bilgi çıkmayacak. Dediğim, kullanılacak hata takip sisteminden bağımsız, hatta kullanılacak sistemden daha önemli... Olabilecek en kötü çözüm olan e-posta yoluyla hata raporluyor bile olsanız, şu diyeceklerime uygun davranırsanız, işleriniz yürür.