Şu an bilgisayar mühendisliği bölümünde hazırlık okuyorum. Fakat bu son zamanlarda sektörün %90'ının düz programlama üzerine olduğunu, mühendislik gerektiren yerlerin çok olmadığını duydum ve bu bana biraz tuhaf geldi, yani 4 yıl eğitim ardından machine learning, AI gibi daha kompleks alanlar üzerine yoğunlaşanlar ne kadar oluyor (Çünkü 4 yıllık bu mühendisliklerin amacı da sağlam dallarda uzmanlaşmak değil mi)? İyi diyebileceğim bir üniversitedeyim, hedefim savunma sanayi gibi prestijli yerlerde çalışmak ve açıkçası 4 yıl okuduktan sonra diğer ön lisans bölümlerinden farkımın olmasını isterim. Bilgisayar mühendisliği hakkında geçmiş sahibi olanlar bu konu hakkında ne düşünüyor? Dipnot: Zaten mezunlarını incelediğimde çoğu iyi üniversite mezununu büyük şirketlerin kaptığını görüyorum fakat bu soruyu sadece çok fazla duyduğum için sormak istedim.

Bilgi sorun değil hocam her gün çalışırım kendimi geliştiririm. Merak ettiğim bilgisayar programcılığı ile bilgisayar mühendisliği arasındaki tek şey mühendislik kavramı mı ve programcılık iyi bir bölüm mü?

Bizde de engineering diye geçiyor ama aslında computer science üzerine daha odaklıymış dersler, ama gördüğüm kadarıyla bölümde yoğunluk var herkes bir şeyler için uğraşıyor kendini geliştirecek imkanlar var. Aslında bu soruyu da bu yüzden sordum, o kadar ml, ai gibi eğitimler alıp iyi bir üniversiteden kimse web designer olarak ayrılmak istemez ama işte çok duyunca kafa karışıyor

Anladım, aslında aklıma takılan şey şuydu yks'de uğraşıp iyi bir yerde 4 yıl okuduktan sonra 2 yıllık bölümlerle aynı şeyi yapmaktan çekiniyordum o yüzden gerçekten arada fark olup olmadığını merak ettim

Anladım, teşekkür ederim. Açıkçası bu yıl hazırlığı yeni bitirdim ama pek fazla bir şeye bakamadım O yüzden kafam çok karışık. Kendimi nasıl bu konularda geliştireceğim sorusu mevcutken bir de sanki mühendislik bitince en üst şirketlerde en profesyonel şeyler yapmalıymışım gibi hissediyorum, o yüzden ML AI gibi konular heyecan verici gelirken, Back-End gibi şeylerse sanki amatörceymiş gibi düşünüyorum . Hoş, zaten istesem de yurt dışındaki o "üst" şirketlere gidebilir miyim emin değilim

Mühendislik tanımı biraz esnek. Kimin neye mühendis deyip diyemeyeceği çok net değil. Siz nasıl bir mühendislik arıyorsunuz buradaki mesele o. Düzgün bir bilgisayar mühendisliği bölümünün size öğreteceği şey diller, syntax, bütün kütüphaneler ve bunların nasıl kullanılacağı değildir. Computer Science tarafında, algoritmalar, bu algoritmaların nasıl uygulandığı, "computing"in bilimini öğretmek, bu altyapıyı vermektir. Amaç kodlama öğretip programlama dilleri ve kütüphanelerini anlatmak değil. Bu bölümler birer bootcamp değil yani. İnsanlar bu "yazılım" trenine çok hızlı atladığı için herkes alanı yanlış anlıyor. Dillerde bir yazılım pelesenk olmuş, her yer yanlış anlaşılmayla dolu. Sizin de fark ettiğiniz üzre insanlar bir iki web sitesi tasarlayınca ben yazılım öğrendim moduna giriyorlar ama düzgün bir projede dağıtılmış sistemlerle, karışık veritabanlarıyla uğraşmaları gerektiğinde artık bu bilgiler yetmiyor. Projesinde çalışan insanlardan sağlam bir anlayış bekliyor çoğu işveren artık. Burada da olumsuz yorumlar yapan insanlar büyük ihtimalle kendi üniversite ve bölümleri için haklıdır. Türkiye'de CS alanı farklı isimle geliştiğinden ve pek çok konsept birbirine girdiğinden en iyi üniversiteler haricinde ben de düzgün bir mühendislik anlayışı olduğunu düşünmüyorum. Ama bu demek değil ki "bilgisayar mühendisliği" kendi başına sıkıntılı bir şey. Pek çok alanda olduğu gibi düzgün bir üniversiteye gitmeniz gerek. En iyi üniversitelerde dahi web geliştirmenin yüzeysel alanlarına, oyun yapımına girip çok derine dalmak istemeyen insanlar olacaktır ve açıkçası bu hakları da var. Mühendis olmak için illa C++ kullanmaya gerek yok, her gün matematik yapmaya gerek yok. Siz kendi yolunuza bakacaksınız. Diğer insanları ve kendilerine koydukları başlıkları boşverin.

Konu güncel

Senin kendi bilgine kalmış. En iyi üniversiteye de gitsen senin uğraşınla olacak şeyler. Tıp gibi yalnızca okuldaki hocalar ile öğrenilmiyor ve her geçen gün praktikler değişiyor. Bazı işe alımlarda mühendislik fakültesinin bilgisayar mühendisliği bölümünü bitirmeyenleri almıyorlar. Tamamen saçmalık. Düşük statüde başlıyorsun piyasaya. CV üretmen lazım. Ya çok çalışıp biraz freelance iş yapacan ya da staja gidip sonra orada çalışmaya başlayacan ki tecrübe kazanabil.

Hocam konu dışı ama ama bilginiz var galiba sormak istedim. Bende yazılım mühendisliği ya da bilgisayar mühendisliği okumak istedim ancak sonradan kararımı değiştirdim. Zaten bir sene boşa gitti bu sene ise çalışmaya geç başladım ve gerçekten bakınca sıralamalar puanlamalar gerçekten zordu ve yapamam diye düşündüm kararımı bilgisayar programcılığı olarak yapmak istedim. Sizce pişman olur muyum? İkisi arasında ne tür farklar var ileride bana pişmanlık yaşatır mi?

C++ ve Java gösterdiler. İkisinin bilgileri topla bir yerde çalışmayı geç, kendine yarayan uygulama yapamazsın. C++'ta bi sürü konu var C + classlar gibi işledi hoca. Visual C++ yok, Qt yok, sfml yok java görüyoruz javafx yok. Nasıl yapacaz bunları soran yok.

Muhendislikte bir sistemin ne kadar kompleks oldugunu olcmenin efektif yollarindan birisi de hazirlanan projenin kac farkli komponentten olustugu ve bunlarin ne sekilde bir araya gelip entegre olarak buyuk resmi meydana getirdigidir. Cassandra gibi distributed sistemlerin, anlik mesajlasma ve feed sistemlerinin, Android ve IOS'un cihazlarina uyguladigi fail-safe notifikasyon mekanizmalarinin, proximity sensor algilayicilarinin, s3 gibi storage servislerinin, whatsapp/stripe gibi anlik TPS'in peak seviyesinin cok oldugu fail-safe sistemlerin, bu mesajlari okudugunuz modern isletim sistemlerinin Cyclomatic complexity degerlerini hesaplamaya kalkarsaniz cok buyuk muhendislik eseri diye nitelendirdiginiz koprulerin, ucaklarin, otomobil motorunun icerdiginden cok daha fazla kompleksite icerdigini gorursunuz. Cyclomatic complexity - Wikipedia en. wikipedia. org Bu sistemleri yazilim muhendisleri olusturuyor. Yazilim ihrac ettigimiz musterimizin black friday sirasinda 30 dakika hizmet verememesinin maddi karsiligi Bazi sehirlerin yurt ici hasilaya olan katkilarina yaklasiyor. TÜİK Kurumsal data. tuik.gov.tr O yuzden bu tarz konularda tavsiyem: 1. Muhendisligin ne oldugunu isi bilenden ogrenin. 2. Yazilimin ne oldugunu discord botu yapip CRUD disi is yapmayandan ogrenmeyin. 3. Programlama ile yazilim arasindaki farki iyi ogrenin. Tum bu yazdigim, Computer Science'in Software Engineering branch'i ile alakali. Bir bu kadar da yerin altinda var

Değil, mühendisliklerin amacı bu konularda temel eğitim vermek. Pek çok, kariyerinde kullanmayacağın dersi de göreceksin, mesela db yöneticisi olacak adam front end kodlamayı da öğrenecek, fron end developer olacak adam gömülü sistem de görecek vb. Hiçbirinde zaten uzman olmayacağın için sorun yok, temeli gösterecekler, bütün derslerini verdiğinde eline verecekleri diploma sadece senin çeşitli teknolojiler ve mühendislik disiplinleri hakkında temel sahibi olduğunun, eğitilebilir olduğunun, ilerde mühendislik yapabileceğinin göstergesi.

Düz programcılıktan kastınız nedir, yani programcı adam düz programcılık yaparken size "git arge yap, yeni programlama dili geliştir onu kullanalım" demeyecekler. Hem düz programcı hem de bilgisayar mühendislerinin birlikte çalıştığı bir kurumda çalışmanız durumunda aynı ekibin parçası olacaksınız, belki sizden bazı şeyleri daha çabuk öğrenmeniz, hata toleransı çok daha düşük olacak şekilde ve güncel standartlara uygun kod yazmanız beklenebilir, yeni mezun olduğunuz zaman sizi öyle çılgın projelerde, sadece 3 kişinin erişebildiği gizli repolarda falan çalışmayacaksınız yani. Kurumun politikasına göre belki programcının erişemediği yöneticilik seviyelerine ulaşabilirsiniz ilerde, ekip ve proje yönetme sorumluluğunu size verirler, onun dışında yeni mezun mühendis cidden bir şey bilmez, programcı ile arasında pek bir fark yoktur, hatta programcılık lisesinde okuyan stajyer arkadaşlar bile siz ona öğrettiğiniz müddetçe işi anlıyorlar. Sadece alaylı yazılımcıya ya da programcıya proje teslim etmek daha uzun vakit alır, mühendise sorumluluğu daha erken verirsiniz. Bu yüzden pek çok kurum mühendislik bölümlerinden mezun ve hatta üstüne x yıl deneyimli eleman arar junior ilanlarında bile. Savunma sanayine gelecek olursak, kesinlikle mühendislik disiplini isteniyor. Ancak savunma sanayinde çalışan birisinin her alana hakim olması gerektiğini düşünüyorsanız yanılıyorsunuz. Aselsan'ın bir Java developer ilanını buldum mesela, inceleyelim. Üniversitelerin Bilgisayar Mühendisliği bölümünden mezun, Yazılım mimarileri konusunda bilgi ve deneyim sahibi, Java programlama dilinde en az 2 yıl deneyime sahip, Karmaşık desktop frontend/backend full stack uygulamalar geliştirmiş, Yaygın olarak kullanılan Java kütüphaneleri ve frameworklerinde tecrübesi olan, Tercihen Eclipse IDE kullanımında ve RCP/OSGI plugin geliştirme konusunda deneyimli, Java alanında yeni teknolojileri takip eden, Veri yapıları, tasarım kalıpları, nesne yönelimli programlama/tasarım, temiz kodlama konularında tecrübeli, İlişkisel ve NoSQL Veritabanı sistemlerinde tecrübeli, Çevik yazılım yaşam döngüsü ürünleri ile çalışma tecrübesine sahip, Tercihen REST API, mikroservis mimarisi, container mimarileri hakkında bilgi ve deneyim sahibi, Sistematik yeniden kullanım ve ürün odaklı çalışma yöntemlerine yatkın, Tercihen CI araçlarıyla ilgili bilgi sahibi, İletişime ve öğrenmeye açık, yardımlaşmaya önem veren, ekip çalışmasına yatkın, problem çözme yeteneğine ve analitik düşünce yapısına sahip, Seyahat engeli bulunmayan Okulun size kattığı 4 yıllık birikim sizce bu istenenleri karşılıyor mu? Bilgisayar mühendisliği eğitiminde Java veri yapıları dersini size anlatırken kullanılan bir dildir. Okul size temel syntax bilgisi dışında sadece Javaya mahsus bir şey öğretmez, veri yapılarını anlatırken yararlanılabilecek dillerden biridir. Okulda karmaşık bir uygulama geliştirmezsiniz , okul yeni teknolojileri size öğretmez, öncelik olarak temeli öğretme gayesi içindedir, veritabanı dersinde ekseriyetle SQL relational db anlatılır, nosql e neredeyse değinilmez bile, mezun olup git nedir bilmeyen kişiler mevcuttur, jira, confluence gibi şeyleri duyan yoktur herhalde, clean code tasarım ve kodlama henüz kafada oturmamıştır, CI docker falan da öğretmez okulunuz size. Yani 4 yıllık okulunuz size bu ilanın neredeyse hiçbir şeyini sunmuyor, 4 yılın büyük bölümü temel algoritma, matematik, otomata teorisi vb., bunun üstüne öğrenmeniz gereken veritabanı, nesneye dayalı tasarım kodlama mimari gibi kavramların temelleri, biraz seçmeli ders yani bilgisayar grafiği, yapay zeka, windows sistem programlama gibi 4 sene bitiyor gidiyor, bir birikim falan vermiyor, Aselsan ya da diğer firmalar size okulda öğretilen ama kendi işlerine yaramayacak birikimlerle ilgilenmiyor zaten, senin okulda ben bilgisayar grafiği dersi aldım, oyun kodlayabiliyorum demenin ya da mikrodenetleyici dersini çok severim demenin bu ilana başvuruda hiçbir önemi yok. Ancak eğer mezunsanız ve kariyer hedefiniz db admini olmak ise, iş analisti olmak ise, operasyonel sorumlu olmak ise, front end developer olmak ise vb. vb. kariyer yolculuğunuza başlamanız için gereken temel eğitiminiz var. Bunun üzerine yukarıdaki ilandaki şeyleri öğrenmek, teknolojileri kullanmak, teorik bilgileri pekiştirmek sizin sorumluluğunuzda.

Mühendislik ismi hava olsun diye konmuş. Başka ülkelerde Computer Science fln diye geçiyor. Bu sene 60k ile kapatan bir ünideyim ve herkes kafasına göre takılıyor. Dersler çok üstün körü geçiliyor hele ki en önemli ders veri yapıları ve algoritmalar. İstatistik de baya millet geçsin diye hoca pek sıkmıyor. Ama farklı projelerle uğraşan arkadaşlar var. Savunma sanayii için C++ ve C bilmek önemlidir herhalde. Ben de kendimi C++'ta geliştirmek istiyorum ama okul pek de müsade etmiyor. Kendin çalış, et

Peki sektörde mühendislik ile düz programcılık arasında fark vardır değil mi? Araştırdığım çoğu yer zaten lisans diploması istiyor bunun dışında savunma sanayisinde vs bu 4 yılın getirdiği birikim aktif şekilde kullanılıyordur diye düşünüyorum.

Suç müfredatta ve öğretmenlerde çoğunlukla. Gereksiz şeyler öğretiliyor. Mühendislik sıfatı altında python projeleri yaptırıyorlar çok gülünç. Hiçbir şey katmıyor ve öğrencilerin alayı vizyonsuz yok web developer olacağım yok mobil oyun tasarlayacağım diyorlar ve kendilerine mühendislik sıfatını yakıştırıyorlar.