Bilgisayar Mühendisliği Kazananlara Tavsiyeler
Merhabalar
Bu yazıyı ben 1. sınıfın sonunda kendi üniversitemde üniversiteye yeni başlayacak olanlara yani 1. sınıflara yazmıştım. Daha sonra yazdığım yazıyı 2. sınıfın sonunda tekrar güncelledim. O zamanlar pek ilgi görmese de sonradan en çok okunan yazılarımdan biri oldu. Birçok üniversitede okuyan öğrencilerden hatta ortaokul öğrencilerinden bile soru geldi. Hepsine özenle ve sabırla cevap yazmaya çalıştım. Bu yazıyı sizden gelen sorularla yeniden düzenledim. Bu yazının fazla kişiye ulaşması üzerimdeki yükü arttırmış oldu.
Öncelikle aramıza hoş geldiniz demek istiyorum.
Neden böyle bir yazı?
Bir yazılımcının en önemli görevi kendinden sonra gelenlere ışık tutmasıdır. Bana da ışık tutan, yol gösteren yazılımcılar oldu. Bu usta yazılımcılara hakkımı biraz olsun ödeyebilmek için böyle bir yazı hazırlıyorum. Buradaki yazdıklarım üstadların bana olan tavsiyeleri ve okulda ve iş hayatında kendi tecrübelerimden oluşarak hazırladığım bir yazıdır. Yazdıklarıma katılıp katılmamak sizin bileceğiniz bir konudur. Ben de sizin gibi öğrenciydim ve hedefime ulaşmak için çalışıyorum.
Bu yazıyı 2. sınıfın başlarında yazmış, 3. sınıfta tekrar güncellemiştim. Şimdi ise üniversitede öğrenci değil, yazılım mühendisliği olarak çalışıyorum. Fakat öğrenciliğim halen devam etmekte ve hiç bir zaman bitmeyecek… Çoğunlukla Java teknolojileri ile çalışmaktayım.
Bölüm hakkındaki söylentiler
Geleceğin en parlak mesleklerinden birini seçtiniz buna emin olun. Özellikle çevrenizde bölümünüzü, mesleğinizi sürekli eleştirenler olacaktır. Bunlara kulak asmayın. Bizim meslek konusunda da her kafadan bir ses çıkmaktadır. Bütün bunlar moralinizi bozmasın. Aynı şeyleri ben de yaşadım. Eğer bilgisayar mühendisliği hakkında bilgi sahibi değilseniz mutlaka araştırın öğrenin. Araştırmak ve kendi kendine öğrenmek sahip olmanız gereken bir özelliktir. Araştırmaya burdan başlayabilirsiniz :)
Benim ilk yılımda elektrik-elektronik mühendisliği bölümünden bazı arkadaşlar malesef bu iki bölümü birbiriyle kıyaslamaya kalktı. Bilgisayar mühendisliği, elektrik-elektronik mühendisliğinden ayrılan ve alanı genişleyen bir mühendislik dalı. Ama artık tamamen farklı mühendislik alanıdır. Hatta çok geniş ve alt alanlara ayrılan genel bir mühendislik dalıdır. Bilgisayar, elektronik veya diğer mühendislik dallarının birbirine üstünlüğü vs yoktur. Onların olumsuz eleştirilerini de dikkate almayın. Şunu da unutmayın 4 yıl çok kısa bir zaman. Ne kadar çok kendinizi geliştirirseniz o kadar kazanırsınız.
Haklarınızı ve İmkanlarınızı Öğrenin
Son tavsiyem mutlaka öğrenci olarak haklarınızı öğrenin ve ona göre davranın. Yönetmelikleri dikkatlice okuyun. Öğrenci değişim programlarından, kampüs içinde sahip olduğunuz imkanlardan sonuna kadar kullanın.
Zamanınızı İyi Değerlendirin
Üniversitede bir açıdan uzun bir açıdan kısa bir zamanınız var. 4 yıl az bir zaman değil. İş hayatına başladığınızda zamanınız olağanüstü bir şekilde azalacak hayatınızda farklı sorunlara tek başınıza göğüs germek zorunda kalacaksınız. O yüzden üniversitede zamanınızı iyi değerlendirin. Mutlaka bir hobi edinin. Sadece çalışmak bir süre sonra bu işlerden sıkılmanıza sebep olacak sizi başarısızlığa sürükleyecektir. Yeri gelecek çalışacaksınız yeri gelecek hobinizle uğraşacaksınız yer gelecek sosyal ortamlarda zaman geçireceksiniz. Bunlar bir zincirin halkaları gibidir. O yüzden zamanınızı iyi değerlendirin. Mutlaka bir planınız olsun.
Birçok insan beni sürekli çalıştığımı zamanımı bunun dışında birşeye ayırmadığımı zanneder. Yanılıyorlar :)
Dersler ve Akademisyenler
Yaşadığım durumlardan biri de üst sınıfların göz korkutması oldu. Özellikle hocalar ve dersler hakkında. İnanın bana herşeyi zamanında yaparsanız bu bölümü bitirmek, dersleri geçmek çok zor değil. Kimse gözünüzü kesinlikle korkutmasın. Ama hocalar hakkında ipuçlarını da mutlaka dinleyin :) Ne yapıp edin 1. sınıfta hiç ders bırakmayın. Özellikle 1. sınıf yaşayacağınız dönemler en kolay dönemlerdir. Derslere baktığınızda genel olarak 2 veya hocasına göre 3 zor ders bulunmaktadır. Bunlardan en zoru bence Matematik dersidir. Benim en kolay geçtiğim derslerden biridir aynı zamanda. Matematik dersini geçmek için çok detaylı bütün konuları bilmenize gerek yok. Hepsini öğrenmeye çalışırsanız diğer önemli derslere zaman ayıramayabilirsiniz. Ayrıca 1. sınıfta ortalamanızı yüksek tutmaya çalışın. Bütün dersleri geçmeye çalışın. Eğer ki 1. sınıfta ders bırakırsanız, 2. sınıfta daha fazla yüke sahip olursunuz. Bu da sizin işlerinizi bir hayli zorlaştırır ve okulu uzatmanıza sebep olabilir. Devamsızlık yüzünden dersten kalmamaya dikkat edin. Sonraki sene 2. sınıftan ders alamayabilirsiniz.
İngilizce
Benim en büyük yaptığım hatalardan biri 1. sınıfta yan gelip yatmak oldu. 1. sınıf benim için oldukça kolay geçti. Herşeyin başında İngilizce öğrenmeniz gerekiyor. Bilişim sektörde çalışmak isteyen her aday kesinlikle İngilizce bilmek zorundadır. İngilizce bilmeyen bir kişi çok az kaynağa sahip olur. Gönül isterdi ki buna gerek kalmasın ama malesef yeterince Türkçe kaynak bulunmamaktadır. Kaynakların bir kısmı da ezber üzerine yazılmışlardır. Ayrıca ilerde karşılaşacaksınız ki yazdığınız kodların evrensel olması size çok büyük avantaj sağlayacaktır. Yazılan kodların herkes tarafından anlaşılması sizin başarınızı gösterir. İngilizce yazarsanız hemen hemen bütün yazılımcılar sizin yazdığınız kodu okuyabilir.
İngilizce’nin diğer büyük önemi iletişim gücüdür. Yurtdışındaki yazılımcılarla anlaşmanızın tek yolu İngilizce bilmekten geçiyor.
Algoritma ve Programlama Dersleri
En çok zaman harcamanız gereken ders kesinlikle “Algoritma ve Programlama” dersidir. Hatta bunu ders olarak görmeyin. Öğrenince hayatınızda güzel bir şey kazanacağınıza emin olun. Algoritma öğrenmek yeni başlayan yazılımcı adayları için zordur. Çünkü farklı bir dünya içerisine giriyorsunuz. Aynı zorlukları biz de yaşadık. Şunu da unutmayın. Okulda derse girmek size algoritma öğretmez. Algoritmayı kendiniz öğrenirsiniz. O yüzden okul dışında da mutlaka düzenli olarak algoritmaya zaman ayırın.
Bu derste yapılan en büyük yanlış çoğu konuda olduğu ezber yapmaya çalışmaktır. Mühendisliğin temeli mantığa dayanır. Ezber gözüyle bakarsanız sadece Algoritma değil ilerde karşılaşacağınız dersleri de geçemezsiniz. O yüzden algoritma ve diğer derslerde mantığı öğrenmeye çalışın. Her algoritma çözmenizde bakış açınız ve düşünce yapınız daha da güçlenecektir. Algoritma öğrenmek başlangıçta beyninizi zorlayacaktır. Fakat çalıştıkça öğrenecek, öğrendikçe zevk almaya başlayacaksınız. Ne kadar çok acı çekerseniz o kadar çok öğrenirsiniz. Tadını çıkartın.
Zaten emin olun bir süre sonra herşey daha da kolaylaşacaktır. Hatta bir yerden sonra zevk alacağınızdan eminim. Ayrıca programlama yapmak daha iyi hissetmenize farklı düşünme yetisi kazanmanıza sebep olur. Gelişmiş ülkelerde algoritma ilkokullarda öğretilmektedir. Bizim ülkemizde de seçmeli ders oldu.
Algoritma çözerken başaramayacağınızı düşünebilirsiniz veya bu meslek bana göre değil diyebilirsiniz. Hatta yeterince zeki olmadığınızı bile düşünebilirsiniz. Aklınızda bir sürü soru işareti oluşabilir. Kesinlike buna izin vermeyin. Kesinlikle umutsuzluğa kapılmayın. Tüm insanların zekası aşağı yukarı aynıdır. Bazı insanlar daha hızlı öğrenir. Fakat bir noktadan sonra herşeyi anlamaya başlayacaksınız. O noktadan itibaren hızlı bir şekilde öğrenebilirsiniz.
Acı çektiğiniz zaman öğreniyorsunuz demektir. Acı çekmeden uzman olunamaz! Ayrıca şunu belirteyim ki daha önceden programlama konusunda tecrübesi olan arkadaşlar olacaktır. (Ben de bunlardan biriydim.) Onlar için bu ders gerçekten çok daha kolay olacaktır. Onlara bakıp moralinizi bozmayın. Siz çalışmanıza devam edin.
Meslek Seçimi
Size en güzel tavsiyelerimden bir tanesi kariyer planması yapmanızdır. 4 yıl sonra ne olmak istediğinizi düşünün. Yukarda da bahsettiğim gibi bilgisayar mühendisliği çok geniş bir alandır. Bence bilgisayar mühendisliği bir meslek dalı değil bir çok meslek dalını barındıran genel bir yapıdır. Bölüm ile alakalı meslekleri yazacak olursam; yazılım geliştiriciliği, yazılım mühendisliği, yazılım mimarlığı, sistem yöneticiliği, veritabanı yöneticiliği, akademisyen, proje yöneticisi gibi daha sayamadığım bir sürü meslek dalı vardır. Size düşen bunlardan bir tanesini olabildiğince erken seçmenizdir. Her konuda uzmanlaşmanız imkansız. Bunlardan birini seçip o konuda uzmanlaşmaya çalışmanız gerekmektedir. Aynı zamanda her konuda bilgi sahibi olun. Ayrıca teknoloji olarak da seçeneğiniz fazladır. Bunlardan da bir tanesinde ilerlemeniz size fayda sağlar. Bu arada 1. sınıfta alan seçmek zorunda değilsiniz. İngilizce’nizi ve algoritmanızı geliştirin, derslerinizi gelecek yıl için temizleyin yeter. Bu seçim bazen okul döneminde bazen de işe başladıktan sonra yapılır. Ama bu alanlar hakkında detaylı bilgi sahibi olun. Bu arada bu alanlar okulda seçeceğiniz alanlar değildir. Kariyeriniz için yapacağınız bir seçimdir. Şunu da belirteyim eğer yazılım yapmayı seviyorsanız bu işi ömrünüzün sonuna kadar yapın.
Diploma ve Ortalamanın Önemi
Bir önceki yazımda diploma ve ortalamanın yazılım kariyerindeki durumundan bahsetmiştim. Bu düzenlemede bu konuyu biraz daha detaylı açıklamaya çalışacağım. İlk olarak şunu söyleyeyim. Not ortalamanızın yüksek olması veya diplomanızın olması sizi mühendis yapmaz. Sadece kağıt üzerinde mühendis olmuş olursunuz. Doktorlar ve avukatlara bakarsanız bir tıp mezunu doktor olabilmek için sınava girip belli bir aşamadan geçmesi, yine aynı şekilde hukuk mezunları da avukat stajı yapmaları gerekmektedir. Kağıt üzerinde mühendis olsanız da aslında sadece aday olmuş oluyorsunuz. Biz de staj yapıyoruz vs diyenler, yapılan stajların çoğu verimsiz ve kısa süreli. Bazı okullarda dönem stajları yapılmaya başlandı. Güzel bir gelişme. Fakat yine yeterli olmayabilir. Not ortalaması ve diplomadan önce kendinizi geliştirmeye önem verin.
Diğer bir açıdan bakarsanız diploma ve ortalama iş bulmak açısından önemlidir. Diplomanız kendi kişisel gelişimlerinizle beraber güzel anlamlar kazanacaktır. Büyük firmalar CV’nizi üniversitenizi gördüğünde incelemek istemeyebilir. O yüzden liseli arkadaşlara tavsiyem mutlaka sınavlara iyi çalışın. Bunun dışındaki üniversitelerde okuyan arkadaşlar kendinizi tanıtıp çevre edinmeniz gerekiyor. Bunu da etkinlikler başlığı altında ayrıca anlatacağım. Eğer ki iyi üniversitelerden mezun olmayacaksanız mutlaka ortalamanız 4 üzerinden 3 ün üstünde olsun. Bunu yapmak zor değil. Ayrıca diploma Teknokent bünyesinde bulunan veya arge merkezi olan yerlerde önemi daha büyüktür. Çünkü sigortanızı şirket değil devlet karşılar. Çalıştığınız şirket sizin için sigorta ödemeyeceği için daha fazla maaş verirler. O yüzden okulu mutlaka bitirin.
Etkinlikler ve Kurslar
Öncelikle kesinlikle ücreti yüksek kurslara gidip paranızı harcamayın. O parayı yazılım kitapları veya daha iyi bir eğitime ayırabilirsiniz. Hatta bir çok iyi yazılımcı öğrenciler için çok uygun fiyatlara kurslar açabilmektedir. Kısacası çalışmadan sadece kursa gitmek de çözüm değil. Fakat kursa gidecekseniz lütfen faydalı kurslara para harcayın.
Etkinliklere de mümkün olduğunca katılım gösterin. Yolculuk yapmanız gerekse bile. Son zamanlarda yazılım topluluklarının ve etkinliklerin sayısı artmış durumda. Hatta düzenleyebiliyorsanız kendi üniversitenizde de düzenlemeye çalışın. Size iki güzel etkinlikten bahsedeceğim. İmkanınız varsa mutlaka Linux Yaz Kampı’na katılın. Yaz kampı her yıl yaz aylarında Bolu’da organize ediliyor. Sadece linux konularında değil bir çok teknoloji hakkında kurslar açılmaktadır. Kurslar iki hafta sürmektedir. Düşünsenize iki hafta birileri gelip size ücretsiz ders veriyor. Diğer bir etkinlik de Akademik Bilişim. Yaz kampı kadar uzun sürmese de her yıl düzenli olarak yapılır. Konferans öncesi dört günlük kurslar düzenleniyor. Beni de bu etkinliklerde eğitmen veya öğrenci olarak görebilirsiniz :) Ücretsiz kursların sayısı çok az olsa da birçok seminer ağırlıklı organizasyonlar düzenleniyor. Bu etkinliklere de elinizden geldiğince katılmaya çalışın. Aynı zamanda etkinliklerde güzel bir ortama girip güzel insanlarla tanışma fırsatınız olabilir.
Farabi, Erasmus, Mevlana ve Yatay Geçiş
Öğrenci değişim programları ve yatay geçiş de önemli bir konu. Öncelikle istediğiniz üniversiteye giremediyseniz, yıl sonunda yatay geçiş hakkınız bulunmaktadır. Bunun için üniversitelerin yönetmeliklerini iyi okuyun. Diğer önemli konu ise ders notlarınızı mümkün olduğunca yüksek tutun ve ders bırakmayın.
Erasmus ve Mevlana gibi programlar bir veya iki dönem, başka bir ülkede öğrenim görmenize olanak sağlar. Üstüne burs alırsınız. Zaten İngilizce’niz iyi olacağına göre bu programa da başvurmayı ihmal etmeyin. Benim üniversitede yapmayıp da pişman olduğum tek şey erasmus programından faydalanmamak oldu.
Farabi ise yurt içi öğrenci değişim programıdır. Yine Erasmus da olduğu gibi bir veya iki dönem, başka bir üniversitede öğrenim görmenize imkan sağlar. Ben son sınıfta Gazi Üniversitesi’nde öğrenim görmüştüm. Benim için güzel bir deneyim oldu. Benim zamanımda her ay KYK’nın verdiği bursun 1.5 katı burs veriliyordu. Bunun bir kısmını ders geçme durumunuza göre alabiliyordunuz. Şimdi ise burs miktarını azalttılar. Eğer ki iyi bir üniversitede öğrenci değilseniz mutlaka bu programa başvurun. Üniversiteler İngilizce eğitim veriyorsa ve siz Türkçe eğitim yapan bir üniversitede öğrenciyseniz sizden yeterlilik belgesi isteyebilir veya ayrıca yeterlilik sınavı yapabilir.
Blog (Günlük)
Biz yazılımcı adaylarının internette en çok yaptığı şeylerden biri blog takip etmektir. Uzmanlaşmak istediğimzi alanda uzman olan kişilerin bloglarını sık sık takip edin. Hatta uzman olmasa bile ilgilendiğiniz alanla ilgili siteleri takip edin.
Sadece okumak ile kalmayın. Seviyeniz ne olursa olsun mutlaka bir günlük edinin. Günlük edinmek için herhangi bir para ödemenize bile gerek yok. Ücretsiz servisler aracılığı ile blog edinebilirsiniz. Mutlaka kendi alan adınızı da tescil edin. $10 gibi bir ücret karşılığında kendi alan adınızı alabilirsiniz. Blog konusunda da yardım isterseniz eğer hiç çekinmeden bana e-posta yazabilirsiniz. Blog’unuza yazacağınız yazılar, paylaşımlar sizin kibirlenmenizi önemli ölçüde engelleyecektir. Bana göre kibir bir yazılımcının en büyük düşmanıdır. Sürekli blog tutmanız, öğrendiğiniz bilgileri pekiştirecek hem de mülakatlarda avantaj sağlayacaktır.
Özgür ve Açık Kaynak Teknolojiler
Sahipli yazılımlar hem pahalı hem de çoğunun kaynak kodları kapalıdır. Windows işletim sistemi bu tür yazılımlara örnek gösterilebilir. Özgür ve açık kaynak kodlu yazılımlar bir yazılımcı için çok önemlidir. Özellikle öğrenci olduğumuz için sahipli yazılımlara para vermek yerine korsan bir şekilde kullanıyoruz. Bir yazılımcı olarak yaptığımız en büyük yanlışlardan biridir bence. Özgür yazılımların büyük bir kısmı tamamen ücretsizdir. Ayrıca bu yazılımların kaynağına erişebilirsiniz. Bu tür yazılımları kendinize göre düzenleyip, düzenlediğiniz yazılımları paylaşabilirsiniz. Benim kullandığım bütün teknolojiler, işletim sistemi dahil ücretsiz ve en azından açık kaynak kodlu uygulamalardır.
Size önemli bir tavsiye; Linux’u araştırın, öğrenmeye çalışın. Masaüstünde fazla kullanılmasa da sunucularda %80 gibi büyük bir pazar payına sahiptir. Ayrıca mezun olduğunuzda en az iki işletim sistemini biliyor olursunuz. İlla ki Windows diyorsanız o zaman windows işletim sisteminde özgür ve açık kaynak teknolojiler kullanın. İnanın özgür ve açık kaynak teknolojiler size çok şey katacaktır.
Ekip Halinde Çalışma
Ekip halinde çalışmak çok önemlidir ve farklıdır. Okulunuzda yazılıma ilgi duyan arkadaşlarla mutlaka bir araya gelip birşeyler üretmeye çalışın. En azından yazılım hakkında konuşmanız bile birbirinize güzel şeyler öğretebilir. Ama malesef bazı arkadaşlar kendilerini çok üstün gördüğünden bu kişilerle birşeyler yapmak mümkün değil. Paylaşımcı olmayan kişilerden de kaçınmanızı tavsiye ederim. Ama eğer kafa dengi ve paylaşımcı birilerini bulursanız mutlaka ekip halinde birşeyler yapmaya çalışın. Bu size ekiple çalışma yetisi kazandıracaktır.
Hayatınızın yeni döneminde başarılar dilerim.
Not: Bana soru sormak için buraya yorum olarak yazabilir veya eposta gönderebilirsiniz. Facebook üzerinden lütfen soru göndermeyiniz. Aksi takdirde dikkate almayacağım.
Bu arada önceki sistemde gönderdiğiniz sorulardan genel sorular çıkartıp ayrı bir yazı olarak yayınladım. Soru sormadan önce bu soruları inceleyiniz. Eğer ki sorunuz burada ve soru cevap adresinde yer alıyorsa sorunuzu cevaplamayacağım.
Soru ve cevaplara ulaşmak için tıklayınız.