Herkese merhaba, Özcan Acar Beyefendi ile e-posta yolu ile iletişime geçip, bir Yazılım Mühendisliği öğrencisi olarak sorularımın olduğunu ve Yazılım Mühendisliği ile ilgili yerli yabancı kişilere bu soruları yöneltip cevapları bölüm arkadaşlarımla paylaşacağımı izah ettiğimde, kendisi zaten bu tür ihtiyaçlar için btSoru.com'u kurduğunu söylediler ve soruları buradan cevaplayacaklarını belirttiler. Yanlızca Özcan Acar Beyefendi değil, bu sitedeki Yazılım Mühendisliği bölümünde çalışan tüm abilerimiz soruları paket olarak(sekizini birden) cevaplamalarından çok memnun oluruz. Saygılar.

1- Kendinizi ve Yazılım Mühendisliği ile olan geçmişinizi kısaca anlatabilir misiniz?

2- Sizce mühendisliğin tanımı nedir?

3- Yazılım Mühendisliği'ndeki "Mühendislik" kelimesinin sebebi nedir? Moda olarak herseyin sonuna "Mühendislik" kelimesi eklemekten mi geliyor, yoksa gerçekten "Mühendislik" ile alakası var mi?

4- Çok yakın gibi görülen Bilgisayar Mühendisliği ile Yazılım Mühendisliğinin arasındaki farklar nelerdir? Bunları iş hayatından örneklerle ve tecrübelerinizle açiklayabilir misiniz?

5- Yazılım Mühendisi, sadece uml bilen programcı mıdır ? Eğer değilse tam olarak kimdir ve geliştirilen projelerde nerededir?

6- Yazılım Mühendisinin bilmesi gereken 5 önemli şey nedir?

7- Bir öğrenci olarak bakıldığında, belli dertlerin, belli çözümleri getirdigi, Yazilim Mühendisliği'nin de bu çözümlerden biri olduğu görünüyor. Çözümler uluslar-arası olsada bazen bu dertler yerel oluyor ve bu yerel dertler, çözümleri başka biryerden ithal edenler için farklılıklar arz ediyor. Sizin de yazılım mühendisliği ile ilgili kaynaklarda okuduğunuz fakat Türkiye'de işlerin farklı yürüdüğü şeyler var mi? Var ise bunlar nelerdir?

8- Üniversiteyi içerisi, iş hayatını da dışarısı olarak kabul ederseniz,dısarıda yani sektörde işler nasıl yürüyor? Hala içeride bulunan oğrenciler için, dışarı çıkmadan önce neler yapmalarını tavsiye ederseniz?

soruldu: 20 Haz '12, 06:47

abdullahgursoy's gravatar image

abdullahgursoy
45123
cevap kabul oranı: 0%


15

Sorular cok genel ve butun sorular bir arada olunca cevaptan ziyade uzun tartisilmasi gereken konular. Ben soru soru degil de sorular hakkindaki genel fikirlerimi yazabilirim.

Herseyden once yazilim muhendisligi diger muhendislik dallarina benzemiyor, programlama yada daha genis anlamda yazilim gelistirme muhendislik metodlarini kullanir fakat elektrik, elektronik, makine veya kimya muhendisligi gibi alanlardan cok farkli. Zaten erken donem hacker(üstad programcilar, cracker degil!) gelenegini olusturan kisiler cogunlukla matematik, fizik gibi alanlarda calisan kimselerdi. (detaylar icin Eric S. Raymond'un iki makalesi burda ve burda Turkce'ye cevrilmis.) Bu baglamda yazilim gelistirmenin direk muhendislik olamiyacagi, muhendislik metodlarini kullandigi, fakat universitelerin bunu IT(information technology) yada yazilim muhendisligi(Software Engineering) adi altinda egitim programlarina aldiklarini bilmeliyiz.

Dunyada yazlim gelistirmede basarili olmus, taninmis cok meshur programcilarin, hacker'larin bircogunun yazilim muhendisi olmadigini biliyoruz. Yazilim gelistirme daha cok mantiga dayali(mantik ve matematik etkili fakat Eric. S. Raymond'un da dedigi gibi ileri matematik gerekmiyor.) Ama ayni sey donanim(hardware) sistemleri icin gecerli degil, eger bir islemci(CPU) uretmek istiyorsam makine muhendisinin makinalarda uzmanlastigi kadar elektronik ve o donanima bagli teknolojik programlamada uzmanlasmaliyim, bu da muhendis olmaktan geciyor. (Muhendis olmadan yapanlar varsa da cok az istisnadir)

Turkiye'de ve butun dunyada yazilim gelistiricileri bircok sektorden geliyor. Avrupa'da ozellikle son zamanlarda hemen hemen her universite bolumunde o bolumun alt informatik bolumu de acildi/aciliyor. Ornegin Makine muhendisligi altinda makine muhendisligi informatigi(makine muh. sistemlerine yazilim gelistiren alt bolum), Medicine Informatik (saglik sistemlerine yazilim gelistiren alt bolum), Business Software Science(is yazilim sistemleri, ekonomi + yazilim gelistirme dersleri veriliyor). Bu muhendislik alt dallarinda yazilim gelistirmek icin o sektorde uzman olmak gerekiyor. Bir makinaya yazilim gelistirebilmeyi en iyi o makinanin tasarimini yapan makina muhendisi yapabilir. O yuzden de makina muhendisligi informatigi gibi alt bir bolum doguyor.

Bu konular uzun tartisilacak konular, bilgisayar muhendisligi kavrami bence dogru olmakla birlikte yazilim muhendisligi biraz heyecan ve imaj icin verilmis bir isim. Turkiye'de 2 yillik bilgisayar programlama okuyan birisi neden yazilim muhendisi olmuyor da 4 yillim yazilim muhendisligi okuyan kisi software engineer unvaniyla mezun oluyor? Iki bolumde de okutulan java ve programlama mantigi ayni degil mi?(Yazilim muhendisi arkadaslar yapma be okutulan dersler ayni mi teknolojiler farkli diyebilirler, ama sonucta ikisi de ayni isi yapiyor!) Konu uzar gider, bu universitelerin, ulkelerin akademik isimlendirmeleri ile de ilgili de bir durum.

Is hayati ve universiteler konusu:

Is hayati ve universite cok baska dunyalar, gonul ister ki universiteler en son cikan teknolojileri ogretsin, hatta ABD'deki gibi teknolojiyi ureten is dunyasina transfer eden kurumlar olsun. Ama ne yazik ki bu cogu universitede bu mumkun olmuyor, size java dersi veren profesorun constructor'leri yanlis yazarak ders anlatmasina sahit olunca butun hevesiniz enerjiniz hayalleriniz yikiliyor. Hele java ogrenmeliyim dediginizde ders veren hoca ve profesorlerin Microsoft hayranligiyla ayni takim tutar gibi .NET teknolojilerini savunmalari, isletim sistemleri derslerinde bircok isletim sistemi var fakat dosya islemleri soyle yapilir derken MS Windows file explorer'un resimlerini gostermesi traji komik durumlar.

Eger bilgisayar muhendisligi okuyorsaniz lutfen ders programlariniza bakin, butun dunyada meshur kullanilan teknolojilerin hangisi ne kadar ders programinda var? Internet server'larda ezici cogunluga sahip olmasina ragmen kac saat GNU/Linux dersleri var? Butun dunyada Ruby, Python gibi script dilleri bu kadar yaygin kullanilirken hangi profesor Python, Ruby biliyor gercekten merak ediyorum??? Kac profesor size anlattigi teknolojilerle aktif olarak kullanilan bir proje gelistirmis? Lutfen sorun hocalariniza ve burda paylasin, bu soylediklerimin yanlis cikmasi beni cok sevindirecektir!

Is dunyasinda gecerli teknolojileri ogrenmek her zaman size buyuk averajlar saglar. Eger butun dunya restful web servisler kullaniyorsa bunu ogrenmek zorundasiniz. OOP ve Design Pattern'leri bilmek size her programlama dilinde cok yardimci olacaktir. Herseyden once de bir hedef secip o hedefe yonelik dil/teknoloji/framework/arac gerec seti(tools) ogrenmeniz cok faydali olabilir.

Bir programlama dili secerken dikkat edilebilecek prensipler daha once burda yazilmisti, yardimi olabilir.

permanent link

cevaplandı: 21 Haz '12, 05:55

CemIkta's gravatar image

CemIkta ♦
19.9k29125190
cevap kabul oranı: 36%

değiştirildi: 17 Eyl '13, 02:08

1

Ağzınızdan bal damlıyor.

(21 Haz '12, 18:55) UsTa UsTa's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×58
×13
×7

Soruldu: 20 Haz '12, 06:47

Görüntüleme: 3,531 kez

Son güncelleme: 17 Eyl '13, 02:08

powered by BitNami OSQA