Photo by Stanley Dai on Unsplash

iOS Gelistirmeye Yeni Baslayanlar icin Tavsiyeler

ahmet yalcinkaya
NSIstanbul
6 min readJul 7, 2019

--

iOS gelistirmeye yeni baslayanlardan sikca duydugum bazi sorular ve bunlarin cevaplarini bu yazida detayli bir sekilde anlatmaya calisacagim.

Bundan 1 yil once alicanbatur ile beraber Turkce iOS gelistirmek isteyenlere icerik uretmek icin Swifthane podcastine baslamistik. O surecte aldigimiz geribildirimler cok guzel oldu ve genclerin akillarindaki sorulara cevaplar bulmaya calistik. Bu sorular “iOS gelistirmeye nereden baslamaliyim?” dan “iOS gelistirme ogrenebilecegim staj yeri nasil bulurum?” a kadar cok farkli alanlarda oldu. Bu surecte iOS gelistirmeye bir sekilde baslamis olan kisilerin CV’lerinde bircok eksik oldugunu gordum. Yeni basladiginiz icin CV’nizin bos olmasi normal bir durum olsa bile, CV’nize bir kac ufak dokunus yaparak kendinizi bir adim one cikarmaniz gerekiyor. Peki bunun icin neler yapabilirsiniz adim adim inceleyelim.

CV’nize kendinizi anlatan bir profil bolumu ekleyin

Bu kisim cok kisa surede olusturabileceginiz ve basvurdugunuz yere sizin hakkinizda bilgiler veren bence olmazsa olmaz bir bolum. Ornek olarak soyle bir yazi yazabilirsiniz:

Ben Ahmet Yalcinkaya, Anadolu Universitesi son sinif ogrencisiyim. Okul hayatim boyunca mobil yazilim gelistimeye ilgi duydum ve yaptigim bircok iOS proje ile Apple ekosistemini anlamaya ve kendimi bu alanda gelistirmeye calistim. Swift ile uygulama gelistirmek ve acik kaynak dunyasina katkida bulunmak icin surekli dokuman okuyor, yenilikleri takip ediyor ve bu alanda daha iyi duruma gelmek icin ugrasiyorum. iOS developer olma yolunda beni ileriye tasiyacak bir firmada staj yapmak istiyorum.

Sizce nasil oldu? Bu gelisiguzel yazilmis bir yazi olmasina ragmen bu yaziyi goren bir firma yoneticisi sizden etkilenmis olabilir degil mi? Tabii ki sizler kendinizi bu yazidan daha iyi ifade edebilirsiniz. Eger CV’nizde boyle bir yazi yoksa hemen kendi profil yazinizi eklemekle baslayabilirsiniz :)

CV’nize yazilim ile ilgili sitelerden profilinizi ekleyin

Github, Twitter, LinkedIn, Stackoverflow, Medium ve varsa kendi sitenizin adresini eklemeniz CV’nizi guzellestirmek icin iyi bir baslangic. Eger hesabiniz yoksa su an bu sitelerden bir profil acin ve CV’nize ekleyin.

Github hesabiniz olmasi sizin icin guzel bir referans olabilir. Yeni basladiginiz icin icerigi dolu olmayabilir ama bu dez avantaji kendi lehinize cevirebilirsiniz. Github’da profilinizi inceleyen biri oncelikle projelerinize bakar fakat buranin bos olmasi anlayisla karsilanabilir. Yapmaniz gereken tek sey Swift ile ilgilenen kisileri takip etmek ve buradaki projeleri star’lamak.

Swift projesini takip ederek baslayabilirsiniz. https://github.com/swift/swift

Populer Swift kutuphaneleri ile devam edebiliriz. https://github.com/trending/swift Buradaki projeleri ve bu projeleri gelistiren firma ve gelistiricileri hemen takibe alin.

Ayni sekilde Twitter’da iOS gelistiren kisileri takip etmeye baslayin. Bu listeden ilham alabilirsiniz

Yaptiginiz projeleri CV’nize ekleyin

Sizi on plana cikaracak en onemli kisim projeler kismi olacaktir. Kucuk capli bile olsa yaptiginiz projeleri CV’nize eklemeyi unutmayin. Firmalar sizin gibi bircok kisi ile gorusme yapiyorlar ve aralarindan en kisa zamanda ogrenecek ve onlara katki saglayacak kisileri seciyorlar. Eger daha once iOS proje yapmadiysaniz iOS gelistirme ile yeterince ilgilenmediginizi dusuneceklerdir. Daha once 5 proje yapmis biri ile hic proje yapmamis birini firmaniza almak isteseniz hangisini tercih ederdiniz? Belki bazilariniz daha iyi universitede olani diyecektir ama yazilim sektorunde isler her zaman oyle yurumuyor. Yeteneginizi guzelce gosterirseniz her zaman avantajli olan siz olursunuz.

Projenizi anlatirken kendi yaptiginiz kisimlar uzerinde durun. Kullandiginiz teknolojileri ve kutuphaneleri ozellikle belirtin. Eger App Store da yayinlandiysa mutlaka linkini ekleyin.(Bu sizin App Store’a uygulama gonderme surecini bildiginizi gosteren ufak ama onemli bir detay)

Ingilizce Kelime App (2019)

Ingilizce Kelime App kullanicilarin gunde 10 kelime tekrarlayarak Ingilizcelerini gelistirebilecekleri bir uygulama. Uygulamayi Swift 5.0 ile Xcode 10 kullanarak gelistirdim. Projenin database kismi icin CoreData kullandim. Firebase alt yapisi kullanarak her sabah 9'da kullanicilara uygulamaya girmeleri icin notification gonderiyorum.

Kullanilan Teknolojiler: Firebase, Cocoapods, Alamofire, KingFisher

App Store Linki: …

Bir haftada yazabileceginiz bir uygulama ile CV’nizi yeni bir seviyeye tasimis oldunuz. Bu CV’yi goren bir kisi sizin en basit seviyede bile olsa ekran yapabildiginizi, servis sorgusu yapabildiginizi ve yeni bir kutuphaneyi arastirarak uygulamanizi entegre edebildiginizi artik biliyor.

Peki daha once hic uygulama yapmadiysaniz ve nereden baslayacaginizi bilmiyorsaniz ne yapacaksiniz. Iste size bazi proje tavsiyeleri:

  • Hesap Makinesi uygulamasi

Bir hesap makinesi uygulamasi yapmak icin bilmeniz gerekenler: cok basit seviyede ekran yapimi ve ekran icinde kullanici aksiyonlarini yonetmeniz

Hemen bir kagida en basit sekilde UI kismini cizip, bu tek ekranli uygulamayi yapmaya baslayabilirsiniz. Uygulamanin 4 islemi desteklemesi ilk asama icin yeterli.

Benzer uygulama fikirleri: Tas kagit makas oyunu, Aklindan bir sayi Tut oyunu (Uygulama bir Random sayi tutar ve kullanicidan bunu bulmasini ister. Yanlis cevaplarda Arttir ya da Azalt secenekleri ile yonlendirme yapilir)

  • Unsplash Resim uygulamasi

Unsplash kaliteli resimleri ucretsiz bir sekilde saglayan bir site. Unsplash ile https://source.unsplash.com/random/800x600 bu URL’i kullanarak her seferinde random bir resim alabilirsiniz. Bu URL’i kullanan ve gelen resmi ekranda gosteren bir uygulama yapabilirsiniz. Yapmaniz gereken bir UIImageView ve bir UIButton olan bir ekran tasarlamak. Uygulamayi daha ileri goturmek isterseniz Unsplash API icerigine bir goz atabilirsiniz.

Benzer uygulama fikirleri:

Random Wikipedia (https://en.wikipedia.org/wiki/Special:Random) Icerigi WebView’da gosterebilirsiniz.

Random Kanye West Quotes: https://api.kanye.rest/ buradan random bir soz alip ekrana basabilirsiniz. Dilerseniz burada farkli API’lar da var https://rapidapi.com/collection/quote-generator-apis

  • Sinema Uygulamasi

Ilk iki ornek sizin icin basit geldiyse gercek bir uygulama yapma zamaniniz gelmis demektir. Iste size firsat. TheMovieDB API https://www.themoviedb.org/documentation/api ile filmler hakkinda bircok bilgiye ulasabilirsiniz. Benim size tavsiyem Upcoming movies ya da Now playing movies end pointini kulanip buradaki icerigi ilk sayfada listelemeniz. Daha sonra kullanici bir filme tikladiginda filmin detayini alip bu detaylari bir sayfada gostermeniz. Uygulama tasariminin guzel olmasi her zaman bir artidir. Zorlanirsaniz bana ulasip detayli bilgi alabilirsiniz.

Benzer uygulama fikirleri:

Muzik Uygulamasi: Last.fm API https://www.last.fm/api/ kullanarak ayni uygulamanin muzik versiyonunu yapabilirsiniz.

Marvel Heroes uygulamasi: Marvel API https://developer.marvel.com/docs kullanarak karakterleri tanitabilirsiniz.

SpaceX uygulamasi: SpaceX API https://docs.spacexdata.com/?version=latest ile roketler hakkinda bilgi verebilirsiniz. Aramizda Elon Musk’i sevmeyen var mi?

Bu uygulamalar size basit geldiyse her zaman daha iyisini yapabilirsiniz. Uygulamaya Fastlane, Firebase, Unit Test, UITest ekleyerek bu uygulamalari daha iyi seviyelere getirebilirsiniz.

CV’nize aldiginiz dersleri ve okudugunuz kitaplari ekleyin

Eger projeleriniz yeterince guclu degilse kendinizi gosterebileceginiz bir diger nokta da aldiginiz dersler ve okudugunuz kitaplar olabilir.

Benim tavsiyem kesinlikle Stanford Universitesinin Developing iOS 11 Apps with Swift derslerini kesinlikle izlemeniz. Ben dahil bircok iOS gelistirici uygulama gelistirmeye bu dersler ile basladi. Temelinizin saglam olmasini istiyorsaniz bu dersler ile baslayin.

Maalesef Turkce icerikli dersleri bilmedigimden tavsiye edemeyecegim ama begendiginiz dersleri yorum olarak eklerseniz cok sevinirim.

Kitap konusunda ise https://www.bignerdranch.com/ ve https://www.raywenderlich.com/ un kitaplarini onerebilirim.

CV’nize takip ettiginiz kaynaklari ekleyin

iOS gelistirmeye yeni baslayadiginizda bazi yerleri anlamakta zorluk cekebilirsiniz. Bu konuda sizi en cok gelistirecek yontemlerden biri de diger gelistiricileri ve sektordeki yenilikleri takip etmek olacaktir. Eger CV’nizin yeterince guclu oldugunu dusunuyorsaniz bu kismi eklemenize gerek yok fakat eger hala bos oldugunu dusunuyorsaniz buradaki icerikleri once takip edip daha sonra begendiklerinizi CV’nize ekleyebilirsiniz.

Haftalik Newsletter’lar:

iOS Dev Weekly — https://iosdevweekly.com/

Swift Weekly — https://swiftweekly.com/

iOS Cookies Newsletter

Podcast’ler:

Swifthane — https://podcasts.apple.com/tr/podcast/swifthane/id1372006454

Swift by Sundell — https://podcasts.apple.com/us/podcast/swift-by-sundell/id1267161825?mt=2

Stacktrace — https://podcasts.apple.com/us/podcast/stacktrace/id1359435443

Swift over Coffee — https://podcasts.apple.com/us/podcast/swift-over-coffee/id1435076502

iOS Dev Discussions — https://podcasts.apple.com/us/podcast/ios-dev-discussions-sean-allen/id1426167395

Siteler:

Late Night Muhabbetleri — https://www.youtube.com/channel/UCjVMKSrhru8KSirbfzzFHpw

Daha fazlasi icin: https://iosdevdirectory.com/

Bu tavsiyeleri CV uzerinden verdim ama bunlari kendi gelisiminizin bir parcasi olarak dusunmelisiniz. Unutmayin ki firmalarin yeni baslayan birinden beklentisi cok alt seviyededir ve bu aslinda herkesin neredeyse ayni seviyede oldugunu gosterir. Eger herkesle ayni seviyede bir CV hazirlarsaniz, dogal olarak okulu iyi olan, ya da iliskileri daha iyi olan kisi o pozisyonu kapacaktir. Sizin yapmaniz gereken kendinizi diger kisilerden daha iyi seviyeye cekmek ve CV’nizi bu seviyeyi gosterecek sekilde hazirlamak olmalidir. Bu sekilde sizin icin dezavantaj gibi gorunen durumu lehinize cevirebilirsiniz. Herkes tecrubeli ariyor, kimse yetistirmek icin eleman aramiyor soylemine kismen katilmakla beraber bu soylemin arkasina siginmayi cok zararli buluyorum. Bence herkes dogal olarak gelcek vaad eden ve kendi kendine bu islerle ugrasan kisileri ariyor. Unutmayin ki bir sirket hic bilmeyen bir yeni mezun aldiginda ayni zamanda Senior developer’inin zamanindan caliyor ve onun eforunu arttirmis oluyor. Neden hic bilmeyen surekli soru soracak birini tercih etsinler? Size dusen kendi kendinizi gelistirmeniz, en azindan internette bulabileceginiz kisimlar icin cevaplari kendiniz bulmanizdir. Dogru sorulari sordugunuzda Senior developer’dan aldiginiz zaman azaldigi gibi o kisiden ogrendiginiz cevaplar ve puf noktalar da artacaktir.

Bu konuda fikirlerinizi ve sorularinizi bu yaziya cevap olarak birakabilirsiniz ya da bana Twitter uzerinden ulasabilirsiniz. Daha fazla soru icin 1000+ iOS gelistiricinin oldugu NSIstanbul slack grubuna kayilabilirsiniz http://slack.nsistanbul.com/.

Son olarak her turlu konuda sizden daha tecrubeli kisilere sorular sormaktan cekinmeyin. Turkiye’de sizlere yardimci olacak bircok iOS Developer var. Kendilerine direk sormadan buraya yazdigim icin beni affederler umarim ama bana ve asagidaki kisilere mesaj gonderdiginiz surece vakit bulduklarinda size cevap vereceklerdir.

Ben, Ali Can Batur, Ilter Cengiz, Seyfeddin Bassarac, Sule Turp, Goksel Koksal, Candost Dagdeviren, Gokhan Topcu, Ahmet Keskin, Huseyin Vural, Batuhan Saka ve butun NSIstanbul ailesi

Siz ilk adimi attiginizda size yardimci olacak bir suru insan bulacaksiniz. Bizim tek amacimiz bu ekosisteme katkida bulunmak ve gelismesini saglamak ve sizler bu ekosistemin gelecegisiniz. Umarim bu yazi sizlere yardimci olur. Eksiklerini duzeltmek ve gelistirmek ise hepimizin gorevi :D Bu konularin daha fazla konusulmasi ve daha fazla insana ulasmasi icin bu yaziyi paylasirsaniz cok seviniriz. Bir sonraki yazida gorusmek uzere 👋

--

--