Neden Programcılık Harici İşlerle Uğraşmak Daha İyi Bir Programcı Olmayı Sağlar – KurumsalJava.com – Özcan Acar
Çözüm üretme sürecindeki en önemli faktör, çözüm arayanın hangi büyüklükte bir tecrübe ve bilgi birikimine sahip olduğudur. Yapılan tecrübelerin ve edinilen bilgilerin geniş bir yelpazeyi kapsamaları da büyük önem taşımaktadır. Sadece bu durumda çözüm üretme sürecinde problemlere başka perspektiflerden bakma yetisi var olacaktır. Değişik alanlarda edinilmiş tecrübeler ve bilgi birikimi genel resmi görmeyi kolaylaştırır. Bu sebepten dolayı programcıların değişik alanlara yönelmeleri, onların günlük işlerinde daha kolay çözümler üretebilen ve bu çözümleri hayata geçirebilen bireyler olmalarını sağlayacaktır.
Birçok programcıda “ben bu görevin altından kalkabilir miyim” kuşkusuna rastlamak mümkündür. Bunun ana sebebi tecrübe, bilgi ve özgüven eksikliği olabilir. Her yeni görevde bu kuşkunun oluşmaması için bireyin programcılık sahasında kişisel gelişimine öncelik vermesi gerekmektedir. Mevcut teknoloji genişliğine ve bilgi birikimine bakıldığında çok geniş çaplı bir çalışma alanı olarak görünse de, programcılık kendi içinde kullanılan yöntemler açısından sınırlıdır. Örneğin yazılım projelerinin çok büyük bir bölümü nesneye yönelik programlama teknikleri ile geliştirilmektedir. Yazılımcılın nesneye yönelik programlama konseptlerini başka diller aracılığı ile uygulaması çok uzun bir zaman almamaktadır. Aynı şey veri tabanları, uygulama sunucuları ve test yöntemleri için de geçerlidir. İster istemez uzun yıllardır aynı yöntemleri kullanan bir programcı yaptıklarının sınırlarına gelecek ve aynı şeyleri tekrar edecektir. Bu yazımın başında bahsettiğim kalıplar içinde düşünme sendromu baş göstermesi anlamına gelmektedir. Bunu aşabilmenin yolu programcılık harici kişisel projelerden geçmektedir.
Hangi tür kişisel projelerden bahsediyorum? Bu tür projelerin bireyi konfor alanından hemen çıkarıp, çok uzun bir süre öğrenim ya da panik alanında tutabilme kabiliyetine sahip olmaları gerekmektedir. Konfor alanı ile ilgili yazıma buradan erişebilirsiniz. Konfor alanı terk edilmedikçe, kişisel gelişimde bir ilerlemenin kaydedilebileceği beklentisi olmamalıdır.
Örnek bir kişesel proje şu özelliklere sahip olmalıdır:
Birey böyle bir projeyi tek başına yapabileceğini daha önce hayal bile etmemiştir.
Proje bireyi fiziksel ve ruhsal sınırlarına taşımalıdır.
Projenin somut bir çıktısı olmalıdır. Bu çıktının günlük hayatta kullanılabilir ya da günlük hayatın bir parçası olması faydalı olacaktır.
Proje geniş çaplı bilgi ihtiyacı doğurmalıdır.
Birey ilerleyebilmek için sürekli ihtisas ve araştırma yapmalı ve deneme yanılma yöntemi ile çalışmalarını sürdürmelidir.
Birey atılması gereken adımları kısa ve uzun vadede planlamak zorunda olmalıdır.
Proje bireyin vazgeçemeyeceği cazibede olmalıdır.
Bu özelliklere sahip kisisel bir projenin bireye kazandırdıklarını şu şekilde sıralabiliriz:
Daha önce hayal bile edemeyeceği bir konuda başarılı olması özgüvenini artıracaktır.
Karşılaştığı problemleri çözmek için azimli olması gerektiğini kavrayacaktır.
Başkalarının yardımını almakla birlikte, asıl sorumlu şahsın kendisi olduğunun bilincine varacaktır.
Başarısız olmasının bile ona yeni tecrübeler ve bilgiler kattığını anlayacaktır.
Fiziksel ve ruhsal sınırlarını tanıyacaktır.
Bu tanımlamaya göre söz konusu olamayacak projeler şunlardır:
Çiçek dikip, hergün onları sulamak.
Motosiklet ehliyeti yapıp, motosiklet sürmek.
ABC çatısını öğrenerek, web tabanlı adres defteri uygulaması geliştirmek
Spor yapmak, kitap okumak, sinemaya gitmek, blog yazmak.
Saydıklarım proje değil, eğlence türünde aktivitelerdir. Bu yüzden hobilerin birçoğu bahsetmiş olduğum kişesel proje kapsamına girmemektedirler. Ben gerçekten fikir olarak ilgilenmeye başladığınız da bile size yeni ufuklar açabilecek projelerden bahsediyorum. Heyecan verecek projeler. “Somut bir proje söyler misiniz” dediğinizi duyar gibiyim. Aklınıza gelmiyor mu muazzam bir proje? Bir arabayı sıfırdan tasarlamayı düşündünüz mü hiç? Ya da bir ev inşa etmeyi. Tamam bunlar biraz uçuk projeler olabilirler, lakin yine de azimle işe koyulanın, bu gibi projelerin üstünden geleceğini düşünüyorum.
Ben kendi projelerimden birkaç örnek vereyim.
Kaleme aldığım kitaplar
Kısa bir zaman önce bir demir parmaklık projesine başladım. Yapım aşamasından izlenimleri aşağıda görmektesiniz.
Daha önce demir bir parmaklığın nasıl yapıldığına dair hiçbir fikrim yoktu. Gözümün önünde sadece parmaklığın nasıl olması gerektiğine dair bir resim vardı. Yazılımcı kimliğinden gelen tasarımcı ve problem çözücü tarafıma güvenerek, bu projeye başladım. Bu proje sayesinde gazlı kaynak yapmayı öğrendim. Kaynak makinesini sipariş etmeden önce youtube ve diğer kaynaklardan saatlerce bilgi topladım. İşin inceliklerini öğrenmeye çalıştım. Parmaklığın taşıyıcı kolonlarını mevcut bir beton duvara yerleştirebilmek için betonu kestim ve kolon taşıyıcılarını gömmek için elli santim derinlikle delikler açtım. Kolonları bu taşıyıcılara kaynak yaptım. Kolonlar için açtığım beton bölümleri tekrar hazır beton aracılığı ile kapattım. Kolonların alt kısımlarına led lambalar takabilmek için kablolar çektim ve demir kolonlara yuvalar açtım. Sabahları çalışmaya başladım ve güneş batmaya yakın bitap düştüm. Günlerce böyle çalıştım. Beni iten her zaman kafamdaki bitmiş parmaklığın son hali oldu. Kendime projenin hiçbir safhasında acaba ben bunu yapabilir miyim sorusunu sormadım. Karşılaştığım her sorunu yeni cözümler üreterek, aşmaya çalıştım. Azmin ne anlama geldiğini yeniden keşfettim. Problem çözerken böl ve yönet yönteminin ne kadar verimli olduğunu anladım. Fiziksel olarak çok yorulmuş olsam bile, sorumluluk bende olduğu için projeyi yarım bırakmadım.
Bu kadar şeyin programcılıkla hiçbir alakası yok, haklısınız. Ama karşılaştığım bir sonraki problemi kafamdaki bu proje sayesinde daha da büyüyen sinaps kitlesi ve oluşturdukları bağlantılar sayesinde daha kolay çözeceğimden eminim. Programcının asıl sermayesi işte yeni tecrübeler sonrasında oluşan sinapslar ve çoğalan sinaps bağlantıları. Her yeni bir ihtisas alanı onların sayılarını artıracak ve sizin çözüm bulmanızı kolaylaştıracaktır.
Neden Frontend ve Backend Programcısı Tarihe Karışıyor - October 15th, 2015
Yazılarınızı takdirle okuyorum. Ancak bir meslektaşınız olarak bu konuya tam katılamıyorum. Bence mühendislerimizin 2 temel sorunu var; 1- Ürün çıkaramamak 2-Odaklanamamak. 2. madde 1. maddeyi doğuruyor genelde. Odak kaybetmek demek hariçte olmak demek, üniversitelerimiz mesela sadede gelen kadar 4 yılınızı kaybedersiniz ama fizik, matematik zaman kaybedersiniz de kaybedersiniz. Hariç merkezi besler ama asıl mesele merkezde biter. Sizin gibi merkezde konuyu çözmüş programcılar için sorun yok ama uzmanlaşmayı bitirmemişler için harici konular odaklanmayı ve uzmanlaşmayı tehdit edebilir. Yani demem o ki “It depends”. Selamlar, iyi çalışmalar.