Microsoft, Snapchat, Google ve Amazon gibi firmalarda çalışmak isteyenlere öneriler - Yeni bir bakış açısı
Biraz eğlence, biraz deneyim
Microsoft, Snapchat, Google ve Amazon gibi firmalarda çalışmak isteyenlere öneriler
Her geçen hafta bir iki arkadaşın bana ulaşıp aynı soruları sorması üzerine bu yazıyı kaleme almaya karar verdim. Sizlere nasıl oldu da Microsoft’a başvurmaya karar verdiğimi, sürecin nasıl işlediğini ve bu derece büyük bir firmalarda çalışmanın zorluklarından bahsedeceğim.
Biraz küçüklüğümden bahsedeyim…
Hep meraklı bir insan olmuşumdur. Daha bebekliğimden itibaren sahip olduğum şeyleri kırıp içerisine bakmak, nasıl çalıştığını anlamaya çalışmak gibi isteklerim olmuştur. Bir gün babamın çok kaliteli bir oyuncak alıp, hadi bunu da kırda görelim dediğinde, boyumun yarısı kadar olan şeyi zorla koltuğun üzerine çıkarıp, yere fırlattığımı hatırlıyorum. Herkes çocuk olduğum için bir şeyler kırmayı sevdiğimi düşünüyordu fakat benim derdim hep içlerinde ne olduğunu anlamaktı. Şimdiki nesil çok bilemeyebilir ama bizim zamanımızda kasetler vardı şarkı dinlemek için. Bazen saatlerce kaset çaların içinde nasıl döndüklerini nasıl oluyor da her saniye farklı bir müzik çaldığını düşünüp dururdum. Ve bunu yaparken manyetizmadan veya nasıl küçük metal toz parçalarına şekil verip okunacağı hakkında en ufak fikrim yoktu. Bir de hiç unutmuyorum, ilk bilgisayarımın faresini kırıp içerisinde ki topun her dönüşünde nasıl bilgisayardaki bir imlecin hareket ettiğini araştırmıştım. Yıllar geçtikçe hayatımda değişen çok şey oldu ama değişmeyen tek şey merakım oldu. Özellikle teknoloji beni o kadar heyecanlandırıyordu ki, bir gün hayatımızdaki her şeyin teknoloji ile idare edileceğini söylediğimde insanlar şaşırıp kalıyordu. Üniversiteye ilk başladığım zamanlarda Mustafa hocam, “Neden bilgisayar mühendisliğini seçtiniz?” diye sorduğunda, “Çünkü Allah dünyayı yarattı, içini biz tasarlayacağız” dediğimi hatırlıyorum. “Bir bakın etrafınıza, cep telefonları, bankamatikler, uçaklar, arabalar, trafik ışıkları, lambalar, televizyon gördüğünüz her şey aslında bizim 0 ve 1 dediğimiz tamamen elektriğin var ve yok oluşuna dayanıyor. Yer yüzünün yeni nesil yaratıcısı bizleriz“ dediğimde sınıf arkadaşlarımın bana nasıl bir manyak bu çocuk muamelesini hala hatırlıyorum. Kuzenim Ahmet Aydın’ın tanımıyla Bilgisayar ve Elektrik Elektronik mühendisliği; “Çılgın bir adamın elektrik akımına hükmetme macerası“
Tek bir öğüt isterseniz eğer, proje, proje, proje…
Yukarıda anlattıklarımdan da anlayacağınız üzere öğrenmek ve merak insani sivri tutan en önemli şeyler. Ama hedefsiz merak boş yere bir şeyler öğrendiğini hissettirir insana, şevkini kırar. Bu yüzden benim bu hayatta en çok önem verdiğim şeydir proje yapmak. Bir projeye başladığınız anda tüm boş sorular kaybolur. Neden, kim için, ne zaman, niye soruları ortadan kalkar ve sadece nasıl sorusunu sormaya başlarsınız. Üniversite birinci sınıftayken arkadaşlarımın çoğunun verilen ödevleri yapmam için bana para teklif ettiklerini hatırlıyorum. Pek çoğunu kırmadan oturdum ve büyük bir zevkle, teklif ettikleri parayı bile almayarak yaptım. Kendi projem en uzun süreniydi çünkü pek çok yeni şey öğrendim. Diğer projelerse aynı tarzda oyunlar yazmak olduğu için çorap söküğü gibi geldi. Sebepsiz yere oturup satranç oyunu yazası gelmiyor insanın ama birisi rica edince bu size neden oluyor ve daha siz fark etmeden satranç tahtasını nasıl kod ile yapabileceğinizi düşünmeye başlıyorsunuz. Arkadaşlarım hep onlara iyilik yaptığımı düşünüyorlardı fakat ben hem insanları mutlu ederek hem de çok şey öğrenerek en büyük iyiliği kendime yapıyordum.
Arkadaşlar bunu tekrar tekrar söylemeden geçemeyeceğim. Proje yapmayan bir insan asla ve asla ne mühendis olabilir, ne başarılı olabilir. Çoğu tanıdığım insanlar üniversite hocalarından medet umdu, işe girince öğreniriz dediler veya pek çok başka şeylerden ümit kurdular. Ama dürüst olalım sizinle, kimse kaşınızın gözünüzün rengine size bir şey öğretmez. Öğretse bile sizin merakınız olmadan proje yapmadan siz anlayamazsınız zaten. Dünyanın en iyi üniversitesinden mezun olmuş ve ezbere bütün bilgisayar kodlamayı bilen bir insan mı, liseden itibaren çat pat kod yazarak yüzlerce proje bitirmiş birisimi derseniz, sanırım kimin daha iyi proje yürütebileceğini sizde tahmin edersiniz. Sözlerimi yanlış anlayıp üniversiteyi bırakan arkadaşlar olmaz umarım. Çünkü üniversite aslında dünyanın en güzel kitaplarından biri olarak düşünülebilir. İçerisinde her konudan kısa kısa kesitler var ve öğrenmek isteyene öğretebilecekleri sınırsız. Ama bu bilgi öyle sırada oturup öğretmenleri dinleyerek alınabilecek bir bilgi değil. Bunun uğruna projeler yapmanız, gerekirse savaşmanız ve bu bilgiyi vermek istemeyen insanlardan bile zorla almanız gerekiyor.
Büyük firmalara başvuru ve mülakat sistemi nasıl oluyor?
Gel gelelim ben nasıl başvuruda bulundum, nasıl oldu da dünyada binlerce mühendis varken “Merih” ismini duydu bu adamlar. Üniversitenin son yılıydı. En samimi arkadaşlarımdan biri Microsoft’un mühendis aldığını ve başvurmam gerektiğini söyledi. Gerek yok dedim kendimce. Küçük bir firmam vardı ve web tasarım işleri ile güzel bir geçimim vardı. Bunun yanı sıra Adana aşığı idim ve asla başka yerde yaşamayacağımı düşünen biriydim. İki hafta boyunca kavga edip durduk. En sevdiğiniz insanın her gün kafanızı kemirmesi nasıl bir duygu bilen bilir. En sonunda onun ısrarı ile başvurdum. Nasıl mı? Microsoft’un websitesine gittim ve kariyer linkini buldum. Başvur butonuna tıkladım. Bu kadar basit arkadaşlar. Pek çok kişi beni ne yapsınlar derken ben gidip bu butona tıkladım. Ve de çok geçmeden benimle iletişime geçtiler.
Teknoloji firmalarının işe alım süreci genelde bir ön telefon görüşmesi, ihtiyaca göre bir veya iki ayrı internet üzerinden kod yazma görüşmesi ve de sonrasında 4 veya 5 saatlik her saati ayrı bir mühendis ile bir sorunu çözecek kod yazmanız şeklindedir.
Telefon görüşmesinde çok garip sorular sordular bana. Örneğin odamda olsan ve elindeki tüm teknolojik aletleri alsam, dışarının sıcaklığını nasıl söylerdin dediğinde “Camdan dışarı bakardım, zaten iki dakika önce o havada yürüyüp odanıza gelmedim mi, neden bilmeyim ki” gibi saçma cevaplar verdiğimi hatırlıyorum. Burada öğrenilmeye çalışılan şey analitik düşünebilme, sorulan sorulara nasıl yaklaştığınızdır. Doğru veya yanlış bir cevap yoktur. Genelde biraz düşünebilen herkes bu aşamayı geçer 🙂
Bu görüşmeden sonra iki saat kod yazma aşamasını geçerek beni Dubai’ye davet ettiler. Maddi olarak öğrenci oluşum ve Microsoft’u çok istemediğim için kusura bakmayın sizin için Dubai’ye gelemem dediğimde, her şeyi biz karşılıyoruz dediler. Evet buda teknoloji firmalarının standart prosedürüdür. İlk aşamayı geçen insanlar genelde başka bir şehre getirilir ve uçak biletinden vizesine, otelinden yediği yemeğe kadar karşılarlar. Siz ne kadar beni ne yapsın ki koca Microsoft deseniz de, büyük firmalar için gerçekten başarılı insan bulmak çok zordur. O yüzden dünyanın her köşesinden ilgilendikleri kişileri özenle toparlarlar. Bugüne kadar mülakat için gerek Londra gerek Zürih gerekse Dubai’ye hep firmaların sayesinde ücretsiz olarak gittim ve gitmişken gezme fırsatını da elde ettim.
Lafı uzatmazsak işlemleri halledip Dubai’ye gittim. İlk defa ülke dışına çıkışımdı, İngilizcem o kadar iyi değildi ve gece 1 civarı ulaşmıştım otelime. Çok uyuyamadan sabah 6 oldu ve kalktım sınav yerine gittim sonra kaybolmayayım diye. Tek sorun sınavın öğlen 1’de başlamasıydı. Saatlerce oturup oradaki oyunlarla oynadım, etrafı gezdim durdum. Sonuç olarak sınav başladı, Benim o zamanlar çok saçma bir inancım vardı. Microsoft iyi mühendisleri masa başı tutup çalıştırıp, kötüleri sınav yapmaya yollar zannediyordum. İlk üç saat gayet iyi bir şekilde geçti. Hatta bazı sorulara ya bu kadar kolay sormanıza gerek yok dediğimi hatırlıyorum. Ama bir yandan uykusuzluk, bir yandan açlık bastırınca son görüşmede açlıktan daha fazla dayanamıyorum dedim. Sadece çikolatamız var deyip biraz çikolata getirdiler. Ağzımın için yapış yapış sorduğu sorulara cevap vermeye uğraşıyordum. En son dayanamayıp benim çok uykum var biraz uyuyacağım dedim. Adam şaşkına dönmüştü. Siz soru sormaya devam edin ben cevaplarım dedim. Başımı ellerimin üzerine koyup biraz gözlerimi dinlendirdim. Sonra sorduğu soruları başımı kaldırıp cevap verip tekrar gözlerimi dinlendiriyordum.
Sınavdan çıkıp uçağıma geldim ve Türkiye’ye geri döndüm. Kesinlikle işe alınmayacağımı düşünürken ertesi günü iş teklifi yolladılar. Evet arkadaşlar sizin gözünüzde yere göğe sığdıramadığınız, dünyanın en zekilerini aldığını düşündüğünüz Microsoft gibi bir firmaya, yarım yamalak uykuyla girmeyi başardım. Bunun tek nedeni ise yaptığım projeler. Hayatımda o kadar çok proje yaptım ki bana soru sordukları zaman, oturup çözüme ulaştırabiliyordum. Daha önce duymadığım soruları bile tartışıp düşünebildiğimi, anlayabildiğimi gösterebiliyordum. Çünkü sınav esnasında biz mühendislerin soruyu çözüp çözmemesini bile çok umursamıyoruz. Eğer iletişim becerisi var ise, doğru yönde ilerliyorsa, kendini iyi açıklıyorsa ve birazcık zeki ise tamamdır. Çünkü hacker filmlerinde ne kadar kendini garaja kilitleyen insanlar olarak gösterilsek de gerçek hayat hiç öyle değil. Özellikle Snapchat, Microsoft, Google gibi büyük firmalarda binlerce mühendis çalışıyor. Ve de bizi en çok zorlayan kesim hiç bir zaman kod yazmak olmuyor. Hatta bazen haftamız o kadar çok toplantı ile dolu oluyor ki bırakında kod yazalım diye yalvardığımız oluyor 🙂
Bu firmaların başvuranlardan beklentileri neler?
Büyük şirketlerin beklentilerine gelecek olursak size birazda ondan bahsedeyim. Yukarıda özetledim ama benim ilk başladığım takım Bing takımıydı. Sadece benim şefimin altında 10’a yakın kişi, şefimin şefinin altında 70’e yakın kişi çalışıyordu. Ve bu sadece küçük bir takımdı. Bing için binlerce mühendis çalışıyor ve her gün başka birileriyle ortak proje yapmak zorunda kalabiliyorsunuz. Dolayısıyla ne kadar iyi kod yazdığınızdan ziyade aşağıda yazacaklarım çok daha ön plana çıkıyor:
Kendini ne kadar iyi anlatabiliyorsun?
Bu en önemli özelliklerden birisi. Aklınıza bir fikir geldi diyelim, geliştirmek istiyorsunuz. Kendinizi eve kapatsanız belki dört günde geliştirilebilecek bir kod. Ama işler o kadar kolay yürümüyor. Sizin yapacağınız en ufak bir hata firmayı milyonlarca dolar zarara sokabilir. Bu yüzden fikrinizi çok iyi bir şekilde tasarlayıp, çevrenizdeki arkadaşlarınızla üstünden geçmeniz lazım. Bu daha ilk aşama. Sonrasında design review dediğimiz bir tasarım yapıp, onu bir dokümanda iyice açıklayıp, pek çok insanın olduğu toplantılara girip, bu projeyi neden yaptığınızı, beklentilerinizin ne olduğunu, neden böyle yapılması gerektiğini tartışıyorsunuz. Ve de filmlerdeki artist avukat olmuyorsunuz kesinlikle. Gayet zeki 20 insanın sizi sorularıyla köşeye sıkıştırıp durduğunu düşünün. Bunu tabi ki sizi bozmak yada incitmek için yapmıyorlar. Tek amaçları her şeyi baştan sona düşünüp, yarın çok büyük bir soruna sebep olmayacağınızdan emin olmak. Design review bittikten sonra kod yazmaya başlıyorsunuz ama aynı şekilde yazdığınız her kod başkaları tarafından okunup, yorumlar yapılıyor. Amaç yine aynı, yapılabilecek en iyisini yaptığınızdan emin olmak. Dolayısıyla kendini iyi ifade edemeyen bir mühendis, sizden on kat daha zeki ise bile, sizden on kat daha az is yapıyor.
İletişim becerilerin ne kadar kuvvetli?
Bir önceki ile benzer bir konu ama diyelim kendinizi anlattınız ve insanları ikna edip kod yazmaya başladınız. Peki yüzlerce hatta binlerce diğer mühendis bunu nerden bilecekler. Şuan ki proje durumu nedir, sizin kodunuzu kullanabilirler mi kullanamazlar mı? Gün içerisinde onlarca mail atıp projeyle ilgilenen herkesi sizinle aynı sayfada tutmanız gerekiyor. Ve de bir mail atmak kolay gibi gelse de kulağa, düşündüğünüzden çok daha fazla zaman ve özen gerektiriyor.
Temel veri tipleri(Data Structures) ve Algoritma bilgisi
İster yeni üniversite mezunu olun, isterseniz uzman bilgisayar mühendisi olun yapılan kodlama sınavlarında sorular aşağı yukarı aynıdır. Ve de amaçladıkları şey basittir. Kodlamanın temellerini ne kadar iyi biliyorsunuz. Bilgisayar dünyası derya deniz ve de bir saatte bunun 1%ini bile sorgulayamayız ne yazık ki. Zaten sorgulamamızda çok gerekmez çünkü bizim mühendislerden beklentimiz her şeyi bilmesi değil, bilmediği şeyleri hızlı bir şekilde öğrenebilmesi. Bir istisna dışında. Temel algoritma ve veri tipleri. Bunları kendine mühendisim diyen herkesin bilmesi gerekli. Neden diyecek olursanız çünkü tüm komplike veri tipleri ve kodlama algoritmaları bunların üzerine kurulu. Bir iki örnek verecek olursak;
Veri tipleri; Array, Linked list, Tree ve çeşitleri (Binary tree, binary search tree, B-Tree vb.), Stack, Queue, Hash map vb.
Algoritlar ise; Arama algoritmaları (Depth first, breath first search), String işlemleri, Stack’e ekleme çıkarma yapma, Queue’ya ekleme çıkarma yapma, Hash Map’in elle geliştirilmesi ve ekleme çıkarma yapma vb.
Bu firmalardaki maaşlar nasıl değişiyor?
Arkadaşlar maaşlar büyük oranda değişiklik göstermekte. Her firma için, her pozisyon için, her şehirdeki ofisleri için vede ne kadar iyi pazarlık ettiğine göre her mühendis için farklılık gösteriyor. Güncel maaş bilgileri glassdoor ve benzeri sitelerden kolaylıkla bulunabilir. “Microsoft Software Engineer Salary in Seattle“ araması güncel bilgileri döndürecektir. Unutmayın ki Amerika’da aldığınız paranın neredeyse yarısı vergilere gidecek. Örneğin yıllık maaşınız $130,000 ise, 25% gelir vergisi + 6% sosyal güvenlik + %2 medicare + 10% eyalet vergisi derken yıllık$74,100 yani aylık $6175 gibi bir geliriniz olacak. Türkiye’ye kıyaslayarak çok yüksek görünse de Amerika’da ki yaşam standartlarını göz önüne almayı unutmayın. Ne kadar pahalı olabilir ki derseniz eğer benim düştüğüm hataya düşüp iki üç katıdır diye düşünmeyin. Zamanında Adana’da ev kiraları aylık 600₺ olduğu için en fazla 1000₺ veya 2000₺ olsun diye düşünerek gelmiştim. Los Angeles bölgesinde stüdyo için (Evet mutfak, yatak ve oturma odasının hepsi aynı oda) $2100 yani 7350₺ ödüyorum şu an. Market ve geri kalan tüm harcamalarda aynı oranda pahalı fakat ev kirası dışında insanı bu kadar sarsmıyorlar.
Sınavlara nasıl çalışılmalı?
Arkadaşlar sınava en güzel çalışma şekli yıllarca hiç durmadan proje yapmak. Ama bunun üzerine bugünlerde çokça yaygın olan kodlama sınavlarına hazırlık kitapları da çok faydalı. Bazı insanlar bu soruların cevaplarını ezberleyerek sınavlardan geçiyorlar. Bu tarz bir yaklaşımı kesinlikle tavsiye etmiyorum ve de hatta yapmamanızı ısrar ederim. Çünkü sınav sadece işin başlangıcı. Eğer işe alınır ve de kodlama yapamazsanız atılmanız çok zaman almaz ve de tüm uğraşınız boşa gider. Bunun yerine bol bol soruları çözüp öğrenmek en güzeli. Şu aralar piyasadaki en popüler kitap “Cracking the code interview“. Mülakatı yapanlar bile bu kitaptan çalıştıkları için pek çok sorunun aynısına sınavlarda denk gelmek mümkün. Benim tavsiyem ise bu ve bunun gibi iki üç ayrı kitaptaki soruları kendi uğraşınız ile çözün ve de sınava hazır olacaksınız.
Sınavda nasıl bir tutum izlenmeli?
Yukarıdaki her şeyi hallettiğiniz varsayar ve de kodlamada sorununuzun olmadığını düşünürsek geriye kalan tek şey arkanıza güzelce yaslanmanız, güzel bir gülümseme takınmanız ve de arkadaşlarınızla nasıl konuşuyorsanız mülakatta da böyle konuşmanız. Stres ile zor olabiliyor bunu başarmak fakat arkadaşlar unutmayın ki sizi sınava alan insanlar üniversitedeki sınavlarınızdan çok daha farklı beklentiler içerisindeler. Üniversitede sınavların amacı verilen bilgiyi öğrenip öğrenmediğinizi ölçmek. Bizim önemsediğimiz şey ise beraber çalışacak insanları işe almak. Yani asıl amacımız sizi zorlayıp kırmak değil, yarın zor bir problemi beraber çözmek istersek neler olacağını görmeye çalışmak. Şu ana kadar kendim sınav yaptığım bir kaç kişi ile çalışma fırsatım oldu ve de işe aldığımıza bir kez daha mutlu oldum. Unutmayın ki sınav işin ilk kısmı. Sınavı geçer geçmez belki de tam yanımızdaki masaya oturacak ve tüm gün beraber şakalaşacak, beraber kod yazacak, bizim kodumuzu gözden geçirmenizi isteyecek ve de akşam beraber bir şeyler içmeye gideceğiz. O yüzden daha öncede dediğim gibi garajında yıllarınız harcamış hackerlar yerine, hoş sohbet, yardım etmeyi seven, kodlamada kendini geliştirmiş, arkadaş canlısı olmanız her şeyden önemli.
Bu yukarıdaki anlattıklarım tamamen benim endüstride geçirdiğim 6 yıllık deneyimlerime dayanıyorlar. Hiçbir kurum yada kuruluştan onay alınarak yazılmamıştır. Dolayısıyla okuyup fikir edinmenizi dilerim ama her zaman olduğu gibi mutlak doğru olarak kesinlikle kabul etmeyin. Her zaman sorularınız için benimle iletişime geçebilirsiniz. Ama sizden tek ricam bir soru sormadan önce ön araştırmayı yapmanız. Çünkü eğer siz üzerinize düşeni yapar ve de bulamadığınız bilgileri sorarsanız ikimizde bir şeyler öğrenmiş oluruz. Ama eğer hiçbir araştırma yapmadan saçma sorular sorarsanız sizi zaman kaybından başka bir şey olarak görmez hiç kimse ve de muhtemelen cevap alamazsınız. Kimse kusura bakmasın ama bu hayatta kimsenin boş insanı doldurmaya gücü yetmez. Size de tavsiyem arkadaşlarınız bir soru sorarsa önce neresini araştırdın diye sorgulamanız. Hepinize başarılar ve de hayatınızın çok güzel geçmesini dilekleriyle.
One Response to “Microsoft, Snapchat, Google ve Amazon gibi firmalarda çalışmak isteyenlere öneriler”
Ağustos 23, 2017, 10:37 pm
Oldukça açıklayıcı ve başarılı bir yazı olmuş açıkcası beni oldukça heveslendirdi 🙂
© 2019 Yeni bir bakış açısı