#100daysofcode Challenge serüveni

Yılmaz Yağız
5 min readApr 15, 2022

Merhabalar. Normalde böyle bir yazı yazma planım yoktu. Bir süre önce twitter da yaptığım anket sonucunda karar vermiş oldum.

Anket Tweeti

Kısaca kendimden bahsedip serüvenime geçmek istiyorum. Bendeniz Yılmaz Yağız Dokumacı, 22 yaşındayım. Yaklaşık 4 aydır Flutter öğreniyorum, hem Google Play hem de App Store da Todo Moon isimli bir uygulamam mevcut. Yakın zamanda da ikinci uygulamamı marketlerde yayımlamak istiyorum.

Challenge öncesi yazılım bilgim

Challenge a başlamadan önce başlangıç ile orta seviye arasında bir Android Uygulama Geliştirme (Java) tecrübem vardı. Fakat programlama temeline pek hakim değildim. Bu nasıl oluyor dediğinizi duyar gibiyim.. Açıklayayım :

Java ile uygulamalar geliştirmiş hatta bir Startup projesinde yer almış ve Android uygulamalarını komple kendim yazmıştım. Fakat yazdığım kodlar hep ezbere dayalıydı. Mantığı öğrenmiyordum. Bir video açıp sadece o videoyu uyguluyor, kendime göre değiştiriyordum. Ama bana anlat deseler o yazdığım kodu anlatamazdım. Çünkü hangi kod hangi işi yapıyor bilmeden videoda gördüklerimi aynen yazıyordum. Fakat bu olay bir noktadan sonra etkilerini göstermeye başladı. Temel mantığı bilmeyince videolardan veya ezbere gidemiyorsunuz.

Sonrasında yaklaşık 1–1.5 sene boş geçti. Farklı diller öğrenmeye çalıştım fakat düzgün bir program yapamadığımdan, disiplin ve motivasyon durumlarından dolayı bıraktım. Hangi dili öğrensem karar veremedim. Yaklaşık 6 ay önce farklı sektörde bir işe girdim. Orada çalışırken Flutter öğrenmeye karar verdim. Fakat alakasız bir işte çalışırken kendimi Udemy kurslarında Dart öğrenmeye adayamadım. O yüzden işten ayrılma kararı aldım.

İşten ayrıldıktan sonra hemen çalışmaya başladım dersem yalan söylemiş olurum. Başta güzel gitse de ders çalışıyormuş gibi açıp video izlemek, not almak beni sıkıyordu. Bu yüzden yine üşengeçliğime yenik düştüm ve 3–4 ayım boş geçti.

Fakat günümüzden 4 ay önce aklıma bu challenge geldi. Eskiden bir arkadaşım bana bu challenge’a başlamamı söylemişti fakat ben yine üşendiğimden başlamamıştım. Bir de tam kimi gördüm hatırlamıyorum fakat twitter da önüme bir tane challenge tweeti düştü. O an artık gerçekten başlamanın zamanı geldi dedim.

Twitter Kullanımı

Bu süreçte Twitter hesabımı da aktif kullanmak istedim. Alanımla ilgili gördüğüm insanları takip ettim. Bir yerde de çalışmıyordum fakat takip ettiğim yazılımcıların birçoğu beni geri takip etti. Bu beni çok şaşırtmış ayrıca da mutlu etmişti.

İnsanlar beni geri takip etmeye başladığında challenge’ı daha da ciddiye almaya başladım. Çünkü tweetlerimi artık daha fazla insan görecek ve ilerleyişime daha çok kişi tanık olacaktı.

Challenge Başlangıcı

Kararımı verdim, Twitter hesabımı ayarladım. Artık challenge’a başlama zamanı gelmişti. Sürece ilk tweetimi atarak başladım. Açıkçası bu challenge konusunda hiç araştırma yapmadım. Yani kuralları nelerdir, nasıl ilerlenir , çok bilgim yoktu. Tek bildiğim 100 gün boyunca her gün ilerleme katetmek ve gün gün paylaşmaktı.

Açıkçası ilk 30 gün işkenceydi. Çünkü her gün Dart videoları izleyip notlar alıyordum. Ders çalışıyormuş gibi Dart çalışıyordum. Ama günde 10 saat çalışıyordum dersem yalan olur. Ben dozu yavaş yavaş arttırdım. İlk günler 1 saat falan çalışabiliyordum. Çünkü 2 senedir beynim tembelliğe alışmıştı ve bir anda 5–6 saat kurs izliyim demek olmuyordu. İlk 1 haftada çalışma süremi 1 saatten 3–4 saate çıkardım ve ilk 1 ay günde 3–4 saat Dart çalışarak geçti. Çalışma süremin az olduğunu biliyordum ama daha fazlası beni süreçten soğuturdu.

İlk 30 günden sonra artık Flutter kısmına geçmeye ve kalan Dart konularını yeri geldikçe öğrenmeye karar vermiştim. Hevesle ilk Flutter projemi oluşturdum ve ekrana boş boş bakmaya başladım. Çünkü demo sayaç uygulamasının tek satırını bile anlamıyordum. Ama dert etmedim ve çalışmaya başladım.

Bu çalışma sürecimi daha fazla anlatıp yazıyı uzatmak istemiyorum. Sonuçta bu yazı Flutter ilerleyişimi değil de biraz daha challenge üzerinde ki ilerleyişi anlatmak için yazılıyor. Şu ana kadar ki ilerleyişimi merak eden olursa Twitter da bu yazıyı paylaştığım tweetin altına yazabilirsiniz. Ayrı bir yazıda anlatabilirim.

Challenge Süreci

İlk 30 günden sonra Flutter geçtiğim için işler biraz daha rahatlamıştı. Başlarda her gün 2–3 widget videosu izleyip onları öğrenmeye çalıştım. Sonrasında iPhone hesap makinesi klonu yazarak ilk Flutter uygulamamı yazmış oldum.

Challenge sürecinde Twitter’ı olabildiğince aktif kullanmaya alanımda ki insanlarla bağlantı kurmaya çalıştım. Challenge vasıtası ile birçok insanla tanıştım. Hepsinin bana çok katkısı oldu. Hatta başlarda tanıştığım bir arkadaşım ile tüm challenge süresinde birlikte ilerledik ve tek kişi ilerlemenin ne kadar zor olduğunun farkına vardım. Birlikte bir arkadaşınız ile ilerlerken sizin motivasyonunuz kalmadığında onun öğrendiği şeyleri görüp kendinizi motive edebiliyorsunuz. Birbirinize destek olabiliyorsunuz ve bu sürecin etkisini 2'ye katlıyor diyebilirim.

Challenge süresince bir çok uygulama yaptım. Genelde yaptığım uygulamalar tek bir şeyi öğrenmek üzerine değil birden çok şeyi tek bir projede kullanmak üzerine oldu. Kendime bir proje belirledim ve ciddi bir proje geliştiriyormuş gibi geliştirdim. Her uygulamada gördüğüm eksiklerimi bir sonraki uygulama da kapatmaya çalıştım. Mesela bir uygulama yazdım, ben responsive yazdığımı düşünüyordum ama bir baktım ki alakası bile yokmuş. O uygulamaya geçici bir düzenleme yapıp bitirdim. Yeni uygulamama geçmeden önce bu eksik olduğum konu için araştırmalar yaptım ve yeni uygulamada bunları kullandım.

Açıkçası challenge’ın son 15–20 günü çok aktif geçmedi. Çünkü artık API gibi benim için ciddi olan konulara geçiş yapmıştım. Artık aldığım bir hatayı çözmek 2–3 günümü alabiliyordu. Bu yüzden her gün yeni bir şey öğrendim dersem yalan olur.

Challenge Sonu

Challenge bittiğinde Twitter üzerinden birçok yeni yazılımcı ile tanışmıştım. Flutter’ın demo sayaç uygulamasını çözemeyen halim gitmiş ve birçok uygulama yapmış olan yeni versiyonum gelmişti.

Bu challenge, motivasyonumu korumamda büyük rol oynadı. Çünkü bir noktadan sonra tweet atacağım için o günü boş geçirmek istememeye başladım. Ve enerjim olmasa da minik bir konu bile olsa öğrendim. Böylece sürekliliğimi korudum. Ama mola verdiğim günler oldu. Bazen overload olabileceğimi hissettim çünkü haftalarca günde 8–10 saat hatalarla uğraşıyordum biri bitiyor diğeri başlıyordu. Yeni öğrenme sürecinde olan birisi için yorucu olmasını geçtim çok fazla demoralize ediyordu. En son elimde kalan sorunları çözdüğümde dedim 1–2 gün dinlenmem gerek. Genelde bu dinlenmeleri hafta sonu yaptım. Ve gerçekten iyi geldi. Dinlenmekten çekinmeyin robot değiliz. Dinlenmeyeceğim diye kendinizi overload durumuna sokmanın, komple süreçten soğutmanın bir anlamı yok.

Öğrenme sürecinde her zaman sorunsuz ve rahat bir şekilde ilerleyemiyoruz. Belirli kilometre taşları her zaman olacak. Benim ilk kilometre taşım state management konusuydu. 2 haftamı vermiştim öğrenmek için ve öğrenirken pes etme noktasına bile gelmiştim. Ama öğrendikten sonra ufkumun genişlediğini ve düşünce yapımın değiştiğini görebiliyordum.

Demek istediğim her zaman zorlanacağınız belki pes etmeyi düşüneceğiniz zamanlar olacak. Önemli olan bu zamanlarda pes etmeden disiplininizi koruyarak çalışmaya devam edebilmektir. Ben böyle durumlarda ilk başta ki halimi gözümün önüne getirerek gelişimimi kendime hatırlatıyorum. Ve pes etmeden devam etmeye çalışıyorum.

Son olarak

Tahminimden uzun bir yazı oldu. Umarım çok saçmalamamış ve kafanızı karıştırmamışımdır. Böyle yazılar yazma konusunda kendimi yeni yeni geliştiriyorum.

Umuyorum bu yazı da size faydalı olmuştur. Herkese iyi çalışmalar dilerim.

Twitter üzerinden beni takip edebilir. Yazılım harici konularda ki yazılar için de profilime göz atabilirsiniz.

--

--