Nasıl yazılımcı oldum?

Erhan Kıroğlu
4 min readMay 3, 2020

--

Information Technology master programına başladığımda “Yazılım öğrenmek için üniversiteye ne gerek var , internette tonla kaynak var, tutorialları takip etsene” demişti bilgisayar mühendisliği mezunu arkadaşlarım:) Bu yazıda tavsiyeler yerine 6 yıllık analistlikten sonra nasıl yazılımcı olduğumdan, hatta daha iyi bir yazılım mühendisi olmak için neler yaptığımdan bahsedeceğim. İçerik aşağıdaki gibi:

  • Yazılımcı olabilmek için hangi aşamalardan geçtim?
  • Yazılım konusunda güncel kalmayı nasıl başarıyorum, nereleri takip ediyorum?
  • Sizden gelenler: “Ben yazılımcı olabilir miyim?”, “Yazılım mı daha iyi analistlik mi?”
Photo by Avi Richards on Unsplash

Yazımın girişinde bahsettiğim gibi kendimi geliştirmek için ilk yaptığım master programına başlamak oldu. Hatta verdiğim en doğru kararlardan biri diyebilirim, sebepleri ise şöyle:

  • Düzenli bir eğitim programı olması, seçmeli dersler ile kendi istediğiniz alanda gelişim imkanı
  • Sizinle aynı hedeflere sahip insanlar ile beraber çalışarak birbirinize değer katabilmeniz
  • Yazılım mühendisliği bakış açısını, bir üniversitede almanın daha kolay olması

Öğrenciler üniversitelerden kendilerine her şeyi öğretmesini bekleseler de, aslında bir üniversite size bilgiye nasıl ulaşacağınızı ve onu nasıl yorumlayacağınızı öğretir.

“Master programına başladım ve devam ediyorum, artık bir yazılım mühendisiyim oldu bitti”, bu kadar kolay değil elbette. Genelde öğrenciler üniversitelerden kendilerine her şeyi öğretmesini bekleseler de üniversite size bilgiye nasıl ulaşacağınızı ve onu nasıl yorumlayacağınız öğretir, size mühendislik bakış açısı verir. Sonuçta bilgisayar mühendisi bir mezuna göre en az 2.5 sene (ortak havuz dersleri ve diğer seçmeli dersler için 1.5 sene çıkartıyorum) geriden geliyorsunuz ve bu açığı kapatmanız gerekiyor. Bunun için de sürekli öğrenmek, okumak ve kendini geliştirmek şart oluyor.

Yeterli bilgi seviyesine ulaştığımıza inanıyorsak geriye kalan tek şey ise kariyerimizi bu yönde ilerletecek doğru işi bulmak, ki sanırım zor kısmı burası:)

  • Yeni mezun iseniz işiniz daha kolay, karşınıza çıkan size uygun işlere başvurabilir ve bu yolculuğa bir yerden başlayabilirsiniz, gerisi gelecektir.
  • Ancak benim gibi uzun süre farklı bir alanda çalıştıysanız, sıfırdan başlamanın maddi/manevi fırsat maliyeti olacaktır, geride bıraktığınız farklı bir kariyer yolu olabilir. Buna hazırlıklı olun. Ben şanslıydım çünkü; hali hazırda Türkiye’nin önde gelen teknoloji şirketlerinden birinde çalışıyordum ve kariyerim için çizdiğim bu yeni yolda yöneticilerimin tam desteğini aldım. Daha önceki işlerim ve yaptıklarım dikkate alınarak kolaylıkla analistlikten yazılım ekibine geçiş yaptım. Sonuçta insanlar benim nasıl çalıştığımı biliyorlardı ve güvendiler. Bu konuda önceki yöneticimin benim de çok katıldığım bir yorumu vardır:

Her zaman yaptığınız işte en iyisini yapmaya çalışın ve işinize değer verin, yaptığınız güzel işler insanlar tarafından fark ediliyor ve zamanı geldiğinde karşılığını alıyorsunuz.

Photo by Gunnar Ridderström on Unsplash

Bu işte ilerledikçe farkettim ki aslında işin en zor kısmı yazılım yapmaya başlamak da değil, bu işte iyi olmak. Bunun için sürekli öğrenmeyi alışkanlık haline getirmek gerekiyor. Gruplama yapmadan şu ana kadar bana katkısı olduğunu düşündüğüm kaynaklardan bazılarını paylaşıyorum:

  • Online eğitim siteleri: Başlangıçta Udemy, sonrasında Raywenderlich.
  • Youtube: Bedava sayısız tutorial var, aslında bir numaralı eğitim kaynağımdı.
  • Meetup, Event ve Slack/Discord/Telegram üzerindeki topluluklar: İstanbul bu anlamda çok şanslı, yazılımın her alanında farklı etkinlikler mevcut. Ayrıca biraz araştırınca sayısız etkinlik ve slack/discord üzerinde gruplar da bulunuyor.
  • Podcast: Podcast’den kod anlaşılır mı demeyin. Bir teknoloji hangi alanlarda kullanılır, artısı eksisi nedir, ortaya çıkan problemler nedir çok faydalı bilgiler edinilebilir. Benim takip ettiklerim: Codefiction, Fragmented-An Android Developer Podcast, Android Developers Backstage
  • Kitaplar: Clean Code, Effective Java, Head First Design Patterns
  • Twitter: Gün geçtikçe Twitter’da takip ettiğim yazılımcı sayısı arttı ve Twitter gündemi takip ettiğim bir platforma dönüştü.
  • Verimlilik: Sınırlı zamanımızın olduğunu düşünürsek verimlilik konusunda ayrı bir yazı bile yazılabilirdi. Burada vurgulamak istediğim verimliliğimi arttıracak bir araç veya eğitim varsa, onun için para harcamaktan çekinmedim ve karşılığını fazlasıyla aldım diyebilirim.
  • Bol bol kod yazmak ve gerçek projeler yapmak: Sanırım ilk dönemlerde sürekli tutorial izleyerek çok şey öğrendiğimi düşünmek gibi bir hatam olmuştu. Aslında çok şey öğreniyordum doğru, ama bir sonraki seviyeye çıkabilmek için artık kendi projelerimi yapmam gerektiğini sonradan anladım.

Soru: “X senedir şurada çalışıyorum bu yaştan sonra yazılım yapabilir miyim?”

Cevap: Evet, yazılım sektörü Türkiye’de ve Dünya’da hızlı büyüyen sektörlerden bir tanesi. Bu sebeple yurt içinde ve yurt dışında yazılımcı olabilir ve iş bulabilirsiniz. Buradaki asıl soru yazılımcı olmayı ne kadar istiyorsunuz hatta bu süreçte nelerden fedakarlık edeceksiniz? Bilmeniz gereken bazı gerçekler var:

  • Yukarıda toz pembe bir tablo çizsem de, bu süreç benim için de hiç kolay olmadı. Haftanın 3 iş günü akşam 19:00–22:00 arası master dersleri, eve dönüş için uzun bir yolculuk, eve geldikten sonra ise en az 01:00'e kadar ödev ve proje ile bir yılım geçti. Hatta cumartesi dersleri ile bu süre daha da uzuyor.
  • Bu süreçte sosyal hayattan bir süre feragat etmem gerekti. Neredeyse bu bir yıl boyunca film, dizi bile izlemedim diyebilirim. Haftada 6–7 kere yaptığım triatlon antrenmanlarıma da ara vermem gerekti.

Yani bu maceraya atılıyorsanız, gerçekten bu işi sevmeniz gerekiyor ki ayırdığınız bu zamanlar size yük değil, yeni bir hobi gibi keyifli gelsin.

Soru:Yazılım mı analistlik mi daha iyi? Hangisi daha zor?

Cevap: Analist ve yazılımcı arkadaşlarımın bol olduğu bir yerde çalışıyorum ve bu soru çok fazla sorulmasına rağmen hala net bir cevabım yok. Daha iyiyi hangi kriterlere göre belirliyorsunuz, beklentileriniz ne? Kısaca kendi açımdan farklılıklara değineyim, bence içinizden ne yapmak geliyorsa en iyisi odur ama yine de karar sizin:

  • Stres: Analistken proje sürecinin stresini yaşıyorken, yazılımcı olduğunuzda ortaya kısıtlı zamanda somut ürün çıkartabilmenin stresi geliyor. İkisi de farklı zorlu.
  • Kariyer yolu: Analistliklikte daha soft yetenekler ile üst basamaklara tırmanabilirken, yazılımda ise önce teknik yetkinlik, ilerleyen yıllarda ise soft yetenekler önem kazanıyor.
  • Zaman yönetimi: Yazılım dünyasında iş ve hobi çoğu zaman birbirine karışıyor. Mesai bitti tamam kendi hayatıma bakıyorum diyemiyorsunuz. Herkes için geçerli değil ama bir yerde bazılarının dediği gibi bilgiye bağımlı hale geliyorsunuz. Sürekli yeni şeyler öğrenmeye çalışıyor ve kendinize bir katkı yapma ihtiyacı hissediyorsunuz. Çünkü oldukça hızlı gelişen bir dünya yazılım dünyası.

Bu yazıda biraz kendi yolculuğumdan bahsettim, umarım benimle aynı yoldan yürüyeceklere yardımı olur. Bundan sonraki yazılar ise Android programlama ve yazılım mühendisliği üzerine olacak.

--

--

Erhan Kıroğlu

Mobile App Developer | Indie Developer | ASO, Growth-Hacking Enthusiast