Herkese merhaba, ben yazılım mühendisi olmak istiyorum fakat neler yapmam gerektiği hakkında neredeyse hiçbir şey bilmiyorum. Bildiklerimi özetlemem gerekirse; daha önce Python üzerinde çalıştım ve şu an HTML öğreniyorum. Merak ettiklerim ise yazılımcı olmak için hangi üniversitelerin daha iyi olduğu, yazılımla neler yapabileceğim , hangi alanı neden seçmem gerektiği, hangi alanda hangi dilleri öğrenmem gerektiği... Biliyorum, sorularım biraz fazla ama yardım edebilirseniz çok sevinirim.

Yazılım zanaat olduğu için herkes öğrenebilir ve kendini geliştirebilir illa sıralaması ilk binde olan üniversitelere gitmeye gerek yok.

Evet var ama orta halli üniversitelere de gidip hocalarla birlikte proje yapıp CV doldurursan da yeter.

Peki ben şu an bilgisayar mühendisliği bölümlerine mi bakmalıyım yoksa yazılım mühendisliğine mi?

Merhabalar, @bitwise hocam yeteri kadar bilgi vermiş aslında. Ben de naçizane birkaç öneri de bulunmak ve detay vermek isterim. @bitwise hocamın da dediği üzere özenilerek yapılacak bir meslek kesinlikle değildir ve kendi içinde çok fazla alt dalı vardır. Mesela kullanıcı arayüzleri tasarlamak istiyorsanız frontend developer olmanız gerekiyor. Bu da yapılacak uygulamaya göre değişebilir. Yani, bahsi geçen uygulama "bir web uygulaması mı olacak yoksa executable mı" gibi... Buna göre bilmeniz gereken dil/diller değişir. Web uygulaması için HTML, JavaScript, PHP vb. bilmeniz gerekirken; bir desktop uygulaması executable için isterler bambaşka olabilir. Java'da da yazabilirsiniz, C#'da da, C++'da da, Python'da da yada daha bambaşka bir dilde de. Bu da tamamen isterlere bağlıdır. Eğer serbest bırakılırsanız ve yazılımın çalışacağı platform da müsaade ediyor ise istediğiniz dille yazarsınız. Yoksa istenilen dili bilmeniz gerekir. Aynı şekilde backend vardır. Burada geliştirdiğiniz uygulama arkadaki gizli adamdır, hiçbir şekilde önde görünmeden arkada çalışarak bütün istenilen işleri halleder. Desktop executable'larında genelde frontend ve backend iç içedir. Web uygulamalarında ise genelde ayrıdır. Bir de her iki alanı da bilen insanlar vardır. Bunlar full-stack developer diye geçer. Ayrıca daha sayamayacağım kadar çok farklı alanlar mevcut: Big Data, Database, AI, CV vs. vs. Daha fazla detay vermeme gerek olmadığını düşünüyorum. Zaten meraklıysanız kendiniz öğrenirsiniz. Üniversite konusunda ise diyeceklerim şunlar: Gidebildiğiniz kadar isim yapmış üniversiteye gitmeye çalışın tabi ki. Ama gidemezseniz de bu dünyanın sonu değil. Hiçbir farkı yok. Herhangi bir üniversiteye de gidebilirsiniz. Asıl olay sizde bitiyor. Ne yapmak istediğinize karar verip kendinizi o alanda olabildiğince çok geliştirmeye bakın. İsmi olan üniversitelerin size sağlayacağı tek fayda; sağlam hocaların olması ve bu hocalardan faydalanabilecek olmanızdır. Onun dışında size iş öğretip de mezun edeceklerini düşünmeyin. Mezun olduğunuz anda kendinizi geliştirmemiş iseniz aslında ne kadar boş olduğunuzu, üniversitenin bir işe yaramadığını anlarsınız. Eğer isim yapmış bir üniversiteden mezunsanız ve şanslı iseniz belki yeni mezun aday arayan firmaların gözüne çarparsınız. Burada da mülakatta; beğenmediğiniz bir üniversiteden mezun ama kendini geliştirmiş bir aday gelip işi elinizden alabilir. Bu yüzden kendinizi geliştirmeye bakın. 4 yıl hiç kısa bir süre değil. Yazılım Mühendisliği'dir, Bilgisayar Mühendisliği'dir bunlara çok takılmayın. Yapmak istediğiniz iş yazılım ise ikisinden birinden mezun olmanız yeterlidir. Bilgisayar Mühendisliği'nde ekstra olarak biraz donanım da anlatılır. Mikroişlemci dersi de verilir. Yazılım Mühendisliği ile ilgili bilgim yok maalesef. Ne anlatılıyor, müfredat nedir bilmiyorum. Ama olay yazılım olunca aynı şeyler anlatılmak zorunda. Detay farkı olabilir tabi ki. Oyun tasarımı dediğiniz nokta da aynı şeydir. Genelde bir oyun için öncelikle bir oyun motoru yazılması gerekir. Burada da kapı yine bilinen dillere çıkar. Oyun motorları verim ve hızından dolayı genellikle C++ kullanır. Bu dili biliyorsanız motor tasarımında görev alabilirsiniz mesela. Motor tasarlandıktan sonra bu motorun limitlerine göre oyun tasarımına başlanır. Senaryosu vardır, görselliği vardır, ses efektleri ve müziği vardır. Kısaca çok uzun iştir. Günümüzde Unreal Engine ve Unity (C# tabanlı) gibi hazır oyun motorları da vardır. Burada da yine bu motorların yazıldığı ve kullandığı dilleri bir de motorun API'ını bilmeniz gerekmektedir. Genelde API için dokümantasyonlara bakılır. İşin özeti kapı hep dile ve tecrübeye çıkar. Siz kendinizi farklı işler yaparak geliştirdikten ve mezun olduktan sonra çalışmak istediğiniz alana karar verir ve o alanda ilerlersiniz. Yani hep masaüstü uygulama geliştirdiniz diye oyun yapamayacaksınız tarzında bir düşünce yanlıştır. Dile hakimseniz girer o alanda çalışırsınız. Neticede kimse üniversiteden oyun tasarımı yaparak çıkmıyor. İlk tercih olmamanız için bir sebep değil yani. Uzun bir yazı oldu, okuyanlara teşekkür ederim. Hayatınızda başarılar.

Sadece yüksek lisans programı olarak var sanırım.

İlerisi hakkında benim de pek bilgim yok.

Web için HTML-CSS-JavaScript sırasıyla ilerlemelisin. Program dili olarak Phyton ile başlayabilirsin.

CS -> Computer Science. Computer science - Wikipedia Universite bir seyi garanti etmez. Ama basarili sekilde mezun olursan okumayana acilmayan kapilar sana acilir. - ITU, ODTU, BOUN, Bilkent, Koc, Sabanci.

Ben de büyüdüğüm yerden dolayı sürekli ODTÜ'yü duyarak büyüdüm fakat bölümlerine baktığımda yazılım mühendisliği göremedim sadece bilgisayar mühendisliği gördüm.

Yanlış bilgi Yazılım mühendisliği sadece özel üniversitelerde mevcut.

Bu arada bir sorum daha var ben boş zamanlarımda yazılımla uğraşmayı seviyorum ne önerirsiniz, hangi dili öğrenmeliyim?

Benim de çok bir bilgim yok ama mühendislikte en iyisi Türkiye'de diye biliyorum.

Web tasarımında fazla para kaldığını sanmıyorum WordPress oldukça gelişti artık insanlar Facebook hesabı açar gibi site açabiliyor. Onun dışında yazılım için Üniversite önemlidir fakat zorunlu değildir istersen gitmezsin.

Yaşadığın yere bağlı olarak ODTÜ ya da Boğaziçi'ni tercih edebilirsin.

Kesin bilgi mi?

Ama işe girerken gittiğin üniversitenin de büyük bir payı yok mu?

- Derslerine calis, iyi universiteye git. - Sagda solda duyduklarindan ya da filmlerde gorduklerinden ozenip secilecek/yapilacak is degil. Tum meslekler icin bu gecerli. Herkes Matrix'teki gibi kod yazmiyor. - Yazilim muhendisligi bolumu lisans bolumu olarak tercih edilecek bolum degil, Bilgisayar muhendisiligi ya da CS sec. Sonra istersen Master yaparsin uzerine. - Universite okumadan da bu meslegi yapabilirsin. Ama her sirkete giremezsin. "Muhendis" unvani alamazsin. Bilgisayar bilimlerinin bir bolumu "Yazilim muhendisligi" ; yazilim muhendisliginin de yine bir bolumu programlamadir. - Ingilizce ogrenmen sart. - Turkiye'de muhendislik alaninda saglam 3-5 okul var. Gerisi malesef ayni kaliteyi veremiyor. Turkiye sinirlari disina cikinca buradaki okullari da bilen insan cok az var, o da okul mezunu biriyle calistiysa biliyor.

Ben de baktım göremedim. Ama var diye hatırlıyordum.

Yazılım ve çoğu bölüm için en iyi üniversite Boğaziçi bana kalırsa. İşverenler Boğaziçi'nden mezun olanları ilk sıraya koyuyorlar.

Devlette de var, ama adı olan üniversitelerde yok. Fırat, cbü ve birkaç yerdede vardı. Yalin Kod Giderek sıradanlaşan bir endüstride, sıradışı kod ve kariyer üretebilmek için fikirler. www.youtube.com Bu kanala bakmanı tavsiye ederim.

- Şu an fen lisesindeyim derslerim yeterince iyi ama yine yükseltmeye çalışıyorum. - Yazılımı bırak cmd'den bişeyler yapınca bile çok mutlu oluyordum ben sonra dedim ki yazılım yapmaya çalışayım, python ve html yaparken oldukça eğleniyorum ve bu şekilde bir şeyler başarmak hoşuma gidiyor. O yüzden yazılımcı olmayı istiyorum. - CS ne bilmiyorum açıklarsan sevinirim. - Üniversite okumadan da yapabileceğimi biliyorum fakat daha garanti olanı tercih ederim. - İngilizcem gayet iyi ama onu da geliştirmeye devam ediyorum. -Üniversite konusunda ne önerirsiniz?

Bilgisayar.

Yazıda belirttiğim gibi zaten Python ve HTML öğrendim, şu an CSS öğreniyorum ama bir arkadaş web tasarımcılığının artık bir işe yaramadığını söyledi ve haklı. Benim bunları öğrenmem boşa mı gider yoksa sadece python öğrenmek gibi antrenman maksatlı mı olur? Son olarak, JavaScipt öğrendikten sonra ne öğrenmeliyim?