42 Yazılım Okulu

Bilge Demirkaya
5 min readApr 3, 2021

--

2019'dan beri öğrencisi olduğum 42 ile ilgili çok soru alıyorum. Yakin zamanda, Türkiye’de de 42 okulu açılacağını öğrendim. Merak edenler için biraz okulu anlatmak istiyorum.

Öncelikle 42 Paris, Fransada bir kaç milyarderin, kar amacı gütmeden tamamen ücretsiz olarak kurduğu bir okuldur. İlk başta Fransadaki iyi yazilimci açığını doldurmak için ortaya çıkmıştır. Daha sonra finansal desteklerle bir çok ülkede 42 Yazılım okulu açılmıştır ve aslında yeni bir okul tipine de öncülük etmektedir. Çünkü 42 tamamen ücretsizdir, Silicon Valley kampüsü gibi bir çok kampüsünde ayrıca yurtlar da ücretsizdir. (Amerika için devrimsel bir durum diyebilirim.) 42nin çok popülerleşmesi ile beraber, müfredatı ve eğitim şekli ile aynı tarzda Hive, 24 gibi bir çok yazılım okulu da değişik ülkelerde açılmıştır.

Genellikle sayisiz Macbook dolu cool bir calisma ortamlari var

Ben kişisel olarak 42yi çok sevmeme rağmen, bu okulun herkes için olmayabileceğinin kanısındayım. Eğer okula başvurmayı düşünüyorsanız, bu kısımları kendiniz için iyi değerlendirmeniz gerektiğini düşünüyorum.

42 sadece yazılım mühendisliği eğitimi verir. Hiç bir kadrolu öğretmeni yoktur. 42 aslında size nasıl öğreneceğinizi öğretmeyi hedefler ve gerisini size bırakır. Okul müfredatı içinde, bilgilendirici video kayıtlı dersler ve çok sayıda seminer olmasına rağmen, herhangi bir ders verilmez. Okula başvurmak için, yapılan ufak bir online test dışında herhangi bir ön koşul aranmaz, daha öncesinde yazılım bilmeniz beklenmez. Test ise gayet basit bir yazılım direktifi oyunudur ve istediğiniz kadar tekrarlayabilirsiniz. Başvurduktan sonra 1 aylık bir seçim sürecini başarı ile tamamlarsanız okula kabul edilmiş olursunuz.

Level 0 ile okula başlarsınız, müfredat boyunca bitirdiğiniz yazılım projeleriyle ve geçtiğiniz sınavlarla beraber level seviyeniz artar. Aslında normal üniversite eğitiminde 2 level 1 öğretim yılına denk gelmekte. 42 Pariste level 8e ulaşıldıgında lisans, level 10a ulaşıldığında master derecesi alırsınız. Ancak benim bildiğim kadarıyla, Fransa dışındaki 42 okulları devlet tarafından resmi olarak akredite olmadığı için resmi bir diploma verilmez. Özellikle Türkiyede diplomaya farklı bir anlam yüklendiği için bu durum herkese uygun gelmeyebilir.

Okul uzaktan eğitim imkanı sağlamaz ve yine ülkeye bağlı olmakla beraber okul labaratuvarında geçirmenız gereken belirli bir devam mecburiyeti var. Eğer belirli bir gün sayısı boyunca hiç proje bitirmezseniz (buna black hole diyoruz ) okulla ilişiğiniz kesilmiş olur.

Okulun resimdeki gibi bir müfredat çizgisi var, grup ya da bireysel projeler ve sınavları bitirdikçe genişleyerek açılan projeleri takip etmeniz gerekmekte.

Bir çok kampüste belirli bir levele ulaşana kadar sadece C yazılım dili kullanılır. Ve bir çok C fonksiyonu kullanmak da yasaktır. Projeleri özellikle zor yapan kısım da bu fonksiyonları en bastan sizin yazmanızı beklemeleridir. 42nin en çok eleştirildiği noktalardan birisi de sadece C dili kullanılması. Bunun da sebebi güncel kullanılan teknolojilerden uzak olması ve sadece C dilinin genellikle bir iş için yeterli olmaması. Ancak 42 sizi işe hazırlayan bir bootcamp değildir. Tam tersi yaklaşık 3 yıl süren yoğun bir yazılım mühendisliği eğitimidir. Size kendi kendinize öğrenmeyi ve sağlam bir muhendislik temeli vermeyi hedefler.

Belli bir levele geldikten sonra ise öğrenci hangi alanda yoğunlaşmak istediğini seçip o kısımın projeleri ile devam eder (Son halka). Alacagınız projeler seçtiğiniz alana ve yazılım diline göre değişir. Bunun haricinde bütün projeler için norminette adı verilen style pattern vardır ve bunu takip etmeden yazılmış hiç bir proje değerlendirmeye alınmaz.

Bir proje tamamlandığı zaman, evaluation dediğimiz bir süreç başlar. Bir projenin 3 ayrı 42 öğrencisi tarafından 2 gün içinde onaylanması gerekir. Yani öğrenci, 3 ayrı defa -kimden alacagini bilmeden- değerlendirme randevusu alır. Yaklaşık 30dk sürer, projeyi ve orada neyi neden kullandığını anlatır. Evaluation yapan kişi kod için test yazmaktan ve öğrencinin kopya çekip çekmediğini, projeyi anlayarak yapıp yapmadığını kontrol etmekten sorumludur. Eğer 3 kişiden 1si projeyi onaylamazsa, öğrenci projeden kalır. 3ü de onaylarsa, bir kez de sistem ( Moulinette) yazılan kodu test eder. Moulinette de onayladığı takdirde proje başarı ile tamamlanmış olur.

Evaluation yapan öğrenci 1 eval puanı kazanmakta, yaptıran öğrenci ise 1 tane kaybetmektedir. Yani sürecin devamı için her öğrenci aynı zamanda başkalarını kontrol etmelidir. Bu durum öğrencilerin code review becerilerini geliştirir, iyi ve kötü kodu birbirinden ayırmak için bu çok önemlidir. Aynı zamanda diğer öğrenciye kodunu savunmayı öğretir. Kodu kontrol eden kişi de aşağı yukarı sizinle aynı seviyede olacagı için, size yanlış bir öneride bulunsa bile, siz ona ‘ ben bunu bu şekilde şuradan öğrendim, bu bu sebepten dolayı da verdiğin bu öneri yanlış’ diyebilmelisiniz. Takıldıgınız zamanlar ise bocal dediğimiz, 42 gorevlilerine danışabilirsiniz. Bu ‘peer to peer’ dedigimiz öğrenme şekli herkese uygun olmayabilir. Başka bir platformda aynı seviyede olduğum bir kişiye öneri verdiğim için eleştirilmiştim örneğin. Eğer yanlış düşünüyorsam, onu da yanlış yönlendirebilirim sebebi ile. Ancak 42 kültüründe bu durumun tam tersi geçerlidir.

Okulun en sevdiğim özelliklerinden birisi de, zor ve yoğun bir müfredatı olmasına karşın, özgürce hareket edebilmenize olanak sağlaması. Bir projeyi istediğiniz zamanda tamamlayabilirsiniz, eğer kısa sürede üst üste 2–3 proje tamamlarsanız, aylarca kendi işinize de bakabilirsiniz örneğin. Çünkü bir proje tamamladığında, black hole dediğimiz gün sayısına belli sayıda gün eklenir. Örnek vermek gerekirse, okula ilk başladığımda 50 günüm vardı black hole’a girmemek için. İlk projemi tamamladığımda 30 gün eklenerek 80'e çıkmıştı. Bunun dışında toplamda 180 günlük olmak üzere, 3 kere okulu dondurma hakkınız var.

Sınavlar kesinlikle kampüs labaratuvarında gerçekleşir. Sınavda belirli bir sürede, rastgele gelen soruları cevaplamanız beklenmektedir. Genellikle projelerdekine benzer, daha kısa sürede cevaplayabileceğiniz sorular sorulur. C dilinde leetcode, codewars soruları gibi de düşünebilirsiniz. Sınav sırasında ayrıca kendiniz kodu test etmelisiniz. Kaldığınız zaman istediğiniz kadar tekrarlayabilirsiniz. Tek zorunluluk black hole süreniz dolmadan tamamlamış olmanız.

1i startupta olmak üzere 2 zorunlu stajı vardır. Fransa kampüsünde level 8den sonra sizi şirketlerle birebir görüştüren ve staj ya da iş bulmanıza yardımcı olacak bir sistemleri var. Ancak okuldan okula değişiyor diye biliyorum.

Transferlerle ilgili çok bilgim olmadığı için bu konuda kesin bir şey söyleyemiyorum. Ancak bildiğim kadarıyla Level 10dan sonra herhangi bir ülkedeki herhangi bir 42 okuluna transferinizi isteyebiliyorsunuz. Ben Covid-19 dolayısıyla 42 Silicon Valley kampüsünden Paris kampüsüne kolaylıkla transfer oldum.

Okulun 42 networku çok gelişmiş bir yapıda, bir çok konuda ( örneğin kendi startupınızı kurmak istiyorsanız, ya da bir 42 startupında iş deneyimi edinmek istiyorsanız) çok gelişmiş bir öğrenci ve mezun ağları var. Sürekli önemli kurum ve kişilerle etkinlik düzenleyerek yeni fırsatlara kolayca erişmenizi sağlıyorlar. Bütün 42 kampusleri ve sadece kampüse özel olmak üzere bir çok slack kanalından herkese kolayca ulaşabiliyorsunuz.

Son olarak, okul özellikle Fransada çok saygın bir konumda ve 42 öğrencileri genellikle unıcorn dediğimiz startup şirketlerde çalışma imkanı buluyor. Bir çok arkadaşım şimdiden Apple, Facebook gibi şirketlerde çalışıyor. Bu yüzden okula talep de git gide artmakta. Ben kişisel olarak, öğrenime çok faydalı olduğunu düşünüyorum ve eğer yazdığım kısımlar sizi rahatsız etmediyse en azından okul size göre mi diye test etmenizi tavsiye ederim. Zaten 1 aylık giriş sürecinde okulun yapısının size uyup uymadığını anlayabilirsiniz. Eğer kendi kendine öğrenmek size zor geliyorsa ve özellikle bir öğretmen direktifine ihtiyaç duyuyorsanız çok da memnun kalmayabilirsiniz. Bu okula kabul sürecinin ilk haftasında grubun yarısı okulu bırakmıştı örneğin. Okula giriş süreci ise apayrı bir konu olduğundan başka bir yazımda bahsetmeyi düşünüyorum. Eğer sorunuz varsa yorumda bahsederseniz, bir sonraki yazımda yanıtlamaya da çalışırım.

--

--