Bir Yazılımcı Nereden Başlamalı?
Yazılımcıların en büyük sıkıntısı çok hızlı gelişen teknolojiye ayak uydurma zorunluluğu olması. Bu zorunluluk bir o kadarda keyifli aslında.
Bu yazıyı okumadan önce yaklaşık 8 yıldır amatör/profesyonel bir şekilde yazılım ile ilgilenmekteyim belirtiyeyim.
İlk önce bir yazılımcı şunu kabul etmeli. Hiçbir zaman ben bu dili tam biliyorum dememeli. “Ben oldum” lafı öğrenmeyi köreltir. Zaten yazılım dünyasında bir dili tam öğrenmek biraz zordur. Çünkü hep gelişen bir sektör ve öğrenilen bir programlama dilinin en geç 2 sene sonra bir yeni versiyonu çıkacağı için yazılımcı hep öğrenen bir kişidir.
Yukarıda ki paragrafı iyice kendi benliğimize kazımak zorundayız ardından bir yol haritası çizilmeli. Bu yol haritası çok çok önemli çünkü ince eleyip sık dokumak gerekiyor. Kendimize sorular sormalıyız bu soruları sorarken bizim bildiklerimiz ve piyasa beklentilerini çok iyi çözmemiz gerekmekte. Objektif olmak zorundayız. Çünkü yıllardır öğrendiğimiz bir programlama dili artık kullanılmamaya başlanmış olabilir. Piyasaya çıktığımızda zor durumda kalabiliriz. İyi karar vermeliyiz, verdiğimiz bu kararın geri dönüşü zor olabilir çünkü başka bir programlama dilini öğrenmeye başladığı zaman gerçekten emin olmalı yoksa ayları pişman olabilir.
Sorular sormalıyız kendimize bu sorular şunlar olabilir.
1) Hangi Programlama Dilini Seçmeliyim?
Bu soru çok yanlış. Hangi programlama dili değil yazılımda hangi işi yapman gerekiyor bunu bulmalısın. Oyun programcılığı mı, Web tabanlı uygulamalar mı, Mobil mi? Bunu düşünün ve hangi sektöre adım atmak istiyorsanız sonra o sektörün kullandığı dil havuzlarından birini seçin.
Bu karara vardıysanız şimdi gelelim bir programlama diline. Seçtiğiniz sektöre göre 2 tane programlama dili var ve ya daha fazla. En çok kullanılan dillere bakın ve tercihinizi ikiye indirmenizi öneririm. Bu iki dilin yapısı, hızı geliştirme ortamı gibi farktörleri hem sorarak hem de iki programlama dilini ve uygulama ortamını indirerek basit bir uygulama geliştirmeye çalışın. Hem sizin görüşünüz hem de çevrenize sorduğunuz cevapları aldıkça kafanız da bir teraziye koyarak seçiminizi yapın.
Ancak ne olursa olsun siz sevdiyseniz o programlama dilinden vazgeçmemenizi öneririm.
3) Benim Bildiğim Programlama Dilinin Geçerliliği Var Mı?
İlk soruda ki cevabı bulduk kendimizi geliştirdik ama dünya devam ediyor. En başta dediğim gibi gerçekçi olmamız gerekmekte. Kendi işimizle uğraşırken bir taraftan da yazılım sektöründe ne olup bitiyor ona bakmalısınız.
Bu soruyu kendime sorup çok acı gerçekle karşılaşmıştım. Lise hayatım boyunca Delphi ile uğraşıp kendimi çok geliştirmeme rağmen bir yandan C Sharp ile de yavaş yavaş ilgilenmekteydim. Delphi Türkiye’de çok yaygın olarak kullanılmakta idi. Masaüstü uygulaması ön planda idi. Desktop Application bir server ve onlarca client ile uygulama biterdi. Yavaş yavaş yerini C Sharp almaya başladı C Sharp Masaüstü uygulamaları yerini almaya başladı. Onuda öğrendim çünkü gelişen teknolojiye ayak uydurmak zorundasın yoksa para kazanamazsın. O yüzden körü körüne bir programlama diline asla bağlanmadım, delicesine savunmadım. Delphi’de ne kadar uzman seviyesinde olursan ol sektör Delphi’yi dışlamaya başlamıştı zaten. C Sharp Masaüstü programlarının ardından Web Tabanlı Uygulamalar öne çıktı ve ben şu an JSP ve JSF olarak kendimi geliştirmeye devam etmekteyim. olmamız gerekmekte. Kendi işimizle uğraşırken bir taraftan da yazılım sektöründe ne olup bitiyor ona bakmalısınız.
Peki tüm bunlar olurken ben nasıl bir programlama dilinin yavaş yavaş eridiğini gördüm ondan da bahsetmem gerek sanırım. Sektörel dergiler, web siteleri ve özellikle kariyer siteleri bunda çok yardımcı olmakta. Kariyer sitelerinde eleman arayan yazılım şirketlerinin yaptıkları işlere göre karar verebilirsiniz.
Bu arada Delphi hala var ama öğrenme aşamasında olan kişinin gelecek kariyerini doğru seçmesi gerek o yüzden bu seçimleri yaparak farklı programlama dillerine yöneldim.
4) Hemen İş Bulacağım ya Sonra?
Bir dilde uzmansınız yaptığınız projeleriniz var ve kendinize çok güvenmektesiniz. İş başvuruları yapıldı ancak cevap yok. İşin bu kısmına girmemek en iyisi.
İş bulundu verilen teknolojiye göre görevinizi yerine getirmeye devam ediyorsunuz ve bu aylarca belki yıllarca devam etmekte. Farklı işler olsa da yaptığınız işler belki hala aynı devam etmekte. Siz bu durumdan memnun iseniz bilemiyorum ama bana göre kendi bulunduğunuz konumda memnun değilseniz daha da yükselmek niyetinde iseniz. Kullandığınız teknolojinin daha da derinliklerine inerek projelerinizde farklılık yaratma yenilikçi kararlar alıp sisteminizi daha az yorma yeteneğini kazandırmak proje yöneticinize öneriler sunmak güzel şeyler. Yeri geldiğinde önünüze gelen bir projenin farklı şekilde yapılmasını bile sağlamalısınız kendinize güveniyorsanız tabi.
İş muhakkak bulunur bulanacaktır da. Sonrası hep daha önemli. Asıl yarış kendi yeteneklerinizi bir üst mevkide olan kişiye göstermek. Proje arkadaşlarınızla birlikte ortak bir iş yaparken farkınızı sorun çıkarmadan ortaya koyma meselesidir. Kıskançlıklar, sorunlar bu durumda olacaktır. Unutmadan bir de kesinlikle siz iş arkadaşına, o arkadaş ise size kesinlikle maaş sormamalı çünkü İK sizi yeteneklerinize göre değerlendirip size göre bir rütbelendirme sistemi uyguluyor olabilir yanınızdaki arkadaşının sizden yüksek maaş aldığını öğrenmek sizi çok etkileyecektir. Ya da tam tersi.
5) Keyif Alın
Para kazanmalıyız, daha fazla para kazanmalıyız belkide. Yazılım işi maalesef para kazanmak için yapılacak bir iş değil. Yazılımcı insan beynini yorarak saatlerce çok çok az uyuyarak işini bitirmeye çalışacak. Bu işten keyif almadığınız sürece parası iyi diye yapılacağını hiç sanmıyorum. Örnek olarak Hastane Yönetim Bilgi Sistemleri vardır HBYS’ler her sene ihale sonucunda belirlenir. Eğer sistem önceden başka bir HBYS ile çalışıyor ise 31 Aralık – 1 Ocak gecesi yeni sisteme geçme zorunluluğu vardır. Siz sisteminizi kurmaya çalışırken hastane çalışmaya devam etmektedir. Yılbaşı gecesi siz çalışmak zorunda kalıyorsunuz. Hastanelerin en boş olduğu zamanlar ise Kurban bayramının 2 ,3 ve 4 günleridir. Bu günler o sistemde düzeltilmesi gereken ne varsa hemen koşup yapmalısınız. Teknik destek olarak söylemiyorum. Yazılım olarak ta değişiklik yapacak çok şey olabiliyor. Kurumun ihtiyacına göre acilen bir modül eklenme ihtaycı doğuyor ve siz bu updateleri sistemin en az çalışan zamanlarında yani resmi tatiller ve ya dini bayramlarda iken yapmaya çalışırsınız. Parası iyi diye yapılacak iş olarak seçenler bu durumlar ile karşılaşmaya hazırlıklı olun. Bu anlattığım durum ile siz belki karşılaşmayabilirsiniz. Ben karşılaştım.
Herhalde uzun bir yazı oldu. Keyifli kodlamalar. (:
Eğer lütfedip okuduysanız sizin görüşleriniz ile bu yazıyı genişletmeme yardımcı olun. Yorumlarınızı bekliyorum.
Yeni başlayacaklar için güzel bir makale olmuş
sa arkadaşlar ben masaüstü online oyun açmak için yazılım yazmayı öğrencem ama şöle bi sıkıntı var 0 dan başlıcam sizce öğrenebilirmiyim çok istiyorum bana destek verirseniz sevinirim saygılar