Yazılım Mühendisini Kim Öldürdü? (İpucu: Okulda oldu)

  • Günümüzdeki bilgisayar mühendisliği dersleri yeterince sıkı değil, iyi düşünme ve problem çözmeyi teşvik etmiyor. Aksine derslere katılımı kolaylaştırmak için içerik daha da basitleştiriliyor.
  • Baba mı, Java mı

  • Mesela, ilk dil olarak Java’nın öğretilmesi bu süreci hızlandırıyor. Özellikle de grafik arayüzlerinin kullanımı öğrencileri arka plandaki kaynak kodu anlamadan sürükle bırak kolaycılığına itiyor.
  • “Matematik eğlenceli değil, derslerdeki oranını düşürelim. Algoritma zor, gerek yok. Hazır kütüphaneler zaten var. Sonra insanlar görsel güzelliğe önem veriyor. Komut satırını boşverin” anlayışı yerleşiyor.
  • Eski yazılımcılardan biri yeni mezun olmuş çalışanına hatayı bulmak için “call stack” a bakmasını söylediğinde “böyle bir şey duymadım” dediğini anlatıyordu.
  • Bir Java kitabı alıyorsunuz, 1200 sayfa. Ama içinde 300 sayfa komutlar kalan 900 sayfa hazır kütüphaneler… Bu yazılım mühendisliği değil, tüketici düzeyi programcılık…
  • Eğer öğrenciler okula gelip, Java’yı, hazır kütüphaneleri ve web programcılığını öğrenip bırakacaklarsa, bu bir işe yaramaz. Yetenek gerektirmeyen işleri, daha ucuza çalışılan ülkelere kaydırırsınız, olur biter.
  • Yani, bugünün hazır kod programcısı, yarın pizzacı olur.
  • Yazılım mühendisi olacak kişinin zor problemlerle uğraşmaktan zevk alması, ilginç algoritmalar üretmesi, zekice veri yapıları oluşturabilmesi lazım. Problem çözmekten sıkılan adam bizim aradığımız adam değil.

Kısaltarak çevirdiğim bu yazıda, New York Üniversitesi’nin kıdemli profesörlerinden Robert Dewar Amerikan öğrencilerinden bahsediyor. Ancak sanki yazılanlar bize pek yabancı değil. Ne dersiniz?

9 comments

  1. ilginç bir blogunuz var ama cidden güzel olmuş ellerinize sağlık. bu yazı da ilgimi çekti epey. biz de okulda önce Java öğrendik ama NetBeans tarzı sürükle bırak tarzı programları kullanmamıza izin vermediler. Grafiksel öğeleri kodlarla yazdık. Zaten ilk 6 ay sadece kod yazdık. Şifreleme programı vs.. Çok zorlandık çok düşündük bazıları için ama gerçekten eğlendik.
    Ama yine de yazıdaki gibi gerçekten düşündüren derslerin çoğalması gerekir.

  2. türkiye de ki meslek liselilerinin kalitesizliği tabi başarılı olan da yok değil ama çok çok az.
    şu meslek liselerini elden geçirseler vatana faydalı olacak

  3. söylemek istediğim abimiz bilal akçay güzel anlamlı bir makale yayınlamış. ders almamız gerek bir şey ama anlamdığım meslek liselerle ne alakası var. :s

  4. Mühendislik mesleğinin kaderi, mesleğe dair iyi tanımlanmış ( modellenmiş ) bilgilerin makinelere aktarılmasıdır.

    CAD kullanmayan mimar/mühendis varmıdır? Elle hesap yaparlarsa ne kadar güvenilirdir.

    Konu yazılım üretmek olunca, benzer bir süreç ve benzer bir durum olacaktır ve bu kaçınılmazdır. Bu metinde görsel tasarım araçlarına yapılan eleştiri, ASSEMBLY kullanıcılarınca Yüksek Seviyeli dillere dair de yapılabilir.

    Sonuç:

    Yazılım üretme sürecinin mümkün en basit hale indirgenmesinin ve en az seviyede bilgi gerektirmesinin yanındayım. Tutarlı ve kocaman sistemlerin ( bir havalimanı işletmesi yada bir fabrika yöneten sistemleri düşünün ) lise çocuklarınca bile tanımlanabilmesi yanlısıyım. Hatta bir Bilgisayar Mühendisi Olarak olarak şu an üzerinde çalıştığım tam da konu bu, sıfır kod bilgisiyle çok büyük ve kompleks yazılımlar üretilmesi.

    O halde bilgisayar mühendisleri ne yapmalı, konuya özel ve tamamen (yada yarı özgür olarak) keyfi gelişmiş yapılandırma dosyaları ile yapay dillerin gizemi ardına saklanıp zihinsel tatmin yaşamak yerine gerçekten bilginin kendisine, matematik-dilbilim-hesaplamalı mantık vs gibi bu için bilimine kaymalarıdır.

    Burada bir slogan atmak istedim, Mühendislik ölüyor, yaşasın bilim ve uzman sistemler …

    Selamlar

    Ersin

  5. Yazılım konusuna yeni giriş yapanlar yazılımcılık mesleği hakkında tam bilgisi olmadığı için çevrelerininde etkisiyle üst düzey görsel programlama dillerini ( visual studio C# vb.) öğrenmeye kalkıyorlar ve kısa zamanda hazır örnekler vs. bir çok görsel program tasarlamış oluyor bu da onu mutlu ediyor ancak bu tarz bi programcılık hazır verilerle ve örneklerle sınırlı kalıyor fikir dahi edinemiyeceğin sorunlar çıkabiliyor buda yazılımcılıktan çabuk pes ettiriyor çoğu kişiyi.

    Bende ilk zamanlar yanlışa düşmüştüm hatta ve hatta okullara kızıyordum ms-dos-assembly tabanlı yazılım dilleri öğretiyorlar, ne gerek var diyordum görsel programlama dilleri var onları öğretsinler diye bi feryadım vardı. tabi işin içine girdikçe anlıyorsun bazı şeyleri ondan sonra anlıyorsun mikrodenetleyici programlamaya başladığımda aklımda geçmişte tüm bildiklerimi unutasım geldi her şey senin kontrolünde en ince ayrıntısına kadar senin beynindekilerinin yansımasıydı bu da beni çok mutlu ediyordu. aynen bilgisayarında mikrodenetleyicinin büyük hali olduğunu düşünürsek programlamayı çok daha fazla sevmeye başlamıştım örnek olarak bi ekrana daire çizmek için nasıl bi algortima kullanmak gerek aynı işi yapan ama daha kısa sürede aynı işi yerine getiren algoritmalar üretmek işin zevkinide ortaya koyuyordu.

    Bunları düşündüğümüzde herkesinde algoritmalarla uğraşarak özgün tasarımlar programlar yapması beklenemez herhangi bir meslek dalında uğraşan kişilerinde kendi amaçlarına yönelik basit programlar yapması gerektiğinde görsel programlama dilleri onlar için bitirimdir istediği birçok programı yapabilir

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir