aylik soru

Doç. Dr. Göktürk Üçoluk ve Bilgisayar Mühendisliği

Bu ayki yazımda ODTÜ Bilgisayar Mühendisliği Bölümü Öğretim Üyesi ve Bölüm Başkan Yardımcısı Doç. Dr. Göktürk Üçoluk' un bilgisayar mühendisliği hakkındaki görüşlerine yer vermek istiyorum. Kendisi, yaptığım ropörtajda, bilgisayar mühendisliği öğrencilerinin ve öğrenci adaylarının sıklıkla sorduğu soruları yanıtlamış ve iş yaşamında bilgisayar mühendisinin yeri hakkında yol gösterici bilgiler vermiştir.

Bilgisayar Mühendisi ne yapar?

Sanılanın aksine Bilgisayar Mühendisliği bilgisayar donanımını geliştirme mühendisliği değildir, aksine salt güncel teknoloji ortamının bilinmesi amacıyla bu konuların iyi bir izleyicisidir, Bilgisayar Mühendisi. Bu teknolojinin üretim sürecinde yer almaz. Donanım Elektronik Mühendisliğinin ilgi alanıdır.

Bilgisayar Biliminin alt alanlarının uzmanlaşmış mühendisliği bir yazılım ürününün sağlıklı üretilmesi için yeterli olmamaktadır. Alt alan mühendisliğine ek olarak bir yazılım üretiyor olmanın sorunları ile uğraşan ve üretime,ürüne ilişkin kalite ölçütleri belirleyen, üretim yöntemleri saptayan bir 'üst' mühendisliğe gereksinim vardır. Yazılım üretmeye yönelik bu mühendisliğe 'Yazılım Mühendisliği' denmektedir. Yazılım mühendisleri bir yazılımın ortaya çıkarılması alanında belirli görevleri üstlenirler. Bunları özetlersek:

Tasarımın yapılması:

Bu aşama mühendisliğin teknik (ve anlaşılmaz) boyutunun devreye girdiği aşamadır. Bilgisayar Mühendisi aldığı işi belgeleme işini üstlenir. Bu belgelerde işin hangi işlevsel modüllere nasıl bölüneceği, modüllerin birbirleri ile ilişkileri, veri depoları, veri akışlarını gösterir. Bu tasarım evresinde de kimse sipariş edilen yazılımı 'yazmak' (biz buna kodlamak diyoruz) amacı ile bilgisayar başına oturmayacaktır. Çünkü çok önemli olan bu tasarım evresi yeterince zaman ayrılarak , profesyonel usullere uygun yapılmazsa, yazılımın bundan kötü bir şekilde etkileneceği kesindir.

Yazılımın yazılması:

Gerçek profesyonellikte yazılımın fiilen yazılması Yazılım Mühendislerince yapılmaz. Ülkemiz yazılım üretimi konusunda ne yazık ki daha tam profesyonelleşememiştir. Yazılım Mühendisi sayımızda azlık olduğu gibi, bu disiplinin ara elemanı durumunda olan 'programcı' sayısı ihtiyacın çok çok altındadır. Bu alandaki (Profesyonel) 'programcı' boşluğu ne yazık ki ülkemizin bir gerçeği olarak iki kaynaktan doldurulmaktadır:

  1. Kendini programcılık alanında (kısmen) yetiştirmiş, halk deyimi ile 'alaylı' farklı disiplinlerin insanları.
  2. Ne yazık ki Yazılım Mühendislerinin kendileridir.

Yazılım ürününün test ve bakımı:

'Kodlanan' modüllerin işlevlerini yerine getirip getirmedikleri, tasarım parametrelerinin uç değerlerindeki tavırları ve dayanıklılıkları, tüm sistemin hatasız şekilde bütenselliği ve ürünlerde ileriki zamanlarda çıkabilecek olası problemlerin çözülmesi, Yazılım Mühendisleri ve deneyimli 'programcılardan' oluşmuş olan bir ekip tarafından üstlenilir.

Bilgisayar Mühendisi için iş imkanları nedir, kaç para kazanır?

Müfredat hakkında:

Bilgisayar mühendisliğinde verilen temel dersler, şu anda bir bilgisayar mühendisine gerekli özellikleri kazandıracak ölçüdedir ve belirli zaman aralıklarıyla gözden geçirilmektedir. Belki bir miktar ağırlaştırılması ve detaylandırılması öğrencilerin yararına olabilir. Mesela algoritma konusu öğrencilere daha yoğun bir şekilde verilebilir. Ders içeriklerine gelince, basit olarak kabul edilebilecek ve güncel teknolojiyi kapsayan derslerin müfredatta olmamasını bir eksiklik olarak gözlemek mümkündür. Bence öğrencilere günün teknolojilerini de kısaca tanıtacak ve nasıl öğrenilmesi gerektiği, genel yapıları ve özellikleri açısından bilgilendirebilecek 1-2 kredilik dersler müfredata koyulabilir. Böylece öğrencilerin iş yaşamına daha rahat geçmeleri, ilk dönemlerde deneyim eksikliği sebebiyle karşılaşılabilecekleri sorunların hafifletilmesi sağlanabilir.

Piyasanın Öğrenciden Beklentisi:

Piyasayı bu konuda 3 katmana ayırabiliriz:

Birinci katman:

Düşük katman olarak nitelendirebileceğimiz katman parça başı iş yapmaktadır. Anlık ihtiyaçlarını karşılayacak kişilerin peşindedir. Herhangi bir yazılım lazım olduğunda bunu yazabilecek, istendiğinde Web tasarımı yapabilecek ya da bir şeyin PHP kodunu yazabilecek elemanlar beklemektedir. Yani bir Bilgisayar Mühendisinin değil bir programcının yapması gereken şeyleri mühendislerden talep etmektedir.

İkinci katman:

Bu katman da aynı taleplerde bulunmaktadır ancak bunlar daha iyi durumdaki kurumlardır. Uzmanlık ve mühendislik bakış açısı gerektiren bazı işlerin deneyimsiz kişilere yaptırılması sonucu zarara uğramış olan bu şirketler Bilgisayar mühendislerinden daha yüksek kalitede benzer işler beklemektedirler ve bunun karşılığında da daha yüksek ücret vermektedirler. Bankalar bu grupta yer almaktadır.

Üçüncü katman:

Yüksek seviye olarak nitelendirilen bu katmanda saygın yazılımevleri bulunur. Onların bekledikleri , talep ettikleri yazılım mühendisi problemlere üstten bakacak, tasarım ve taslak hazırlayabilecek, rapor sunabilecek, probleme çözüm getirebilecek kısaca proje liderliği yapacak insandır. Bu kişileri bulabilmek için önce teste tabi tutarlar ve projenin alt katmanlarında bir görev verirler. Gerekli kaliteyi gördüklerinde ise proje liderliğine yükseltirler. Maalesef ülkemizde Bilgisayar Mühendislerine hangi işin yaptırılması gerektiği tam olarak bilinmiyor. Bir firma bilgisayar mühendisini ilgilendirecek bir sorunla karşılaştığında başka insanları devreye sokuyor ve verim alamayabiliyor. Bu hem şirketler hem de ülkemiz açısından büyük bir eksikliktir.

Bizim amacımız:

Bilgisayar mühendisliğinin asıl amacı da bu kaliteye sahip öğrenci yetiştirmektir. Kod yazabilmek ya da web tasarımı yapabilmek bilgisayar mühendislerinin yapabileceği ancak asıl amacı olmayan işlerdir. Bilgisayar mühendislerine verilen “Software Engineering” olarak da bilinen yazılım mühendisliği derslerinin asıl amacı da budur. Her ne kadar çok üstüne düşülmese de ve öğrenciler tarafından, rapor yazdırdığı için, angarya bir ders olarak görülse de iş yaşamında önemli bir yere sahiptir. Bu sebeple mezun olacak insanlara aynı zamanda bir soruna yukardan bakabilme yeteneği ve en önemlisi de bu konuda kendine güven aşılanması gerekir. Bu sayede iş yaşamındaki çekinceleri kalkabilecektir.

Sertifika programları hakkında:

Bilgisayar mühendisliği öğrencilere güncel bilgiler değil çekirdek, temel oluşturabilecek bilgiler veriyor. Güncel dersler müfredata koyulsa 1 sene sonra o konu belki bu kadar popüler olmayabilir. Ama yine de bir bilgisayar mühendisi günün teknolojilerinden haberdar olmalıdır. Sertifika programları bilgisayar mühendislerine günün teknolojilerini, yöntemlerini tanıtması açısından destekliyorum. Tekrar vurguluyorum bu programların lisans eğitimiyle bir ilgisi yoktur. Sadece günceli yakalamak için yararlı programlardır. Lisansta gereken ise belirli bir güncel konuda bilgi vermek yerine genel hatlarıyla yeni teknolojileri ele almak ve nasıl ulaşılabileceğini göstermektir.

“Çok çalışan” mı “Çok kurcalayan” mı?

Ben çok kurcalayanı tercih ediyorum. Çünkü her şeyi kurcalayan kişi bir süre sonra bununla yetinmeyip kurcaladığı şeyin arkasındaki, temelindeki bilgiyi de merak edecek ve onu da kurcalayacaktır. Her ne kadar iş yaşamının başlarında, çok çalışana kıyasla, biraz zorlanacak olsa da sonradan çok çalışandan daha iyi bir yere gelecektir ve kendine olan öz güveni, çok çalışandan daha yüksek olacaktır. Yalnızca kitabı kurcalayan ve öğrenen kişi size yapacağı işin ne olduğunu, ondan ne yapmasını beklediğinizi soracaktır. Yani işi kendi kendine irdeleme, işin ne gerektirdiğine kara verme ve işi kurma becerisi eksik kalacaktır. Bu sebeple çok çalışan değil, çok kurcalayan!

Yurtdışına gitmek?

Lisans eğitimi süresince gitmeyi doğru bulmuyorum. Master düzeyinde ise ne üzerine master yapmak istediğinize bağlı olarak cevabım değişecektir. Bir bilim dalıyla uğraşmak istiyorsanız, gideceğiniz yerin uzmanlaşmak istediğiniz alandaki çalışmalarını da dikkatli inceleyerek yurt dışına gidebilirsiniz. Yani master bir dalda uzmanlaşmak için yapılmalıdır. İşin bilim kısmıyla ilgilenmek için. Bir insan sadece fiyat artırmak için master yapmak istiyorsa, master gereksiz bir çabadır. Bu amaçla sertifikasyon yolunu seçmesi daha uygundur. Doktora için de aynı kıstaslar geçerlidir. İşin bilim kısmıyla ilgilenmeyecek insanların yurt dışına gitmesini desteklemiyorum.

Doç.Dr. Göktürk Üçoluk'a verdiği yararlı bilgiler için teşekkür ediyoruz.

Işıl Özge Pekel
- 5 -


Yazarın Üslubunu Beğendiniz mi?:
Yazının İçeriği Yeterli mi?:
Konu İlginizi Çekti mi?:

Creative Commons License

Bu derginin içeriği, Creative Commons lisansı ile korunmaktadır.
Kaynak göstermek ve link vermek şartıyla ticari olmayan amaçlarla yazılarımızı kullanabilirsiniz.

©2007-2008 ODTÜ Bilgisayar Topluluğu