Ana içeriğe atla

Bilgisayar mühendisliği öğrencilerine tavsiyeler

Üniversite tercihlerinin pek azı gerçekten bilerek, isteyerek yapıldığından öğrencilerin bölümlerini tanımaları, kendilerine bir yön belirlemeleri bazen bir iki yılı bile bulabiliyor. Elbette bir günlük girdisiyle bu sorunu çözmek mümkün değil ama yolun başındaki genç arkadaşlar için bir kaç önerinin faydalı olacağını düşünüyorum. Aşağıda yazanların benim onbeş yıllık tecrübelerim olduğunu, bunları yapmanın iyi geleceği bünyeler olduğu gibi bunları yapmadan da başarılı/mutlu olanlar olabileceğini bilip öyle okumakta fayda var.
  • Üniversite hayatını sadece okuldan ibaret görmeyin. Mezun olduktan sonraki hayatınız da sadece işten ibaret olmayacak. En çok kitap okuduğunuz, müzik dinlediğiniz yıllar üniversite yıllarınız olsun. Üniversitelerde bir sürü öğrenci topluluğu var, ilginizi çeken birine katılın. Beğenmezseniz başkasına katılırsınız. Sosyal faaliyetleri, konserleri küçümsemeyin pişman olursunuz sonra.
  • Lisans eğitimi dört yıl ve bu yeterince uzun bir süre. Üniversiteye gelene kadar bilişimle son kullanıcıdan fazla ilgilenmemiş olmak ciddi bir kayıp sayılmaz.
  • İşin doğrusu bölüm pek kolay değil. Aslında zor da değil ama lise eğitiminde verilenlerden farklı bir düşünce tarzı gerektirdiğinden [13] öğrenciler zorlanıyorlar diye düşünüyorum. İlkokul birinci sınıftan itibaren sonuç bulmaya ve bu sonucu şıklar arasından seçmeye odaklanmış öğrenciler için yöntem üzerinde düşünmek en zor alışılan şey oluyor. Bu aşamayı halledince gerisi daha kolaylaşıyor. Burası en çok üzerinde çalışılması gereken alanların başında geliyor ve elbette lise eğitiminde değiştirilmesi gereken çok şey var.
  • Her bölüm için geçerli olan tavsiye bilgisayar mühendisliği için de geçerli; düzenli çalışmak gerekiyor. Ödevler ve projeler var sürekli. Azıcık savsaklayınca [12] bile ipin ucu kolayca kaçabiliyor.
  • Mezun olacağınız yıl sizinle birlikte 5000'den fazla bilgisayar mühendisi mezun olacak. Başka bölümlerden mezun olmuş ve sizinle aynı işleri yapmaya talip olanların sayısı da bundan aşağı olmayacak. Rekabet sadece yurt içindekilerle de sınırlı değil, aynı iş için dünyanın her tarafından, mesela Hindistan'dan, insanlarla rekabet edeceksiniz. Bunun için bölümde anlatılanların haricinde şeyler biliyor olmanız lazım. Onları mutlaka iyi biliyor olmanız lazım ama zaten neredeyse bütün rakipleriniz biliyor olacak. Aynı işi yapabilecek bu büyük kalabalık içinde bir adım öne çıkabilmek için derslerden fazlasına çalışmanız gerekecek.
  • Öğrenim hayatınız boyunca okuyacağınız kaynakların büyük bir kısmı İngilizce olacak. Sorularınızı yeri gelecek uluslararası listelere/forumlara sormanız gerekecek. Meslek hayatınızda da mutlaka İngilizce iletişim kurabilmeniz gerekecek. Onun için öncelikle İngilizce çalışın [0].
  • Sizin okulunuzda okutulmuyor bile olsa dünyanın dört bir tarafında internet üzerinden ulaşabileceğiniz çevrimiçi kurslara ve eğitimlere katılma fırsatınız var. Bu fırsatları değerlendirin [1].
  • Her dersten en yüksek notu almanız gerekmez ama derslerde başarılı olmanın da bir yere kadar önemi var [6].
  • Okulu bitirdiğinizde hazırladığınız cv'den önce yaptıklarınıza bakacaklar [2]. Bunun için internette yazdığınız herşeyi kendi adınızla yazın. Bu hem yaptıklarınıza bir aramayla ulaşılmasını sağlar, hem de sizi bir saçmalığı yazmadan önce ikinci bir kez düşünmeye teşvik eder. Salak saçma takma isimler kullanmayın. Kendi adınızla yazamadığınız bir şeyi hiç yazmamak iyi fikir olabilir.
  • Adınızı soyadınızı içeren bir alan adı satın alın ve kullanın. 10$'ın altında yıllık ücret ödeyip böyle bir alanı almak mümkün. Daha az kullanılan alan adı uzantılarını yıllık 1$'ın altında bile almak mümkün.
  • Hala bir tane yoksa bir blog adresi alın ve yazın. Çoğunluk başlangıçta günlük girdilerini ansiklopedi gibi düşünüyor. Elbette ipuçlarını, sorunları, çözümleri yazmak faydalı ama sadece bunlarla sınırlı yazmanız gerekmez. Hangi konuda yazmak istiyorsanız yazın, fikirleriniz olduğunu zaten biliyor insanlar.
  • Öğrenim hayatınız boyunca en çok başvuracağınız kaynaklardan biri wikipedia olacaktır. Burada içerik gönüllüler tarafından geliştiriliyor. Siz de bir hesap açın ve mevcut maddeleri iyileştirin, yeni maddeler ekleyin [3].
  • Mutlaka yazılımla ilgili ödevleriniz olacak, takım arkadaşlarınızla birlikte çalışacaksınız. Hem bunlarda kullanmak için hem de kendi projelerinizi barındırmak için bir github hesabı açın. Bu hesabı çok özenli kullanın. Yarım bırakılmış projelerinizle, uydurma gönderim mesajlarınızla[4] bir çöplüğe dönüştürmeyin burasını.
  • Bir transifex[5] hesabı alın ve yazılımların çevirilerine katkıda bulunun. Hepimiz Türkçe içerik az diye şikayetçi olurken bunu arttırmaya çaba göstermemek olmaz. Programların çok büyük kısmı sizin kolaylıkla katı verebileceğiniz durumdalar. İngilizcenizin gelişmesine katkıda bulunacağı gibi yazılımların çevirilerine dört yılda hatırı sayılır katkı vermiş olacaksınız.
  • İlgi alanınızdaki derneklerden, gruplardan birine dahil olun. Başlangıçta ne yapıldığını görürsünüz, zaten ağır bir yükü de olmaz. Ben LKD üyesiyim, tavsiye ederim. Sadece internette örgütlenen gruplar da var, onların da üyesi olmanın, imkan buldukça toplantılarına katılmanın büyük faydasını görürsünüz.
  • Okul dönemleri dışında bir çok eğitim etkinliği oluyor, bunlardan mümkün olduğunca fazlasına katılın. Her yıl ocak sonu, şubat başı gibi düzenlenen Akademik Bilişim Konferansları öncesinde 4 günlük eğitimler oluyor. Yer yıl genişleyen bir yelpazede düzenlenen bu eğitimlerden ücretsiz faydalanma imkanını değerlendirin. Benzer şekilde Türkiyede İnternet Konferansı da aynı sektörde çalışacağınız çokça insanı bir araya getiren bir etkinlik olarak her yıl başka bir şehirde düzenleniyor. Linux Kullanıcıları Derneği her yıl ağustos ayında 15 gün süren bir linux yaz kampı düzenliyor. Kendi alanında yetkin kişilerden ücretsiz ve yoğun bir eğitim almak için harika bir fırsat olduğunu söyleyebilirim.
  • Takviminize uygun olursa mezun olmadan bir kere bilgisayar mühendisliği öğrencileri kongresine katılın. Etkinliğin içeriğinden çok ileride meslektaş olacağınız arkadaşlarla tanışmış olursunuz. Linux Kullanıcıları Derneği ve Bilgi Üniversitesinin birlikte düzenlediği Özgür Yazılım ve Linux Günlerini [15] de mutlaka takviminizde işaretleyin.
  • Henüz tanışmadıysanız özgür yazılım dünyası ile tanışmak size yepyeni ufuklar açacaktır. Bir yazılımın özgür olması onun kullanımının, dağıtılmasının, değiştirilmiş halinin dağıtılmasının özgür olması ve kaynak kodunun da erişilebilir olmasını sağlar. Özgür yazılımlar sayesinde daha önce keşfedilmiş şeyleri yeniden keşfetmek zorunda kalmayacağınız gibi onlara eklemeler yapabilir, hatalarını düzeltebilir yani yazılım ekosisteminin bir parçası olabilirsiniz. Özgür yazılım dünyası sizi memnuniyetle kabul edecektir. Gönüllüler tarafından yürütülen projelere katkı vermeden önce Nasıl Akıllıca Soru Sorulur [7] belgesini okumanın çok faydasını görürsünüz.
  • Google tarafıdan her yıl düzenlenen Summer of Code [8] etkinliği büyük özgür yazılım resminin bir parçası olmanıza imkan veren harika bir fırsattır. Birinci sınıf öğrencisiyken işler o kadar kolay olmayabilir ama bir hedef [9] olarak önünüzde bulunması gerekir diye düşünüyorum. Her yıl ülkemizden de 10-15 kişi kabul ediliyor [10] bu etkinliğe, biri siz olabilirsiniz.
  • Lisans eğitimi bitmeden iki yaz stajı yapmanız gerekecek. Bu stajları meslek hayatını tanımak için bir fırsat olarak görün [14]. Yapmış görünmek için bir yerde staj yapmayın. Bazen staj yapılacak yerin adının fiyakalı göründüğü için seçildiğini görüyorum. Bence adı çok bilinen ama gittiğinizde elinizi hiç bir şeye dokunamayacağınız, size bir şey katmayacak bir yerde staj yapmak hiç de iyi bir fikir olmayacaktır. Staj yerini ayarlama işini son dakikaya bırakmayın. Okulda hiç adı geçmeyen, derslerde anlatılmayan şeyleri staj yaptığınız yerde görmek size farklı bakış açıları kazandıracaktır.
  • Son sınıfta yapacağız bitirme projesini [11] ciddiye alın.
Öğrencilikte hayat çok güzel kıymetini bilin.

Bu blogdaki popüler yayınlar

SHA1'in kırılması ne anlama geliyor?

İnternette güvenlik, gizlilik, bütünlük gibi konular çoğunlukla bizim üzerinde pek düşünmediğimiz ve kullandığımız yazılımlar tarafından halledilen konular arasında yer alıyor. Örneğin internette bankacılık işlemi yaparken bağlandığımız sunucu gerçekten bağlanmak istediğimiz sunucu mu, gönderip aldığımız verileri araya giren birileri ele geçirip ondan bir anlam çıkartabiliyor mu diye düşünmüyoruz. Bu işlemleri tarayıcımız bizim yerimize yapıyor. O da verilerin şifrelenmesi ve sunucuların doğrulanması gibi işlemleri kriptografik protokolleri kullanarak gerçekleştiriyor. Benzer şekilde kullandığınız programlar güncellemeleri indirdikten sonra onların bozulmadan indiğini kontrol etmek için benzer kriptografik araçları arka planda çalıştırıyorlar.

Kriptografinin diğer kullanım alanlarının yanı sıra veri bütünlüğünün kontrol edilmesi de hepimiz için büyük önem taşıyor. Bu işlem için dosya içeriklerini kontrol etmek yerine onların tek yönlü fonksiyonlar kullanılarak özetleri çıkartılıyor ve…

Yerli yazılım, Milli yazılım

Ülkemizin olabildiğince çok konuda dışa bağımlı olmaması hepimizin isteği. Elbette her şeyi yurt içinde üretemeyiz ama eğer bir ürünün yurt dışından kullanılması ülkenin kaynaklarının dışa aktarılması anlamına geliyorsa veya o ürünü geliştirmek için dışa bağımlı oluyorsak onu kendimizin üretmesi anlamlı olacaktır. Ülke menfaatleri açısından bakıldığında bazen dışarıdan daha ucuza alınabilecek bir ürünü yurt içinde üretmek onun sağlayacağı katma değerler göz önüne alındığında daha faydalı olabilir. Güvenlik, gizlilik gibi konuların yanı sıra bir ülke vatandaşı için kullandığı ürünlerin çoğunun kendi ülkesinde üretildiğini bilmek bile önemlidir.

Uzun zamandır özgür yazılımı anlatmaya gittiğim yerlerde 'neden yabancıların yazılımlarını kullanıyoruz da kendimiz yazmıyoruz' sorusuyla karşılaştığımdan bu konuda kısaca yazayım istiyorum. Bu bahsettiğime çok benzer tepkileri Pardus hakkında da sıklıkla duyuyorduk, 'neden milli çekirdek yok, neden kendi ofis paketimizi yazmıyoruz&#…