Yazılım Kariyerinizde Neleri Daha İyi Yapabilirsiniz [TR]

This article will be in Turkish.

Sektörde geçirdiğim 4 senede epey kaotik, saçma, sıkıcı, şahane, yani aklınıza gelebilecek bir çok farklı durumla karşı karşıya kaldım. Bir kısmı çalıştığım yerlerde bizzat tanık olduklarım, başımdan geçenler, diğer kısımları ise sosyal medyada gördüklerimdi. Bunların bazılarında doğru şekilde aksiyon alabildim, bazılarında yanlış kararlar aldım ve belirli feedbacklerle gelişim noktalarımı düzelttim. Benzer şekilde başkalarının da bu gibi durumlara düştüğünü gördüm. Onların yaptıkları doğru veya yanlışlardan dersler çıkardım.

Bu yazıda seneler öncesine dönseydim neleri daha iyi yapmak isterdim, neleri yapmamış olmak isterdim, bana göre sizler nelere dikkat edebilirsiniz bunlara değineceğim. Aşağıda yazdıklarımın hepsi benim şahsi olarak doğru bulduğum, doğru olduğunu düşündüğüm şeyler fakat kişiden kişiye göre de değişebilir. Farklı görüşleriniz varsa tartışabiliriz.

1. Mentorlük

Kariyerimize başlarken ya da devamında bir mentöre sahip olmak çok değerli. Benim de ilk işime girmeden iOS Development öğrenirken ve de Trendyol’a girmeden önce çok değerli iki mentörüm vardı. O yüzden özellikle yeni başlayan arkadaşların mentör arayışında olması çok normal ve mantıklı.

Bu konuda gördüğüm genel davranış şu şekilde: Mentörlük istedikleri insanlara sosyal medya hesaplarından direkt mentörlük verebilip veremeyeceklerini sormak. Bunda hiç bir yanlış yok gayet açık ve net bir şekilde iletişim kuruluyor. Fakat karşı taraf açısından da düşündüğümüz vakit, birine mentörlük vermek düzenli bir şekilde zaman ve efor ayırmak demek. Herkesin yoğun iş ve hayat koşulları arasında bunu yapması çok mümkün olmayabilir. O yüzden de olumlu bir geri dönüş alma olasılığınız düşük oluyor.

Bunun yerine benim de tercih edeceğim, geri dönüş alma olasılığını yükseltecek formülü söyleyeyim; Code Review.

Size mentörlük esnasında en çok katkı sağlayacak şey code review sessionları olacaktır. Roadmap oluşturma, öğrenecek şeyleri listeleme vs gibi şeyler zaten internette sürekli yazılıp çizilen çok fazla kaynağı olan konular. Bu yüzden nereden başlamalıyım, ne yapmalıyım konularını araştırarak halletmeniz gerektiği kanısındayım. Sizin için en faydalı olan ve karşı taraftakinin düzenli ve sürekli zaman ayırması gerekmediği formülün code review olduğunu düşünüyorum. Mentörlük vermesini istediğiniz kişiye bana mentörlük verebilir misin diye yazmak yerine, şöyle bir proje geliştirdim şu şekilde bir kod yazdım bunu da githubda yayınladım, şurada pull request açtım müsait olduğun zaman review etme şansın olur mu diye gittiğiniz zaman olumlu dönüş alma olasılığınız çok daha fazla olacağını düşünüyorum.

2. Başınıza bela arayın

Nedir burada başınıza bela aramaktan kastettiğim diye merak etmiş olabilirsiniz. iOS Development öğrenmeye çalışıyorsunuz ve open source bi api den verileri çekerek basit bir uygulamaya yaparak github a atmak istiyorsunuz diyelim. Buraya kadar şahane, zaten yapmanız gerekenlerden biri bu şekilde. Fakat sürekli yeni bir api bulup sürekli veri çekerek yeni bir proje oluşturup profilinizi bunlarla doldurmanıza gerek yok.

Fazla sayıda basit diye tabir edeceğimiz sadece crud işlemleri yapan, standart bir UI a sahip projeleriniz olmasındansa başınıza bela arayın ve sürekli farklı şeyler deneyin. Mesela X bir uygulama geliştiriyorsunuz, app storedaki applere veya sosyal medyadaki gönderilere bakıp gördüğünüz farklı özellikleri eklemeye çalışın.

  • Trendyolda şöyle bir özellik varmış onu eklesem nasıl olur.
  • Twitterda Anıl T. isimli arkadaş sürekli Tuistten bahsedip duruyor nedir bu tuist hemen bi bakıp eklemeye çalışayım.
  • CI/CD diye bir şey gördüm neymiş bu bi bakıp projeme nasıl eklerim ya da nasıl kullanırım ona bakayım
  • Bu uygulamayı app store a mı atsam acaba hem bu süreçleri öğrenmiş olurum
  • Twitterda gördüm uygulamaların landing page i olmasında fayda varmış bende kendi uygulamamınkini oluşturayım

Gibi bir çok örnek verebilirim. Bana göre başınıza bela aramak bu şekilde. Her yere dokunmaya çalışın, kurcalamaktan korkmayın.

3. Problemin çözümünü hiç/yeterince araştırmadan destek istemek

Bizi en çok geliştiren şeyin bir problemle karşılaşmak ve bunu çözmeye çalışırken yaşadığımız süreç olduğunu düşünüyorum. Mesela x bir feature’ı projeye implement etmek istiyoruz ve bir kaç hata ile karşılaştık. Burada gördüğüm bir kaç hata şu şekilde:

  • Hatayı araştırmadan direkt daha tecrübeli birisinden destek istemek
  • Hatayı yeterince araştırmayıp, üstüne düşmeyip destek istemek

Destek istemek hiçbir zaman bir problem değil fakat kendi başınıza çözemeyeceğinizi gerçekten anladığınız an bunu yapmanız gerektiğini düşünüyorum. Öteki türlü hem destek istediğiniz kişinin zamanından almış olursunuz hemde kendiniz araştırıp öğrendiğinizdeki oluşacak o bilginin kalıcılığından mahrum kalmış oluyorsunuz.

kendi başınıza çözemeyeceğinizi gerçekten anladığınız an

Peki ne zaman anlarsınız destek isteme zamanınızın geldiğini? Kendimden örnek verecek olursam ben eğer ilgili probleme ve benzerlerine dair google aramasında karşıma çıkan neredeyse tüm linkleri(stackoverflow, apple developer forums, reddit etc.) inceleyip oralarda verilen çözüm yöntemlerini deneyip, benzer feature projede daha önce kullanıldıysa orayı inceleyip yine de çözemediysem o zaman desteğe ihtiyacım olduğuna karar verip destek istiyorum.

4. no hello

Biri veya birilerine mesaj atıyorsanız, mesaj atma sebebini, durumunuzu vs direkt olarak yazın.

x: Selam Latif, Nasılsın?
l: Iyiyim sağol, sen?
x: Bende iyiyim ya bişey sorucaktım da müsait misin?
l: Evet tabii
x: bla bla bla bla


Mesai saatlerimizde ister istemez hepimiz yoğun çalışıyoruz ve olabildiğince dikkat dağıtıcı unsurlardan kaçınmaya çalışıyoruz. Direkt konuya girmemek bu süreci baltalayabiliyor.

x: Selam Latif, bla bla konusunda hata alıyoruz. Onunla ilgilenme şansın var mı?
l: Elbette


5. Her zaman zoomda toplanmamıza gerek yok

İki tarafın da müsait olduğu anı denk getirmeye çalışıp problemleri sesli konuşmak her zaman gerekmeyebilir. Mesaj ile çözülebilecek konuları mesaj yolu ile iletirsek toplanmak için uygun anı beklemeden problemlerimize çözüm bulabiliriz.

x: Selam Latif müsait olduğun zaman 5 dk toplanabilir miyiz? (13:07)
l: Tabii 30 dk sonra müsaitim (13:09)


x: Selam Latif, iş içeriğinde şu konuyu tam anlayamadım burada neyi kastetmiştin? (13:07)
l: bla bla bla blayı kastetmiştim (13:09)


6. Başarı her zaman ilk denemede gelmez

Bir şeyleri başaramadığında, proje istediği gibi çalışmadığında, bir sorunu çözemediğinde, iş/staj bulamadığında üzülen, modu motivasyonu düşen, bu alanın kendisine göre olup olmadığını dahi sorgulayan bir çok arkadaş görüyorum. Bunlar gayet olağan şeyler, denemekten vazgeçmeyin. Sizi düşürmesinden çok hırslandırması için gayret edin.

Kendimden örnek vermem gerekirse, iOS Development’ı yeni öğrenmeye başladığım zamanlar, Late Night Muhabbetleri youtube kanalının MVVM, VIPER’a dair videolarını ilk izlediğim zaman hiçbir şey anlamamıştım. Bu durum beni yetersiz hissettirmiş ve o seviyeye asla ulaşamayacağımı düşündürmüştü. Fakat daha sonra ısrarla bu konuların üstüne düştüm, 1-2 haftada bir aynı videoları tekrar tekrar izledim. 3-4-5 kaç defa izledim hatırlamıyorum ama 1 ay sonra izlediğimde konseptin, konunun yarısını anlayabiliyorken 4-5 ay sonra benim için artık hakim olduğum bir şeyi anlatan bir video izlediğimi hissetmeye başladım.

Bir diğeri ise henüz daha yine ilk işe girmediğim zamanlar, sürekli işsiz kalacağım ve yeterli olamayacağım korkusu vardı. Mentörümle yaptığım konuşmalarda benim gayet iyi ilerlediğimi ve bu çalışma azmi ile bir sene sonra çok iyi bir yerde çalışmaya başlayacağımı söylemişti. (3 ay sonra işe girdim, 10 ay sonra Trendyol’a geçtim) Denemekten, çalışmaktan, başınıza bela aramaktan, desteğe ihtiyacınız olduğunda destek istemekten vazgeçmeyin.

7. Her şeyden önce en önemli şey sizsiniz

Bu serüven zorlu bir serüven ve birçok sıkıntı ile karşılaşacaksınız, karşılaşıyoruz. Başarısızlık yetersizlik sendromu çekebilir, mental olarak çökebilir, burnout yaşayabilir her şeyle karşılaşabilirsiniz. Hiçbir şey sizden daha değerli değil. Herkes biricik ve birbirinden farklı. Geçirdiğiniz kendinize özgü sürecin bir başkasından farklı olması hatalı olduğunuz anlamına gelmez, kendi sürecinize güvenin. Siz başarısız bir insan değil, gelecekteki başarmış halinizin henüz tamamlanmamış versiyonusunuz. Kapatın bilgisayarı çıkın temiz hava alın, sevdiklerinizle vakit geçirin. Çözüme elbet ulaşırsınız.