Cracking the Coding Interview’dan Notlar: Bölüm 2 — Özgeçmiş

Büşra Demirci
6 min readSep 10, 2018

--

Önceki bölüm: Bölüm 1 — Mülakat Süreci

Bir mülakat aslında mülakatın çok öncesinde başlar. Bu sürece geç başlamış olmak sizi endişelendirmesin. Birazdan bahsi geçecek olan adımları olabildiğince yakından takip edin ve hazırlıklı olun.

Doğru Tecrübeyi Edinme

İyi bir özgeçmiş olmadan, mülakat olmaz. Ve güzel tecrübeler olmadan da, iyi özgeçmiş olamaz. Dolayısıyla, bir mülakatın başlayabilmesinin ilk adımı güzel tecrübeler kazanmaktır.

Şu an öğrenci olanlarınız için bunun anlamı şudur:

  • Proje sınıflarına katılın: Kodlama projelerine sahip sınıfları araştırın. Resmi bir işte çalışmaya başlamadan önce, pratik deneyim elde etmenin mükemmel bir yoludur. Proje gerçek dünya ile ne kadar alakalı ise o kadar iyidir.
  • Staj yapın: Okulun ilk zamanlarında gönüllü staj yapmak için elinizden geleni yapın. Bu size mezun olmadan önce bile daha iyi stajlar için kapı açacaktır. En iyi teknoloji şirketlerinin birçoğunun birinci ve ikinci sınıf öğrencileri için tasarlanmış staj programları vardır. Ayrıca girişimlere (startups) de bakabilirsiniz, ki daha esnek olabilirler.
  • Birşeyler başlat: Zamanınızdan ayırarak bir proje gerçekleştirin, “hackathon”lara katılın ve/veya açık kaynaklı bir projeye katkıda bulunun. Ne kadar olduğu önemli değil. Önemli olan kodlama yapıyor oluşunuzdur. Bu sadece teknik becerilerinizi ve pratik deneyiminizi geliştirmekle kalmayacak, girişkenliğinizden şirketler de etkilenecektir.

Öte yandan profesyoneller hayallerindeki şirketlere girmek için doğru tecrübeye sahip olabilirler. Örneğin, bir Google mühendisinin muhtemelen Facebook’a geçmek için yeterli tecrübesi vardır. Ancak, daha az tanınmış bir şirketten büyük bir şirkete geçmeye çalışıyorsanız ya da başka bir rolden geliştirici rolüne geçmek istiyorsanız aşağıdaki tavsiyeler faydalı olacaktır:

  • İş sorumluluklarınızı daha çok kodlamaya kaydırın: Yöneticinize, ayrılmayı düşündüğünüzü belirtmeden, daha büyük kodlama işleri istediğinizi söyleyebilirsiniz. Mümkün olduğunca, bu projelerin amacınıza uygun teknolojileri kullandıklarından emin olmaya çalışın. Özgeçmişinizin büyük kısmını oluşturan bu kodlama projeleri olacaktır.
  • Gecelerinizi ve haftasonlarınızı kullanın: Boş zamanınız varsa bunu bir mobil uygulama, bir web uygulaması veya masaüstü uygulaması yapmak için kullanın. Bu tür projeler yapmak, yeni teknolojilerle deneyim kazanmanın harika bir yoludur ve sizi günümüz şirketlerine daha uygun hale getirir. Bu proje çalışması kesinlikle özgeçmişinizde olmalıdır; eğlence amaçlı proje yapan bir adayı görüşmeci için daha etkileyici yapan çok az şey vardır.

Bunların hepsi, şirketlerin görmek istedikleri iki büyük bilgiyi özetler: akıllı olduğunuz ve kodlayabildiğiniz. Bunu ispatlayabiliyorsanız, mülakatınıza gidebilirsiniz.

Ek olarak, kariyerinizin nereye gitmesini istediğiniz konusunda önceden düşünmelisiniz. İleride yönetim tarafına kaymak istiyorsanız, ve hatta hali hazırda bir geliştirici pozisyonu arıyorsanız bile, liderlik deneyiminizi geliştirmenin yollarını şimdiden bulmalısınız.

İyi Özgeçmiş Yazmak

Özgeçmişinizi tarayanlar, örneğin işe alım uzmanları, görüşmecilerin aradığı şeyleri görmeye çalışırlar. Akıllı olduğunuzu ve kodlayabildiğinizi bilmek isterler. Bu yüzden özgeçmişinizi bu iki şeyi vurgulamak için hazırlamalısınız. Teknik olmayan hobilerinizi teknik yönlerinizi ortaya koyan satırlardan öncesine yerleştirirken iki kere düşünmelisiniz.

Uygun özgeçmiş uzunluğu

ABD’de, 10 yıldan az tecrübeniz varsa kesinlikle bir sayfaya özgeçmiş vermeniz önerilir. Daha tecrübeli adaylar çoğunlukla 1.5–2 sayfa verebilirler.

Uzun bir özgeçmiş yazmadan önce iki kez düşünün. Kısa özgeçmişler genellikle daha etkilidir.

  • İşe alım uzmanları, özgeçmişinize bakmak için yalnızca belirli bir süre (yaklaşık 10 saniye) harcarlar. İçeriği en etkileyici kısımla sınırlarsanız, bunları gördüğünden emin olursunuz. Ek kısımlar eklemek, görmelerini gerçekten istediğiniz kısımların gözden kaçmasına sebep olabilir.
  • Bazı insanlar direkt olarak uzun özgeçmişlerinin okunmamasından dolayı red edilirler. Gerçekten bu sebepten reddedilme riskini göze alır mısınız?

Şu anda çok fazla deneyime sahip olduğunuzu ve hepsini bir veya iki sayfaya sığdıramayacağınızı düşünüyorsanız, yanılıyorsunuz. Uzun özgeçmişler tonlarca tecrübeye sahip olduğunuzu değil, hangisini önceliklendireceğinizi bilmediğinizi gösterir.

Çalışma geçmişi

Özgeçmişiniz, sahip olduğunuz her role ilişkin tüm detayları içermemelidir. Yalnızca ilgili ve sizi daha etkileyici bir aday haline getiren deneyimlerinizi ekleyin.

Güçlü Yanlarınızı Öne Çıkarın

Her bir rol için, başarılarınızı aşağıdaki yaklaşımla yazmaya çalışın: “Y’yi uygulayarak X’i başardım; bu da Z’nin olmasını sağladı”.

Örneğin:

  • “Distributed caching” uygulayarak nesne oluşturma süresini %75 azalttık, ki bu da giriş yapma (login) olma süresini %10 düşürdü.

Yaptığınız her şey bu yaklaşıma uymayabilir, ancak ilke aynıdır: Yaptığınız şeyi, nasıl yaptığınızı ve sonuçlarının ne olduğunu gösterin. Sonuçları bir şekilde ölçülebilir kılmaya çalışmalısınız.

Projeler

Özgeçmişinizdeki projeler bölümünün geliştirilmesi, genellikle kendinizi daha deneyimli olarak sunmanın en iyi yoludur. Bu özellikle üniversite öğrencileri veya yeni mezunlar için geçerlidir.

Projeler kısmında en önemli gördüğünüz maksimum 4 projeniz olmalıdır. Projenin ne olduğunu ve hangi dilleri/teknolojileri kullandığınızı belirtin. Ayrıca, projenin bireysel mi yoksa bir ekip projesi mi olduğunu veya bir kurs için mi yoksa bağımsız olarak mı geliştirildiği gibi ayrıntıları da belirtebilirsiniz. Bu detaylar zorunlu değildir. Bu yüzden, sadece sizi daha iyi göstereceklerse ekleyin. Bağımsız projeler insiyatifi gösterdiği için genellikle kurs projelerine tercih edilir.

Çok fazla proje eklemeyin. Birçok aday önceki projelerinin tümünü ekleme gibi bir hataya düşüyor ve özgeçmişlerini küçük, etkileyici olmayan projelerle darmadağın ediyorlar.

Ne geliştirmelisiniz peki? Dürüst olmak gerekirse, o kadar da önemli değil. Bazı işverenler, açık kaynak projeleri (geniş bir kod tabanına katkıda bulunma deneyimini gösterir), bazıları ise bağımsız projeleri tercih ederler; bir mobil uygulama, bir web uygulaması veya herhangi bir şey. En önemlisi, bir şeyler gerçekleştirmiş olmanızdır.

Programlama Dilleri ve Yazılım

Yazılım

Listelediğiniz yazılımlar konusunda tutucu olun ve şirket için neyin uygun olduğunu anlamaya çalışın. Microsoft Office gibi yazılımlara yer vermeyebilirsiniz. Visual Studio ve Eclipse gibi teknik yazılımları ise öğrenmek o kadar zor olmadığından, en iyi teknoloji şirketlerinin birçoğu bu yazılımları bilmenizi umursamaz bile. Bu yazılımlar özgeçmişinizde yer kapladığından, eklemeden önce tekrar değerlendirmeniz gerekir.

Diller

Çalıştığınız her şeyi listelemeli mi, yoksa listeyi sadece en rahat olduklarınızı içerecek şekilde mi kısaltmalısınız?

Deneyim seviyenizi de ekleyerek kullandığınız dillerin çoğunu listelemek bir alternatiftir. Burada beceri setinizi etkili bir şekilde anlatan her türlü ifadeyi kullanabilirsiniz (uzman / akıcı vb.), şu şekilde:

  • Diller: Java (uzman), C ++ (uzman), JavaScript (kıdemli)

Bazıları belirli bir dil ile sahip oldukları deneyim yılının sayısını belirtir ancak bu gerçekten kafa karıştırıcı olabilir. Java’yı ilk olarak 10 yıl önce öğrendiyseniz ve bu süre zarfında ara ara kullandıysanız, burada kaç yıllık tecrübe yazmalısınız?

Bu nedenle, deneyim yılı, özgeçmiş için zayıf bir metriktir. Ne demek istediğinizi düz yazı ile anlatmak daha iyidir.

Anadili İngilizce Olmayanlar ve Uluslararası Çalışanlar İçin Tavsiye

Bazı şirketler özgeçmişinizi yalnızca bir yazım hatası yüzünden eleyecektir. Lütfen özgeçmişinizi okuyacak, ana dili İngilizce olan en az bir kişi bulun.

Ek olarak, ABD pozisyonları için; yaş, cinsiyet, medeni hal ve uyruk eklemeyin. Bu tür kişisel bilgiler şirketler için yasal sorumluluk yaratacağından hoş karşılanmaz.

Önyargılara Hazırlıklı Olun

Bazı programlama dilleriyle ilişkilendirilmiş önyargılar vardır. Bunlar bazen dilin kendisinden dolayı yaşanırken çoğunlukla dilin kullanıldığı yerler yüzündendir.

Farkında olunması gereken birkaçı:

  • Kurumsal diller: Belli dillerin kendileriyle ilişkili bir damgası vardır ve bunlar genellikle kurumsal (enterprise) geliştirme için kullanılanlardır. Visual Basic (VB) bunun güzel bir örneğidir. Kendinizi VB’de uzman olarak gösteriyorsanız, bu, insanların sizin daha az yetenekli olduğunuzu düşünmelerine neden olabilir. Çünkü VB ile geliştirmeye meyilli olunan uygulamalar çok sofistike değildir. Silikon Vadisi’nde VB kullanan büyük bir isim görmek pek olası değildir.
    Aslında, aynı argüman (daha az güçlü olmasına rağmen) bütün .NET platformu için geçerlidir. Birincil odak alanınız .NET ise ve .NET rolleri için başvurmuyorsanız, farklı bir arka tecrübe altyapısından geldiğinizden, teknik açıdan güçlü olduğunuzu göstermek için daha fazlasını yapmak zorundasınızdır.
  • Çok dil odaklı olmak: Bazı en iyi teknoloji şirketlerinin işe alım görevlileri Java’nın her versiyonunu listeleyen özgeçmişler gördüğünde, adayın yetenekleri hakkında olumsuz varsayımlarda bulunurlar. Birçok çevrede en iyi yazılım mühendislerinin belirli bir dil etrafında kendilerini tanımlamadıklarına dair bir inanç vardır. Bu nedenle, bir adayın bir dilin belirli versiyonlarını bildiğini gösterdiğini gördüklerinde, genelde aday için “aradığımız türde biri değil” yargısına varırlar.
    Bu, bu dili mutlaka özgeçmişinizden çıkarmanız gerektiği anlamına gelmez. Şirketin değerlerini anlamanız gerekir. Bazı şirketler buna değer verir.
  • Sertifikalar: Yazılım mühendisleri için sertifikalar olumlu ya da olumsuz iki türlü de karşılanabilir. Birçok teknoloji ile çalışmış adaylara karşı önyargılı şirketler, sertifikalara karşı da önyargılı olma eğilimindedirler. Bu, bazı durumlarda, aslında bu tür deneyimlerin özgeçmişinizden kaldırılması gerektiği anlamına gelir.
  • Yalnızca bir veya iki dili bilmek: Kodlamaya ne kadar çok zaman harcarsanız, ne kadar çok şey geliştirirseniz, o kadar çok dil ile birlikte çalışma eğilimindesinizdir. Tek bir dile sahip bir özgeçmiş gördüklerindeki varsayımları, pek fazla problem tecrübe etmemiş olduğunuzdur. Yalnızca bir veya iki dil bilen adayların yeni teknolojileri öğrenmekte zorlanacağından endişe ederler veya belirli bir teknolojiye çok fazla bağlı olduklarını veya büyük ihtimalle o iş için en iyi dili kullanmayacağınızı düşünürler.

Bu tavsiye, sadece özgeçmişiniz üzerinde çalışmanıza yardımcı olmak için değil aynı zamanda doğru deneyimi geliştirmenize de yardımcı olmak içindir. Uzmanlığınız C #.NET’de ise, Python ve JavaScript ile bazı projeler geliştirmeyi deneyin. Yalnızca bir veya iki dili biliyorsanız, bazı uygulamaları farklı bir dilde geliştirin.

Mümkün olduğunda, gerçekten çeşitlendirmeye çalışın. Python, Ruby ve JavaScript kümesindeki diller birbirlerine biraz benzer. Python, C ++ ve Java gibi birbirinden daha farklı diller öğrenmeniz daha iyidir.

--

--