Merhabalar bu yazıda yazılım geliştirme konusunda daha önce edinmiş olduğum bazı tecrübelerimi paylaşmak istiyorum. Yazımız teknik bir yazı olmayacak , yazılımcılığın psikolojik boyutları hakkında .değerlendirmelerde bulunacaktır.
Yazılım gerçekten emek ve sabır isteyen ve cidden zor bir iş. Düşününki binlerce satır kod yazıyorsunuz ve program bir yerde hata veriyor ve siz o hatayı binlerce satır kodun içerisinden bulup düzeltiyorsunuz . Veya müşteri istekleri doğrultusunda bir program geliştirdiniz ve müşteri son bir şey istiyor sizden ancak istediği şeyi yapabilmeniz için mevcut yapıyı baştan aşağı değiştirmeniz gerekiyor ve siz büyük bir sabırla bu işlemleri tekrardan yapıyorsunuz. Ya da şirket değiştirdiniz daha önce hep Windows uygulamalarında uzmanlaşmışsınız ancak yeni şirketiniz sizden web projeleri yapmanızı istiyor , tabi geçiş kolay değil ancak bunu da büyük bir sabırla atlatıyorsunuz.Ertesi gün proje yetişmesi lazım ancak daha yapmanız gereken çok iş var ve o gece uyumuyorsunuz ve ertesi gün o kafayla toplantıya giriyorsunuz.
Aslında diğer kişilere yaptığın işi anlatması en zor mesleklerden biri.Müşterilerden eminim şöyle bir söz işitmişsinizdir ; Bunu yapamayacak var ki sadece tablonun şurasına şöyle bir alan açacaksın , bu sırada senin bütün sinirin zıplamış olabilir , müşteriye orayı değiştirmesinin mümkün olmadığı çünkü aralarında ilişkili bir id bulunmadığını anlatıncaya kadar göbeğimiz çatlar.
Gerçekten kötü bir tablo ama hemen karamsarlığa kapılmanıza gerek yok aslında zaten yazılım işine gönül vermişseniz bunların bir çoğunu farkında bile olmadan yapıyorsunuz demektir.
Bir yazılımcı olmanın güzel yanı ise işi bitirdiğinde duyduğun haz olsa gerek.Bütün o yaşadığın stres , yorgunluk müşteriden alınan bir olumlu görüş ile kayboluyor sanki.Hele ki bir firma bütün işlerini sizin yazmış olduğunuz bir yazılımla yürütüyorsa o firmanın sanki patronu sizmiş gibi bir his kaplıyor içinizi .
Diğer güzel bir yanı ise sürekli değişen teknoloji ve sürekli değişen ihtiyaçlar ve sürekli yeni şeyler öğrenmek. Ben sanmıyorum ki bu kadar hızlı ve sürekli öğrenmenin olduğu başka bir meslek olsun. İnsan gerçekten neyi öğrenmesi gerektiğini şaşırabiliyor.Tabi ki her şeyi öğrenmek mümkün değil ancak bazen insan kaptırıyor kendini ve birçok şeyi bir anda öğrenmeye çalışıyor , kendini hırpalıyor.Örnek ben:)
Öyle zamanlarım oluyor ki işte C#’ta daha bilmediğim neler var , daha kaliteli nasıl kod yazarım , design patternleri nasıl projemde uygulayabilirim , uygulamamın performansını nasıl artırabilirim , test nasıl yazarım , java da öğrensem mi , … Bazen hepsi bir anda olsun istiyor insan ve bir anda hiçbir şey yapamadığının ve her şeyin zamanı gelince öğrenildiğini idrak ediyor. Tabi böyle bir genelleme yapılamaz ancak ben ve benim çevremde birkaç kişi en azından böyle bir sorunla zaman zaman karşı karşıya kalıyoruz.
Aklımdan geçen her projeyi yapmak istiyorsun ancak bir yandan iş , bir yandan öğrenme devam ediyor , bir yandan da o projenin senden önce birisi tarafından yapılmasından korkuyorsun.Böyle bir kısır döngü oluyor. Burada aslında temel olarak üzerinde durmamız gereken iş planını nasıl yapmamız gerektiğidir sanırım. Ancak şunu söyleyebilirim ki en iyi öğrenme yolu proje yapmaktan geçiyor. Örneğin sql öğrenmek için oturup bir kitabı baştan sona da okusanız bu iyi bir öğrenme sayılmaz ne zamanki bir projede çok zor bir sorgu yazmanız gerekti işte o zaman sql’i detaylı öğrenmeye başlıyorsunuz demektir.Tabi ki kitap okumak iyidir ancak temelini verir size detaylar pratiklerle öğrenilir.Hiç bir sql kitabında da zaten 50-100 satırlık bir sorgu örneği vermez , zaten vermesi de anlamsızdır.
Özet olarak yazılımcı olmak zor ancak bir o kadar da zevkli ve gerçekten mühendislik gerektiren bir meslek. Türkiye’de çok fazla değer görmese de , bir çok yerde bilgisayarcı olarak görülsekte mesleğin hakkını vermek lazım. Elbet bir gün gerçek değeri anlaşılacak.