iOS Developer Olma Yolculuğu| Neden Yazılım Sektörü? Neden Native? Neden Swift?

Faruk Cansız
MOVE ON AI
Published in
7 min readAug 1, 2023

Herkese merhaba :)

Bu yazıda, üniversite ve yazılım hayatımdan ilham alarak neden yazılım sektörünü seçtiğimi, Native bir dil olan Swift’i tercih etme nedenlerimi ve iOS Developer olma hedefime nasıl ulaştığımı paylaşacağım, umarım yazılımcı olmak isteyen ama nereden başlayacağını bilmeyenlere, yazmak istediği yazılım diline karar veremeyenlere yol gösterir.

Henüz üniversitede 3. sınıftayken yapay zeka tabanlı tarım teknolojileri üreten bir şirkette full-time iOS Developer pozisyonunda işe başladım. Mutluluğumu paylaşmak için attığım bir tweet hiç beklemediğim kadar etkileşim aldı, 13 bini aşkın kişi tarafından görüntülenmiş :).
Tweetin ardından yazılım sektörüne girmek isteyen ve özellikle iOS Developer olmak isteyen pek çok kişi ulaştı, sorularını sordu, baktım sorular neredeyse aynı, tek tek yanıtlamaktansa tüm bu yolculuğumu ve soruları bir Medium yazısında toparlayarak herkese faydam dokunsun dedim. Fena mı ettim? :D.

Tweet’e Git

Yazılımdan Öncesi

İnsanın kendisini keşfetmesi hayatında gerçek bir dönüşüm sağlayan en değerli ve en anlamlı olaylardan biri. Bence kendini keşfetmiş olan insanın hayatta edinemeyeceği başarı yok.
Küçükken doktor olmak istiyordum, lise sonda ise asker olmak istiyordum bir anda kendimi Elektrik-Elektronik Mühendisliği öğrencisi olarak buldum :D ve şu anda yazılımcıyım :) yani alaylı bir geliştiriciyim.
Üniversitemin ilk yıllarında İngilizce hazırlıktayken üniversite de network elde etmek için sosyal sorumluluk projeleriyle ilgilendim, Genç TEMA ve Genç Yeşilay gibi topluluklarda yönetimde yer aldım bir çok projeye dahil oldum. Üniversitemin sosyal faaliyet noktasında eksikliğini görünce Genç Kızılay Topluluğunu kurdum, bir çok seminerler, konferanslar, projeler hayata geçirdim. Ve hedefimi gerçekleştirmiştim 1 yılda bizzat rektör tarafından tanınan rektörlükte adı geçen öğrenci olmuştum hatta öyleki rektörlük referansıyla yurtdışına bile çıkmıştım. Tabi bu zamanlar yazılım nedir hiç bir fikrimin olmadığı zamanlar.

Yazılım Ekosistemi

Okuduğum bölüm itibariyle C yazılım dili dersi görüyorduk, ne elektrik ne elektronik hiç birinden almadığım zevki C dersinde alıyordum.

O an dedim ki “Ben yazılımcı olucam.”

EEM okuyorum yazılımcı olma kararı almışım bir anda sudan çıkmış balığa dönmüştüm her şey çorba olmuştu benim için,

Burası çok önemli: çalışmak istediğim alan ile okuduğum alan farklı olunca “ben bu bölümü boşuna okuyorum” düşüncesi ben de hiç oluşmadı çünkü diyorum ki “bu bölümü okumasaydım belki de kendimi keşfedemicektim.”

ta ki rektörlükte ki bir hocamın referansıyla geliştirici topluluğu olan Google Developer Student Clubs ile tanışana kadar, GDSC ekosistemine dahil olunca yazılım ile tam anlamıyla tanıştım çünkü Hackathon koordinatörü ve aynı zamanda Teknofest takım kaptanıydım. Baktığınız zaman bir çok dil var her dil ile farklı şeyler yapılıyor falan ama bir kere elinizi verdiğiniz zaman kolunuzu kaptırıyorsunuz isteyerek ;). Ben meraktan HTML CSS öğrenmeye başlamıştım (ne yalan söyliyeyim çokta beğenmemiştim) sonra Teknofest takım kaptanlığı nedeniyle Python öğrenmem gerektiğinden bıraktım. Python ilk etapta çok cici gelmişti bana, yapay zeka minik bebek gibi eğitiyorsun ve öğrendiğini uyguluyor. Ama bir süre sonra bu alanda çalışırken çok da keyif almadığımı farkettim, ekran başında uyuya kalıyordum ve dedim ki “benim için doğru alan bu değil.”

Peki benim için doğrusu ne? Yazılım derya deniz, web, mobil, oyun, yapay zeka vs vs… Yazılımcı olmak istiyorum ama hangi alan hangi dil? Dedim ki “milyonlarca insanın ortak noktası telefon kullanmak” telefonlar için uygulama çıkarma fikri edinmiştim böylece daha çok insana ulaşabilirdim. Sıra hangi yazılım dilini yazacağıma karar vermekteydi. Araştırırken Native ve Hybrid terimleri karşıma çıktı. Ben bu zamana kadar hep diğer insanlardan farklı olmuşumdur, aykırı bir tip olmuşumdur bu bana çoğunluğun değil kendi doğrularımın peşinden gidebilme yeteneği kazandırmıştır. Native ve Hybrid farklarını incelerken Native’in beni özel hissettireceğini anlamıştım. Ve iş ilanlarına baktığım zaman mobil geliştirme ilanlarında Native’in daha fazla iş olanağı olduğunu farketmiştim. Alanı seçmiştim geriye iOS için mi Android için mi uygulama çıkartacağım sorusu kalmıştı. Beni özel hissettirdiği için Native’i seçtiysem iOS Android arasında hangisini seçmişimdir? Tabi ki iOS :). Apple’ın o kapalı kutu dünyası, geliştiricilerini sahiplenmesi ve onları özel hissettirmesi beni cezbetmişti. Kendime hedef koymuştum: Swift yazılım dilini öğreneceğim ve iOS Developer olacağım.

iOS Developer Olma Yolculuğunun Başlangıcı

Post’a git

MacBook’um yoktu ama hedefim vardı. :) Swift eğitimi alıcaktım, öğrenirken aynı zamanda MB almak için para biriktiricektim. Unutmayın bir kere Business Clas’ta uçarsanız hep Business Clas’ta uçmak için çaba sarf edersiniz. 10 yıllık eski bir bilgisayarımla Swift eğitimi almaya başladım. Hem üniversite, hem staj, hem sınavlar, hem topluluk hem yarı zamanlı iş hem de swift eğitimi… Başlarken bir roadmape ihtiyacım olduğundan sıfırdan başlayan bir kurs araştırmaya başladım. 3 farklı eğitim platformu buldum:

-BTK Akademi
-Turkcell GeleceğiYazanlar
-HackingWithSwift

MB alana kadar BTK Akademi’den Atıl SAMANCIOĞLU’nun iOS eğitimlerini izledim, noktasına virgülüne, storyboard’u bile not defterime çiziyordum, not defterimi Xcode gibi kullandım. Eğitime başladıktan 3–4 ay sonra bir MB satın aldım (evde kullanılmayan ne varsa satmıştım, spor aletleri, balıkçı malzemeleri, bilgisayar malzemeleri vs..) :) Daha sonra eğitimi baştan alarak her şeye sıfırdan başlamıştım. Bir çok proje yapıp GitHub’ta paylaşmıştım. BTK’nın kursunu başarıyla bitirince kendime yeni hedefler koydum.

Post’a Git

BTK’da bir temele oturtunca hem ingilizce bir kaynak istediğimden hem de gerçekten diğer kurslardan farklı bir mantıkla ilerleyen ücretsiz kurs olan Hackingwithswift’e başladım.

Neden ilk etapta Hackingwithswift’ten başlamadım? Çünkü bana göre sıfırdan buraya girmek sudan çıkmış balığa döndürürdü beni.

Bu sitede iki farklı eğitim seçeneği var. Bir tanesi UIKit diğeri ise SwiftUI. Ben ilanlarda yetenekler arasında en çok UIKit arandığını gördüğüm için UIKit eğitimini seçtim “100DaysOfSwift”.

Hackingwithswift’in diğer kurslardan farklı olduğunu söylemiştim en önemlisi sizi her gün çalışmaya teşvik etmeksi, içeriğin günlük planlar halinde ayrılması ve 100 günlük bir yol haritasını sizler için oluşturması. Bir de İngilizce olduğunu söylemiştim, bu noktada belki bazılarınız için video çokta efektif olmayacaktır ama iyi tarafı videoların metin haline de ulaşabiliyorsunuz.

:)

Hackingwithswift ile çifte dikiş atarken aynı zaman da GitHub repomu internette bulduğum örnek projerlerden esinlenerek zenginleştiriyordum. Kolaydan zora giden, hatta GitHub repolarında baştan sona nasıl yazıldığını detaylıca anlatan örnek projeler mevcut, ufak bir araştırmayla bunları bulabilirsiniz.

Bu süreçte motivasyonu korumak çok önemli. Ben her yaptığımı sosyal medya hesaplarımdan paylaşıyordum (Linkedin, X(Twitter) :), Instagram). Yapılan yorumlar, alanda ki deneyimli abilerimin ve networklerimin destekleri beni hep ayakta tutmuştu. Ayrıca alanla ilgili yeni hobiler edinmeye başlamıştım müzik dinlemek yerine Seyfeddin abinin PodCast’lerini dinliyorum mesela.

Bir de şunun farkında olmak lazım: Bu süreç kısa mesafe koşusu değil, uzun bir maraton. Bu yüzden bir hypela başlayıp 1 ay sonra bırakmamak için motivasyonu koruyarak emin adımlarla ilerlemelisiniz. Hiç bir şey yapamadığınız günde dahi en azından 1 saat iOS geliştirme ile alakalı herhangi bir video izleseniz, makale, blog okusanız ya da kod yazsanız gününüz verimli geçecektir, 1 > 0 :).

İş Başvuruları

Üniversite 3. sınıf öğrencisiydim ne staj ne part-time ben full-time çalışmak istiyordum, CV’mde Swift ile ilgili bir geçmiş deneyimim yoktu ama artık yazılım konusunda bir özgüven vardı üstümde, GitHub repom doluyordu, her gün farklı bir şey öğreniyordum, üniversitemde ki 4 yılı da projelerle, yurtdışıyla, yarışmalarla, derecelerle dolu dolu geçirmiştim. Başladım LinkedIn’dan “Junior iOS Developer” ilanlarına başvurmaya. Bu süreçte ilanlarda ki istenilen yeteneklerde bir bilgim olmasa da başvurmaktan çekinmedim ve şansımı denedim. Çünkü önemli olan şu bilmiyor olmam öğrenmeme engel değil :). Bununla da kalmayıp özellikler Teknoparklardaki ve Bilişim Vadisindeki şirketlere mailler attım.

İş başvurularında ki amacım evet bir işe girmekti ama onun öncesinde mülakatlar, ve codecase’ler. Mülakatlardan defalarca red aldım, mail kutum red mailleriyle doluydu. Ama her mülakatta daha da rahatlamıştım, kendimi daha kolay ifade edebiliyordum. Codecase’lerin önemi ise kendi başınıza çalışırken daha önce görmediğiniz veya öğrenemediğiniz konuları hızlı bir şekilde araştırarak öğrenme fırsatı sunmasıdır.

Hep söylerim: “Başarısızlık, başarısızlıktan ders çıkaranlar için bir başarıdır.”

Genel şeyler bilirseniz pek çok Codecase de başarılı olabilirsiniz ya da bilmiyor olsanız dahi her Codecase’de kendinizi bir adım yukarıya çıkarırsınız mesela; API, spesifik bir kaç kütüphane, MVC ya da MVVM mimari… Bunları kullanabilme yeteneğini de Codecase’ler sayesinde öğrendim ben :D

En Nihayetinde…
Benim için aldığım tüm Codecase’lerden farklı olan bir case ile karşılaşmıştım. Cihazın varsayılan kamerasına erişip yapay zeka modeli ile real time object detection yaptırıcaktım. Çok niş bir alan olduğu için ilgimi çekmişti ve deadline’a kadar gece gündüz üzerinde çalışmıştım. Ekstradan API ile hava durumu ve firebase bağlantılı login-signup-profil özellikleri de eklemiştim uygulamaya. Tüm bu süreçlerin sonunda MOVE ON ile olan mülakat ve Codecase aşamaları olumlu tamamlandı ve aylar önce başlayan iOS serüvenime büyük bir adım atmış oldum.

Ayrıca MOVE ON ekibine dahil olduğum için çok mutluyum. Startup ortamında kurumsal bir yerde bulamayacağınız çalışma kültürü ve ekip arası samimiyet oluyor bu yüzden hep bir Startup’ta çalışmak istemiştim.

Kapanış ve Teşekkür

İşe girene kadar ki MB’dan önce 3 ay MB’dan sonra 2 ay süren (MB benim için milat niteliğindeydi :) ) bu serüvenim de ve şuan da dahi bana hep destek olan Burak abime, Murat abime ve Doğukaan abime en kıymetli şeyi sağladığınız için; bilgi birikiminizi bana aktardığınız ve aktarmaya devam ettiğiniz için, her başım sıkıştığında en full anınızda bile yardımıma koştuğunuz için çok teşekkür ederim. İyi ki varsınız :))))).
Böylece bana sorulan tüm sorulara yanıt vermiş oldum. Unutmayın bu uzun bir maraton bellki 4 ay belki 7 ay belki 1 yıl sonra iş bulucaksınız önemli olan iş bulana kadar kendinizi geliştirmek, siz kendinizi geliştirmeye odaklanın bir yandan da iş başvurusu yapın :). Diliyorum ki en azından bir kişiye katkım olur, ilham olur. Bu yazıyı yazmakta ki bir diğer amacım isteyince, çalışınca başarıyı elde edebileceğinizi göstermekti. Bol başarılı günleriniz olsun. :)

Geri bildirim ve sorularınız için bana Twitter, LinkedIn ya da faruk@moveon.ai mail adresinden ulaşabilirsiniz.

--

--

Faruk Cansız
MOVE ON AI

DU EEE | DU Google DSC ExLeader | iOS Developer @MOVEON