Yazılım ve Üniversite

11 yıl önce Beyazıt Kölemen tarafından yazılmıştır.-4.291 Okunma

Tercih Dönemimi yaklaştı sanırsam  bilgisayar alanında okuyan yada bilgisayarla ilgili bölüm seçmek isteyen bir çok arkadaşın maillerine toplu cevap verip, kafalarındaki sorulara biraz çözüm üretiyim istedim..

Öncelikle bir çoğunuzun kafasındaki şu soruyu cevaplamak gerek “Yazılımcı mı olmak istiyorsunuz? Yoksa Mühendis olup mu yazılım yapmak istiyorsunuz? Yada abi ben donanım konusunda uzmanlaşmak istiyorum mu” diyorsunuz?

Bu sorulara hemen bir cevap bulalım..

Yazılımcı Olmak

Mühendis olmak ve yazılımcı olmak arasında bir fark olduğunu baştan söylemek gerekir.. Yazılım dediğimiz bugün okullarda öğretilen C Dilleri yada merakla öğrendiğiniz PHP,SQL gibi diller sadece yazmak istiyorsanız ve bir şirkette çalışıp tek bu amaçla hayatınızı devam etmek istiyorsanız size tercihim 2 yada 4 yıllık bilgisayar programcılığı bölümleridir.

Düşünme gereksinimine fazla ihtiyaç duymadan, proje yönetimi  ve mühendisliğin verdiği pratik çözümlere pek ihtiyacınız olmayacaktır. Rahat bir şekilde üniversite okuyup , kısa sürede iş hayatına atılabilirsiniz. Ortalama 1-4 Bin Arası bir maaşla (Belirli bir dilde Senior olarak hitap ettiğimiz iyi derecede bir yazılımcıysanız biraz daha artabilir) çalışabilirsiniz.

Unutmamak gerekir ki öğrendiğiniz bilgiler yüzeysel programlama dilleridir ve temele inmek, büyük bazda projeler üretmek için mühendisliğe biraz yönelmenizde fayda olacaktır.

Mühendis Olmak

İşin içine mühendislik girdiğinde yüksek matematik ve fizik kurallarının girdiğini unutmayalım..  Size bilgisayar programcılığındaki gibi iyi derecede bir kaç programlama dili ve programlar konusunda bilgi öğrenmek yerine size mühendislik ve bilgisayarı öğretirler..

Yani şöyle basit bir mantık kurabilirsiniz.. Bilgisayar Programcılığı size iyi derecede Word kullanmasını öğretebilir ama bilgisayar mühendisliği size kullanımını değil, Word ün çalışma mantığını öğreticektir.

Daha düz bir hesapla şu mantık oluşacaktır.. Bir inşaat yapımındaki ustayla çalışan mühendis arasındaki farktır.. Ve halkımız hep şu tepkiyi gösterir ” İnşaatı yapan ustadır, kaymağını ve parasını yiyen mühendistir” algısı oluşur.. Görünen yüz öyledir ama o işin hesap kitap kısmında, statik yada proje hesaplamalarında mühendisin kağıt üstünde aslında o binayı ayakta tutan incelemelerini görmezler. (Yine ufak bir çelişkiyi giderelim : 5 Katlı bir binayı usta yapabilir tek başına ama 150 katlı bir gökdeleni usta yaptığında ne kadar ayakta durur?)

Olayın özeti kısaca budur.. Programcı ve mühendis arasındaki fark temel olarak bu şekildedir aslında..

—-

Peki mühendislik zor mu?

Bu soruya direk olarak “Evet” cevabını vererek başlamak istiyorum.. Mühendislik yan gelip yatma yeri olarak düşünmeyin sakın.. Eğer amacınız halen “yata yata üniversite bitirip iş hayatına girmekse” bir üstte anlattığım programcılık tam sizin için ideal bir bölüm.

Yine de mühendis olmak istiyorum diyorsanız hadi size biraz genel anlamda bilgisayar-yazılım mühendisliği hakkında bilgi veriyim.

—-

Bilgisayar Mühendisliğine ilk girdiğiniz yıl yani (Hazırlığı geçtikten sonra) 1.Sınıfta sizi bilgisayarla alakalı olmayan bir çok ders bekliyor olacaktır.

Hatta ben size ön bir senelik ders programının linkini veriyim. (Bizim üniversiteden aldığımız ve bir çok üniversitenin ortak olarak kullandığı Bilgisayar Mühendisliği müfredatıdır)

1. Sene yoğun bir matematik – fizik ve ingilizce eğitiminden sonra sadece gördüğünüz bir C yada C++ diliyle “abi ben yazılımcı olacaktım” düşüncenizi güzel bir eziyoruz.. Hatta fibonacci sayıları ne alaka lan diyebilirsiniz.. Ben halen diyorum ama C de çok güzel öğrenirsiniz.

Calculus olarak hitap ettiğimiz eğer türkçe mühendislik okuycaksanız Matematik 1 diye geçen Türev ve İntegrala hoşgeldiniz diyeceksiniz. Durun daha bunun 2.dönemi ve 2.sınıfı var 🙂 . Ek olarak Fizikte lisede gördüğünüz fiziğin çok daha detaylı ve makro derecesiyle tanışmış olacaksınız.

Ve mühendisliğin olmassa olmazı ingilizceyle baya bir haşır neşir olacaksınız.. Unutmadan söylemek gerekir ki mühendislik ingilizce okunur.. Burada da hemen bir düz mantık yürütelim.. Mühendislik = Teknoloji ise Teknoloji hangi dilde en yoğun olarak geliştirilir? İngilizce gibi ( ABD, İngiltere vs vs) universal bir dil mi yoksa türkçe mi? Bu soruya siz yanıt verin hadi. Ana diliniz kadar iyi derecede öğrenmeniz sizin çok faydanıza olacaktır..

Birkaç seçmeli dersle belki giriş düzeyde CSS,XHTML  / Video-Image formatları hakkında bilgi alabilirsiniz. Ha birde bilgisayar mühendisliğine giriş diye bir ders vardır.. Orada da bol bol bilgisayarı tanırsınız.. Ağ Topolojileri, bilgisayarların yapısı konusunda bir sonraki yılların ön bilgilerini az birşey de olsa alırsınız.

2.Seneye geldiğiniz de korkunun ecele faydası yoktur ama en gıcık dersiniz yüksek matematiğin devamı olan diff ve lineer algebra dersleri olacaktır. Yani difransiyel denklemler ve lineer cebir. İstatistik ve Olasılık dersi ise zevklidir ama bir süre sonra size tavlada zar atmaktan soğutucaktır.

Ve yavaştan programlama dünyasına girersiniz. OOP dediğimiz Nesnel Programlama dersiyle, o dersi veren hocanın yazılım bilgisi doğrultusunda nesne yönetimli programlamaya hoşgeldiniz dersiniz. Genellikle C# ve Java üzerinden öğretilen bu dersle kalıtım gibi kavramların biyolojide kalmadığını göreceksiniz 🙂

Ve 2.Sınıfta sizi şöyle güzel bir süpriz beklemektedir.. Elektronik konuları.. İşte burada yazılım mühendisliğiyle bilgisayar mühendisliğinin farkıdır aslında.. Yazılım Müh. bu derslerin yerine daha çok programlama bilgisi edinirken , bilgisayar mühendisliği bilgisayarın “elektronik” bir cihaz olduğunu da anımsatıcaktır.. Korkunuz olmasın dersinize giren tüm bilgisayar mühendisliği hocalarının çoğunluğu zaten elektrik-elektronik mühendisidir.. Ve bu konular yazılım konularını aslında gölgede bırakıcaktır.

Kısaca 2.Sınıfta size bilgisayarın temeli olan 1 ve 0 ları sayısal mantık tasarımı dersleriyle öğretip Devre Analizi ve Elektronik Devreler ile o meşhur bilgisayarcıların hayali olan vadiye ismini veren “Slikonlardan” nefret etmeye başlıyacaksınızdır..Daha anlaşılır şekilde bilgisayar parçalarının nasıl yapıldığını öğrenmeye başlarsınız..

Veritabanı dersinde SQL dillerini (Genellikle MsSQL ve Oracle) öğrenebilirsiniz.. Benim en zevkle dinlediğim dersti sanırsam.. Tüm sınavlarından 100 almak bir tarafa bilgisayar mühendisliğini bitirdiğim de uzmanlaşmak istediğim alan olmuştu hep. Kısaca iyi derecede excel kullanabiliyorsanız bu dersi çözersiniz. (Ders excel değil bu arada 😀 Verilerin tablolamasıyla ilgili)

Veri yapıları gibi bir ders alırsınız.. Mantık olarak verilerin programlarda kullanımı, tasarımı ve başlangıç düzeyde algoritma bilgisine sahip olursunuz.

—-

3 ve 4 Sınıf dersleri genellikle seçmelidir. Hangi alanda uzmanlaşmak istiyorsanız o alanı seçebilirsiniz.

Mikroişlemciler, Algoritma gibi dersleri zorunlu olarak veriyor diye biliyorum tüm üniversiteler.. Mikro da bilgisayarın ilk temel programlama dilleri (Daha açık şekilde bilgisayar dışında başka bir elektronik cihaz tasarlamak için gerekli programlama dili) , Algoritmada ise bir sorunu çözebilmek için hangi yollar izlenmeli bu konuda bir çok bilgiye sahip olabiliyorsunuz.. Algoritma dersi de en eğlenceli derslerden birisidir aslında ilk başlarda içerik itibariyle sıkar ama güncel hayata bakış açınızı değiştiricek bir derstir.. Hatta bilgisayar mühendisliğinin en önemli ve öğrenilmesi gereken dersidir diyebilirim.

—–

Yazılımı seven arkadaşların yukarıdaki dersleri gördükten sonra “abi yazılım yok mu ya hiç” dediklerini duyar gibiyim.. Aslında evet var ama senin öğrendiğin yazılımları orada pek göremezsin.. Ve genelde eski yazılımları öğrenirsin.. Hani piyasaya çıktığında şaşırmaman elde değil.. Bunun nedeni de basit aslında.. Bir profesörün ders anlatması için en azından 8-10 sene bir alanda uzmanlaşması gerekiyor.. Adam tutup Assembly de uzmanlaşırken, öbür taraftan gelişen PIC e yabancı kalıyor ve sen mecburen Assembly nin kurbanı oluyorsun.. Bunu takma kafana bu tüm bölümler için geçerli 🙂

Ama akşam 5 ten sonra istediğin yazılım dilini öğrenebilmek için harika bir zaman dilimin var.. Yani mühendislik sana balık tutmayı öğretirken hangi balığı tutucağına kendin karar veriyorsun..

—-

Balık örneğini programcılık vs mühendislik ilgisinde de kullanabiliriz aslında.. Programcılık balığı pişirmek, mühendislik tutmaktır.

Peki abi bu kadar saçma ders bana ne katıcak?

Bu soruyu sorduysan sen eşittir ben demek güzel kardeşim.. Yıllarca bu soruyu hep merak etmiştim.  Hatta bunu lisede bile dedim ulan salak saçma matris determinant öğreniyoruz, öğretseler ya bize oyun yazmayı diye.. Sonra üniversite 1.sınıfta yine matematik dersinde aynı tepkileri verdim ama Bilgisayar Grafikleri dediğimiz oyunların temeline geldiğimiz de oturup matris determinant öğrendik iyi mi?  O yüzden öğrendiğin bir çok bilgi aslında haberin olmadan kullanıyorsun ve bu senin olaylara bakış açındaki açıyı genişletiyor..

—-

Ee abi buraya kadar halen yazılım öğrenmedik bana mühendislik hiçbir şey katmadı mantığını da çürütelim mi?

Aldığın o kadar dersin sana öğrettiği mantık şudur.. “Kod ezberlenmez , programlama dilinin mantığını öğrenir, 1-2 haftada çözer yazarsın“..

Evet mühendislik sana bu mantığı yerleştirecektir. Ve aslında doğru olanda odur.. Hani bir işe girdiğinde okulda C# öğrendn diyelim, adamlar javayla yazmışlar.. 1-2 Hafta içerisinde adapte olma mantığını yükleyecektir sana. Çünkü balık tutmayı biliyorsun ve hangi balığı tutmak istediğin zevkine kalmış.

Ek olarak fizik ve matematik derslerinin saçma olduğunu halen düşünebilirsin.. Ama gün gelir bir robot yapmak istediğinde sol kolun parmakların oynatmak istediğinde , sol kol ekleminden gelen motora vericeğin komutta fiziğin , matematiğin önemini hatırlatmakta fayda var.

*****

Sonuç:

Kısacası mühendislik istiyorsanız yukarıdaki şartları kaldırıp , kaldıramayacağınızı sorgulayıp öyle karar vermenizdir. ( O değil de bıraksalar tüm 3 seneyi tekrar anlatıcaktım 😀 )

Tabi şu faktörü de unutmayalım. Okuduğunuz bölümün yukarıda bahsettiğim gibi pek bir katkısı olmayabilir. Bu olay tamamen sizde bitiyor..

Önemli olan kısmın tamamen kişisel merakınızla birşeyler öğrenmek ve geliştirmek olduğunu unutmayın..

—-

Hatta şöyle bir örnek veriyim.. 4 Sene Fizik Mühendisliği okudum ve şu an bilgisayar müh son sınıfım.. Şu an şirketimde yazdığım yazılım dilini her iki mühendislikte de görmedim.Hatta görmeyi bırak konusu bile açılmadı sohbet ortamında..

Kısaca.. Neyi yaparken zevk alıyorsan o alanda bir bölüm seç ve bölüm dışında kendini geliştir.

Ve abi yazılımcı olmak istiyorum diye gidip biyoloji okuma ama. O da saçmalık olacaktır 🙂

 

 

, , ,

“Yazılım ve Üniversite” için 3 yanıt

  1. mihraç yılmaz dedi ki:

    lanet olsun bn mühendis olmak istiyodum ama işin içine matematik girdi mühendisliğin fiziklede ne alakası var ve bn daha 14 yaşındayım

  2. Beyazıt abi 15 yaşındayım anlattığın şeyler bana baya bi zor geldi.Fizik dersim zaten kötü.Üniversitede sorun çıkaracak gibi.Ama hedefim sağlam.Konu dışı bir sorum olacak.Yaz tatilinde düzenli bir şekilde c++ dersi alsam.C++ ‘nın ne kadarını öğrenmiş olurum?

  3. Mert Can Eyriyer dedi ki:

    Abi sayısalım iyi olsa mühendislik seçerdim ama sayısalım iyi değil 😀 Yazılımcılığı seçeceğim yüksek ihtimal 🙂

Bir Cevap Yazın