1 Temmuz 2016 Cuma

Bilgisayar Mühendislerine ve Bilgisayar Mühendisi Olacaklara Tavsiyeler

Böyle bir yazı için 19 yıl beklemedim tabi fakat 19 yıl boyunca mesleğin çeşitli aşamalarında görev yaparken gördüklerim, tecrübe ettiklerim bende böyle bir yazı yazma isteği uyandırdı. Hep kod yazacak değiliz ya bazen de sosyal içerikli şeyler yazmak lazım değil mi? Bu arada yazının özellikle kimleri ilgilendirdiğini de ifade etmeme müsaade edin lütfen. Bu yazı; özellikle de lisans eğitimini bu alanda yapmış kişileri ilgilendirir. Böyle bir tercihte bulunmamın nedeni benim tecrübelerim o yönde olduğu için başka da bir sebebi yok.  

Bilgisayar mühendisliği tesadüfen kazanılsa dahi tesadüfen başarılabilecek bir bölüm değildir. Diğer alanlarda asla göremeyeceğiniz mantık örgülerine şahit olur ve ciddi şekilde zorlanırsınız. Rahat şekilde eğitim alabilmek için temel iki konu: alana ait yetenekleriniz olmalı ve bu yetenekleriniz ilgi ile sevgi ile desteklenmeli. Diğer türlü ilk engelde - ki bu engel genellikle ilk dönem sizi karşılar – takılır ve daha işin başında kopuş yaşayabilirsiniz.

Hiçbir bölümün ezber ile başarılabileceğini düşünmüyorum ama diğerleri nispeten olsa dahi bilgisayar mühendisliği asla ve asla ezber ile başarılamaz. O nedenle zor bile olsa konuların teorisinin iyice anlaşılması ve konular arasında benzerlikler kurulabilmesi, anolojiler yardımıyla ve doğaçlama tekniğinden de yararlanılarak çalışılması zorunluluktur. Ezber ile belki bazı dersleri geçebilirsiniz ama asla iyi bir mühendis olamazsınız.

Kodlama mutlaka önemli. En iyi kodlamayı yapabilmenizi öneririm ama bununla birlikte bilgisayar mühendisliği kesinlikle kodlamadan daha fazlası demek. Kodlamadan daha fazlası ne derseniz çok karmaşıklaştırmadan kodlama öncesi ve kodlama sonrası diyebilirim. Kodlama öncesi kısmında; problemin anlaşılması ve algoritmanın kurulması vardır örneğin. Sadece bu da değil; algoritması elde edilen problemin hangi veri yapılarıyla çözüleceği ve en sonunda hangi programlama dilinin tercih edileceği konusu kodlama öncesi bilinmesi gereken şeylerdir. Bunların en iyi şekilde öğrenilmesi lüzumu vardır. Bu anlamda; sistem analizi, algoritma tasarımı ve veri yapıları size değerli bilgiler sağlayacaktır. Kodlama sonrasında ne var derseniz orada da; test ve bakım sizi bekliyor. Yazılan kodun istenen işlevi yerine getirip getirmediği test aşamasında bir kalite problemi olarak çözülür. Bakım aşamasında ise test sonucunda arızalı bulunan kısımların tamiri yer alır. Kodlama öncesi ve kodlama sonrası genellikle yazılım metodolojileri ile takip edilir. Bu anlamda karşımıza üst perdeden yazılım mühendisliği konusu çıkacaktır. Başarılı bir proje için kodlama yazılım mühendisliği sürecinin çoğu zaman sadece %20’lik bir kısmından fazlası değildir. Bu durumun bilgisayar mühendisi adayları tarafından bilinmesi, büyük resmin görülmesi anlamında değerli olacaktır.

Lisans eğitimimiz sırasında bizim de zaman zaman takıldığımız bir konu doğrudan bölümle ilişkilendiremediğimiz derslerin ağır olması idi. Aradan geçen onca zaman sonunda şunu fark ettik ki müfredat programında yer alan her bir dersin bir sebebi var fakat belli bir bilgi seviyesine gelene kadar o bağı kurmak zor olabiliyor. Bu anlamda; elektronik ve matematik derslerindeki ağırlığın makul karşılanması ve o derslere de diğer derslere verilen önemin verilmesi öğrencinin faydasına olacaktır.

Meslekten arkadaşlarım için bir başka tavsiyem de güncel teknolojiler bağlamında olacaktır. Güncel olanın bilinmesi ve farkında olunması her bilgisayar mühendisi için bir ihtiyaçtır. Bununla birlikte; ilgili teknolojinin kaynakları veya tarihçesi ile birlikte teknolojinin felsefi kökenlerini de bilme ihtiyacı vardır. Örneğin, yedekleme birimlerinde gelinen son nokta bilinirken yedeklemenin atası olan dokuma tezgâhlarından alınan ilham da bilinmelidir. Dokuma tezgâhındaki bir motifin aslında bir nevi bir kayıt ortamı olduğunu bilen bir öğrenci yedekleme birimlerinin mantığını daha doğru şekilde anlayacaktır. Aynı şekilde; günümüzdeki mikroişlemci teknolojisini anlayabilmek için ilk icat edilen işlemcilerin mantığı iyi şekilde bilinmelidir. Güncel ve geçmiş bilgisi her ikisi de dengeli şekilde bilinmeli ve her yeni teknolojiye adaptasyon yeteneği kazanılmalıdır.

Zorlandığınız her noktada dünyaya hizmet sunan yazılımcıları hatırlayın. Güne takılmak yerine yarının yazılımcıları olmanın hayalini kurun. Sadece kodlama değil aynı zamanda algoritma kurmayı da öğrenin. Sadece kodlama değil aynı zamanda kodlama yapan bir ekibi yönetmeyi de öğrenin. Tek başına yapabileceğiniz işleri bile arkadaş gruplarınızla takımlar oluşturarak yapın. Yazılım geliştirmek üzerine yazılmış kitapları roman okur gibi okumak yerine okuduğunu uygulayarak okumayı tercih edin. Diğer bölümlerin öğrencileri gezerken siz onlar kadar gezmeyin. Bilgisayar mühendisi olmak ile gezmek tozmak arasında tercih yapın ve gezmeyi bir miktar ileriye atın. Eğer gezip tozacaksanız da lütfen kaldığınız derslerde hocalarınızı suçlamayın. Bu arada gezip tozmadığınız halde hoca problemi nedeniyle başarılı olamıyorsanız da teknolojik imkanlarla kendinizi destekleyin ve kendi kendine öğrenme yöntemine başvurun.  

Sevgili arkadaşlar zaman zaman gündeme düşen uyduruk haberler duyarsınız “Bilgisayar mühendisleri boş kalıyormuş” şeklinde, ben bugüne kadar işinin ehli hiçbir meslektaşımın boş kaldığını duymadım. Boş kalan arkadaşlar varsa da ya şanssızlıktan yahut kendini yetiştiremediği içindir. Siz kendinizi adam gibi yetiştirin işveren sizi arasın. Sıkın dişinizi ve aranan adam olun. O kadar zor olmamalı.

Hidayet Takçı

Temmuz 2016, Sivas   

Hiç yorum yok:

Yorum Gönder

İki yarım bir tam etmez

Bir bütünün iki parçaya ayrılıp sonra bir araya getirilmesi bütünden bir şey eksiltir mi, miktarından bir şey eksiltmez ama bütünlüğünden ek...