İlk yazımda da belirttiğim gibi bu konu hakkında yazı yazmak istiyordum. Hem biraz iç dökme yapmak hem de biraz deneyimlerimi aktarmak istedim. Başlayalım.
Hukuk Fakültesi Dönemi
2016 yılında üniversite sınavında eşit ağırlıkta ilk 200'e girince yazılabilecek bölüm olarak hukuk fakültesinden başka alternatif pek olmadı. Bahçeşehir Üniversitesi Hukuk Fakültesine tam burslu olarak girdim.
İlk sene hazırlık falan derken 3.sınıfta covid çıkınca evlere döndük. Bu dönemde zaten artık pek avukat olmak istemediğimi farketmiştim.
Kendi çabalarımla ne yapabilirim diye düşünürken yıllardır teknolojiyle iç içe olduğumu da düşününce yazılıma ilgi duymaya başladım.
Öncelikle internetten bulduğum kaynaklar vasıtasıyla c#
öğrenmeye başladım ancak vizeler finaller derken çok yarım yamalak bir şekilde kaldı. Bu süreç üniversiteden mezun olana kadar böyle gitti.
Mezuniyet Ve Staj Dönemi
Hukuk fakültesinden mezun olduktan sonra pek çok mezun gibi avukatlık stajımı başlattım. Bir senelik stajın ikinci döneminde kesinlike bu işi yapmak istemediğime karar verdim. Avukatlık bana göre bir meslek değildi. Tekrar yazılım öğrenmeye karar verdim.
Bu sefer pek çok araştırma yaptıktan sonra front end geliştirici olmaya karar verdim. Tabi önce HTML ve CSS öğrenmeye başladım. Udemy'den bir kurs aldım. HTML ve CSS'i büyük ölçüde o kurstan öğrenmiştim.
"Sadece video izleyerek yazılım öğrenilmez!"
Yeri gelmişken belirtmek de isterim. Sadece video izleyerek yazılım öğrenilmez. Daha doğrusu öğrenilmiyormuş. Muhtemelen yazılım öğrenmeye çalışmış pek çok kişi bunun yanlış olduğunu farketmiştir. En önemlisi uygulamak. Biraz kervan yolda düzülür mantığıyla hareket etmek daha doğru olacaktır.
Neyse konumuza dönelim. Daha sonra udemy kurslarıyla pek yol alamadığımı hissedince reddit vb. platformlardan yaptığım araştırmalar sonucunda The Odin Project adlı siteyi öğrendim.
The Odin Project
The Odin Project sitesi şahsen gördüğüm web development ile ilgili en iyi platform. Baştan sona full stack bir eğitim veriliyor olsa da ana odak HTML, CSS ve JavaScript etrafında ilerliyor .
The Odin Project'teki eğitim konvansiyonel yazılım kurslarından çok farklı. Eğitimler tamamen yazılı ve her eğitim dokümantasyona ya da yazılmış makalelere yönlendirerek olayın mantığını öğrettikten sonra öğrencinin elinden tutmadan hadi şimdi şu projeyi yap diyerek görevler vererek bitiyor.
"Dünyanın en iyi eğitmenleri saatlerce bir kişiye yazılım öğretse bile, geç de olsa uzun da sürse bir kişinin oturup ben bunu yapacağım diyerek başladığı projeyi yaparken öğreneceği değerli şeyleri o kişiye öğretemez."
Daha ilk derslerden basit siteler yaparak başlıyorsun ve bu siteleri videodaki kişinin kodlarını kendi bilgisayarında yazarak yapmıyorsun. Bu benim için tamamen kafa açan bir yöntem oldu. Videolar izleyerek tabiki ilerleme katedilebiliyor, ben de gerekli gördüğümde halen video izliyorum ve video izlemek yanlış bir şey değil ancak asıl yazılımı öğreten şey uygulamak.
Şu an github'ımdaki pek çok proje The Odin Project vasıtasıyla yaptığım projelerdir. Her proje JavaScript'in hakkında farklı farklı şeyler övesile oluyor.
Peki The Odin Project yeterli mi? Net bir cevabı var. Hayır değil. Dünyanın en iyi eğitmenleri saatlerce bir kişiye yazılım öğretse bile, geç de olsa uzun da sürse bir kişinin oturup ben bunu yapacağım diyerek başladığı projeyi yaparken öğreneceği değerli şeyleri o kişiye öğretemez.
Staj Sonrası
Bu arada stajım bitti avukatlık yapmak istemediğim için ruhsatı uzun süre almadım. Tamamen kendim yazılım öğrenmeye verdim. Sitedeki eğitimleri büyük ölçüde tamamladım.
Sitedeki eğitimler React
'ı giriş seviyesinde öğrettikten ve bir kaç projeden sonra bitiyor. Aslında iyi bir temel atıyor diyebiliriz. Ancak sadece o kadar gerisi kendini geliştirmene kalmış.
Ben de bunu farkettiğim için neler öğrenebilirim derken kendimi bir kaç aylık bir yol çizdim. Öncelikle öğrendiklerimle bir proje yapmaya karar verdim. İnternetten kullanması ücretsiz API'leri araştırdım. Kullanabileceğim state management kütüphanelerine baktım. Kendimce bir projeye giriştim ve birkaç hafta içinde projeyi tamamladım.
Öğrendiğin şeyi hemen uygulamak kalıcı hale getiren en önemli şey. Ben de yazılım öğrenmeye başladığım andan itibaren bu mottoyu takip etmeye çalışıyorum.
Daha sonrası React
frameworklerini öğrenmeye karar verdim. Ancak bundan önce bahsetmem gereken bir şey daha yaşandı.
Oyun Ve Uygulama Akademisi
Daha ikinci yılında olan pek çok kuruluşun işbirliği çerçevesinde kurulmuş hiçbir kar amacı gütmeyen Unity
ve Flutter
eğitimleri veren bir akademi. Peki benimle alakası ne derseniz, evet geçtiğimiz aralık ayında 35 bin kişi arasından 2000 bursiyerden biri olarak seçilerek akademiye kabul edildim.
Çok değerli insanlar ve hocalarla tanışmama vesile olan bu akademi kapsamında Dart ve Flutter eğitimleri alıyorum. Eğitimler halen devam etmekte. Sadece yazılım eğitimleri değil, bir yandan girişimcilik bir yandan google proje yönetimi eğitimleri de veriliyor. Hatta yazılımcılar için ingilizce eğitimleri bile var.
Şunu da söylemek istiyorum. Akademi de sadece kişiye yol gösteren bir platform. Bir üniversite değil. Bir şeyi öğrenip öğrenememek, kendini geliştirmek kişiye kalmış şeyler her zamanki gibi.
Şu An Neler Yapıyorum?
"Yazılım bir derya denizse front end Pasifik Okyanusudur."
Bir kaç aydır React
frameworklerini öğrenip proje yapmakla geçiriyorum. Aynı zamanda akademideki eğitimler devam ediyor. Yani aslında çalışmamama rağmen oldukça yoğun geçiyor günlerim.
Yazılım bir derya denizse front end Pasifik Okyanusudur. Gerçekten öğrenilecek çok şey var. Next.js
, Remix.js
bunlar benzer mantıkta da olsa React
Frameworkleri ve React
gibi pek çok ayrı framework ve kütüphane de var bu JavaScript
evreninde.
Her gün bir yenisi daha çıkıyor. Aklınıza gelebilecek en basit şeyler için bile kütüphaneler var. React
state management kütüphanelerine bakalım mesela:
- Redux
- Jotai
- xState
- Zustand
- mobx
Daha say say bitmez. Yoksa ui kütüphanesi mi seçeceksin. Onlarca kütüphane arasından bir seçim yapabilirsin 😅.
Sonuç
"Sanki bir oyunun son bossunu yenmişsin, arkadan oyunun tema müziği çalıyor, bir yandan credits akıyor yavaş yavaş..."
Geriye dönüp son bir seneye baktığımda neleri daha iyi yapabilirdim diye düşünüyorum bazen. Sanırım çok daha önce başlardım.
Hayatımda daha mutlu olduğum bir şey yapmamıştım muhtemelen. The Odin Project'te bir etch-a-sketch projesi vardı. JavaScript
öğrenmeye başladığım ilk aylar. Kafamda şöyle yaparım falan diye kurgulayıp kısa sürede projeyi yapabilmiştim. O hazzı muhtemelen daha önce başka bir şeyden almamış olabilirim. Sanki bir oyunun son bossunu kesmişsin, arkadan oyunun ana tema müziği çalıyor, bir yandan credits akıyor yavaş yavaş...
Sonuç olarak hikayem kısaca böyle. Tabiki anlatılabilecek pek çok şey var ve zamanla daha ayrıntılı bir şekilde anlatmayı düşünüyorum ancak bir giriş yapmak istedim.
Bir sonraki yazıda görüşmek üzere 👋.