Bilgisayar Mühendisliği, Yazılım Mühendisliği, Bilgisayar Bilimleri ve ilgili bölümlerde lisans derecesi almak, diğer mühendisliklerde de olduğu gibi disiplin, merak, ilgi, istek ve hatta heyecan gerektiriyor.
Güzel haberi hemen verelim: okulda öğrendiklerinizin büyük bir bölümü gerçekten işinize yarayacak! İş dünyası ve okul hayatının bu denli paralel gittiği nadir görülür. Üniversitenin temel rolü, herhangi bir şeyi nasıl öğreneceğinizi, doğru soruları nasıl soracağınızı ve çözüme giderken uygulayacağınız analitik düşünme adımlarını sizlere kazandırmaktan ibaret. Ancak fark yaratmak istiyorsanız, aldığınız formal eğitimin yanında kendinizi geliştirmeniz gereken çokça konu var.
Bilgisayar ya da yazılım mühendisliği öğrencilerine tavsiyeler:
1. Blog Yazın
En önemlisi bu olsa gerek. Hemen şimdi yan tabı açıp kendinize bir blog oluşturun. İleride ne kadar işinize yarayacağını tahmin bile edemezsiniz. Bugün iş görüşmelerine çağırılmadan önce adaya ait bir çok bilgiye internet üzerinden ulaşılabiliyor ki buna ne yazıkki özel hayatımız da dahil. Adınız aratıldığında kişisel blogunuza rastlayan bir işe alım uzmanı elbette sizi farklı değerlendirecektir.
Blogu açmak mesele değil, nasıl yazacağız diye soracak olursanız, hemen bir kaç fikir paylaşalım:
- Teknik bir sorunla karşılaştınız ve çözdünüz diyelim. Hemen nasıl çözdüğünüze dair adım adım ilerleyen kısa da olsa bir metin hazırlayın. Bu sizin de işinize yarayacak. Aradan bir kaç sene geçtikten sonra aynı sorunla karşılaştığınızda açıp bakacağınız bir kaynak oluşturmuş olacaksanız. Üstelik aynı sorunu yaşayan herkes bundan faydalanabilecek ve bu sayede hem sektördeki saygınlığınız, hem de bilinirliğiniz artacak.
- Yeni bir konu öğrendiniz diyelim. Peki gerçekten öğrenebildiniz mi? Bunu anlamanın en iyi yollarından biri konu ile ilgili anlaşılır ve basit bir metin yazmaya çalışmak. Bu hem konuyu daha iyi anlamanızı sağlayacak, hem de yine bu konu üzerinde araştırma yapan herhangi birine rehber olmanızı sağlayacak.
- Yine teknik bir sorunla karşılaştınız ve çözemediniz diyelim. Karşılaştığınız problemin kendisini anlatan bir metin oluşturabilirsiniz. Böylelikle hem probleminize çözümü olan herhangi birinden fikir alma şansınız artar, hem de doğru sorular üzerinden gidip gitmediğinizi kendiniz anlamış olursunuz.
2. Öğrenme ve Paylaşma Platformlarında Aktif Olun
- Stack Overflow tüm geliştiricilerin karşılaştığı problemleri yazıp cevaplar alabildiği ya da başkasının karşılaştığı problemlere çözüm önerileri sunabildiği bir öğrenme/öğretme platformu. Hemen kendinize bir hesap açıp sorular üzerinde göz gezdirmeye başlayın. Bulduğunuz çözümleri paylaşın. Kendi problemlerinizi dünyanın dört bir yanında bu platformda buluşmuş geliştiricilere sorun. Burada aktif bir hesabınız olması çok işinize yarayacak. Sadece bu tip mecralardaki bilinirliği ve oluşturduğu güven sayesinde iş teklifi alan çokça yazılımcı mevcut. Siz de onlardan biri olabilirsiniz. Hem de sadece kendinizi geliştirerek.
- Online eğitim platformu olan udemy’de bir çok dersi ücretsiz alabildiğinizi biliyor musunuz? Bu eğitiminize de katkıda bulunabilir. Bazı sınavlarınıza çalışabileceğiniz ek kaynaklar bulabilirsiniz.
- Bir başka çevrimiçi eğitim platformlarından biri de coursera; coursera çok daha profesyonel, dünyaca bilinen kaliteli okullardan hocaların ders videoları direkt izleyebileceğiniz bir platform. Hatta sertifika bile alabiliyorsunuz. Sadece mezun olduğunuzda değil, şimdiden bu sertifikaları özgeçmişinizde paylaşmak sizi bir adım öne taşıyacaktır. Örneğin, programlama dillerinin prensiplerini bir MIT profesöründen öğrenmek istemez misiniz?
3. Özgür Yazılım’a Destek Verin
Bir çok geliştirici yazılım projelerini github, bitbucket gibi platformlar sayesinde dünya ile paylaşıyor. Sıcacık evinizde, kendi çalışma odanızda, burada paylaşılmış projelerde geliştirme imkanından daha güzel ne olabilir? Üstelik kendiniz de projenizi bu platformlar üzerinden paylaşıp başka geliştiricilerden destek alabilirsiniz. Bu tip platformlar sektördeki hemen her yazılımcının yolunun düştüğü, bir çok işe alım uzmanının hakkınızda fikir edinebilmek için göz gezdirdiği mecralar, unutmayın. Hatta bir adım daha ileriye gidip Linux Kullanıcıları Derneği’ne üye olup gerçekten özgür yazılıma gönül vermiş meslektaşlarınızla tanışmak istemez misiniz?
4. Dinamik Bir Dil Öğrenin
Bir çok bilgisayar/yazılım mühendisi daha çok back-end teknolojilerine, statik programlama dillerine konsantre oluyor. Lisans eğitimi de zaten daha çok bu teknolojilere yönelik. Eğer web tabanlı bir ders almıyorsanız, php, python gibi dinamik davranışları olan dilleri kendi kendinize öğrenmeye bakın. Bu sizin için çok büyük bir avantaj olacak. Ki günümüzde full-stack geliştiricilerin tercih edildiğini de düşünecek olursak, yapacağınız en iyi hareketlerden biri bu olur.
Hazır konusu açılmışken kendinizi front-end teknolojilerinde de geliştirmeniz gerektiğini belirtmeden geçmek olmaz. Basit anlamda HTML, CSS bilginiz olsun. Bunları birilerinden öğrenmeyi beklemeyin. Hatta hemen bir kaynak önerisi de yapalım: w3schools. Burada bir çok konu ile ilgili kendinizi geliştirebilirsiniz.
5. Kendi Web Sitenizi Yapın
Aslında kendi web siteniz olması tamamıyla bahane, asıl amaç öğrendiğiniz ne varsa uygulayabileceğiniz, kendinize ait bir alanınızın olması. Hatta server (sunucu) bile sizin kontrolünüzde olsun. Gerekli programları kendiniz kurun. İşe girdiği ilk gün kurulumlar için sistem ekibinden birilerinin gelmesini beklemeden kendi geliştirme ortamını kurabilen bir yazılımcı olun. Ki bir çok teknoloji firmasında zaten bu kurulumları kendiniz yapmak zorundasınız.
Yaptığınız kurulumları anlatan blog yazıları oluşturun. Böylelikle bir kere kurulumunu yaptığınız ne varsa hep yapabilir hale gelir ve başkalarına da öğretebilirsiniz. Yaptığınız web sitesinde yeni çıkan teknolojileri deneyin. Denemekten korkmayın. Adı üstünde: Yeni teknoloji. Yani geliştirenler hariç, henüz kimse bu işin uzmanı değil zaten. Neden ilk uzmanlardan biri siz olmayasınız ki?
6. Kodlama Mülakatlarına Hazırlıklı Olun
Ünlü teknoloji firmalarının büyük bir bölümünün yazılımcı işe alımında sorduğu sorulardan ve bunların çözümlerinden oluşan kitaplar mevcut. En güzel örneği ‘Cracking The Coding Interview’ kitabı. Microsoft, Amazon, Google, Facebook, Apple, Yahoo gibi firmaların kodlama mülakatlarından oluşan bu kitapta tamı tamına 150 kodlama sorusu ve cevabı mevcut. Sadece bu kitabı bitirmeniz size kodlama mülakatları için dünya çapında bir yaklaşım kazandıracak. Gözünüzde büyüttüğünüz kadar olmadığından emin olun. Bu tip kitaplar sizi okul hayatınızda da bir adım öne taşıyacak.
Neden Google’a başvurmayasanız ki? Google’ın hali hazırda öğrenci olanlar için bile programları mevcut. Bunları muhakkak takip edin ve şansınızı deneyin!
7. Konferans ve Seminerlere Katılın
Sadece oradaki havayı soluyup dönmeniz bile size çok şey katar. İlgilendiğiniz konularla ilgili konferans ve seminerleri, konuşmaları, buluşmaları takip edin. Mümkün olduğunca katılın, sektörden insanlarla bir araya gelin, deneyimlerinizi paylaşın. Ben sadece öğrenciyim, ne paylaşabilirim ki diye düşünmeyin. Verilen eğitim seviyesinin gün geçtikçe yükselmesi kaçınılmaz, emin olun bir çok konuya siz daha çok hakim bile olabilirsiniz. Bunu görmeden, konuşmadan bilemezsiniz.
Size ilham veren bir çok konuşmacı olacaktır, bunlar motivasyonunuz artmasını sağlayacak. Üstelik katılımcı olarak gittiğiniz her türlü seminer ve konferans için blog yazıları oluşturup edindiğiniz deneyimleri paylaşabilirsiniz. Daha önce hiç bakmadığınız perspektiflerden teknik konuları değerlendirebilme imkanı yakalarsınız. Aktif katılımınızla dikkat çekip iş teklifi bile alabileceğiniz ortamlar bunlar. Uzun lafın kısası her şey sizin hayal gücünüze bağlı, neden cesur ve proaktif davranmayasınız ki?
8. Sosyal Becerilerinizi Geliştirin
Sadece bilgisayar, yazılım mühendisleri için değil, tüm mühendisliklerde genel itibariyle oluşmuş algı sosyal becerilerin zayıf olduğu yönünde. Doğrusu bu algının haklılık payı da yok değil. Özellikle bilgisayar/yazılım mühendisliğinde öylesine az ortak çalışma ortamları bulunuyor ki, sosyal anlamda zayıf kalmak kaçınılmaz son gibi görünüyor.
Bütün gün bilgisayarla bakışırken insan sosyal becerilerini ne kadar geliştirebilir ki? Demeyin, çünkü geliştirebilir 🙂 Sosyal becerilerini geliştirmiş bilgisayar/yazılım mühendislerinin bir adım önde olması da çok doğal. Çevik yazılım yöntemleri ile beraber artık yazılımcılar müşterilerle ve ürün sahipleriyle çok daha fazla etkileşim halindeler. Bu yüzden rahat konuşabilmeniz, kendinizi iyi ifade edebilmeniz, empati kurabilmeniz, farklı rollerdeki insanlara teknik konuları basitleştirerek anlatabilmeniz çok önemli. Şimdiden kendinizi alıştırın.
Ben sadece kodumu yazarım, isteneni yaparım diyorsanız, bu söylemi hemen bir kenara bırakın. Çünkü asıl olması gereken üretken ortaklığı desteklemeniz, yapacağınız işi sorgulamanız, yanlış bulduklarınızı söyleyip, önerilerinizi sunabilmeniz, sadece yazılımcı olarak değil, bir birey olarak katkı sağlayabilmeniz. Şimdiden bu bakış açısını kazanmaya bakın. Çünkü iş hayatında işler gerçekten öyle bilgisayara bakmakla, yani sadece kod yazmakla yürümüyor. Mühendislik yaklaşımlarınızdan herkesin faydalanabilmesi için sosyal becerilerinizi şimdiden geliştirmeniz şart gözüyle bakın.
9. Kültürel ve Sosyal Etkinlikleri Kaçırmayın
Evet, tüm bunlar olurken iki konsere gidin, bir tiyatrolara bakın, edebi kitaplar okuyun, gündemi takip edin. İlgilinizi çeken hobi kulüplerine üye olun. Merakınız varsa bir enstrüman çalmaya çalışın, kendinizi kodlara ve sadece teknik dünyaya gömmeyin. Hele ki bir kaç puan daha fazla ortalama yapıcam diye hayatı ve gençliğinizi sakın ama sakın kaçırmayın.
Dışarda sizi bekleyen muhteşem bir dünya var. O dünyada yapacaklarınız, sadece hayal gücünüzle sınırlı. Kendinizi tanıyın, kendinizi keşfedin. Gezin, tozun. Küçük maceralar yaratın, ayağınız toprağa değsin. Yaşadığınızı hissedin, nerede durduğunuzu, kim olduğunuzu, neler istediğinizi ve istemediğinizi bilin. Çünkü her şeyden önce asıl olan siz’siniz. Bir bilgisayar/yazılım mühendisi kolay yetişmiyor, öyle değil mi? 🙂