Agar siz iOS dasturchisi bo'lishni istasangiz, nimani kutishingiz kerak

Agar siz iOS dasturchisi bo'lishni istasangiz, nimani kutishingiz kerak

IOS tashqaridan qaraganda, rivojlanish yopiq klub kabi ko'rinishi mumkin. Ishlash uchun sizga albatta Apple kompyuteri kerak, ekotizim bir kompaniya tomonidan qattiq nazorat qilinadi. Ichkaridan siz ba'zan qarama-qarshiliklarni ham eshitishingiz mumkin - ba'zilar Objective-C tilini eski va qo'pol deb aytishsa, boshqalari yangi Swift tilini juda qo'pol deb aytishadi.

Shunga qaramay, ishlab chiquvchilar ushbu sohaga kirishadi va u erdan mamnun bo'lishadi.

Bu safar Marat Nurgaliev va Boris Pavlov bizga o‘z tajribalari – kasbni qanday o‘rgangani, birinchi suhbatdan qanday o‘tgani, nima uchun rad javobi olgani haqida gapirib berdi. Mutaxassis sifatida dekan Andrey Antropov ishladi iOS ishlab chiqish fakulteti GeekBrains-da.

2016 yilda Astraxan viloyatidan Marat Nurgaliev mahalliy telekompaniyaga mobil dasturchi sifatida ishga kirish uchun kelgan. Bu uning birinchi intervyusi edi. U armiyadan endigina qaytgan, amaliyot va tajribasiz, hatto nazariyani ham unutgan, u bilan bog'liq muammolar mavjud edi. Maratning mobil qurilmalarni ishlab chiqishdagi yagona tajribasi uning Android ilovalari orqali axborot sızıntısı oqimini tahlil qilish bo'yicha dissertatsiyasi bo'ldi. Suhbatda undan o'qishlari, OOP va boshqa nazariyalar haqida so'rashdi, ammo Marat bilimidagi kamchiliklarni yashira olmadi.

Biroq, unga rad javobi berilmadi, lekin amaliy topshiriq berildi - ikki hafta ichida API yordamida yangiliklar ro'yxatini ko'rsatishni amalga oshirish. Ham iOS, ham Android uchun. “Agar men Android-da tajribaga ega bo'lsam, iOS versiyasini yaratish uchun vosita ham yo'q edi. iOS ilovalarini ishlab chiqish muhiti faqat Mac-da mavjud. Ammo ikki hafta o'tgach, men qaytib keldim va Androidda nima qilishim mumkinligini ko'rsatdim. iOS bilan men buni tezda aniqlashim kerak edi. Oxir-oqibat ular meni olib ketishdi. Keyin men Astraxanda yashadim. Maoshi yigirmadan yuqori bo'lgan har qanday IT ishi menga mos edi.

iOS dasturchilari kimlar?

Mobil ishlab chiquvchilar har qanday portativ qurilma uchun ilovalar yaratadilar. Smartfonlar, planshetlar, aqlli soatlar va Android yoki iOS-ni qo'llab-quvvatlaydigan barcha boshqa platformalar. Mobil rivojlanishning asosiy tamoyillari an'anaviy rivojlanishdan farq qilmaydi, lekin o'ziga xos vositalar tufayli u alohida yo'nalishga ajratilgan. U o'z vositalari, dasturlash tillari va ramkalaridan foydalanadi.

“IOS bilan ishlash uchun sizga MacBook kerak, chunki faqat u kerakli Xcode ishlab chiqish muhitiga ega. U bepul va AppStore orqali tarqatiladi. O'rnatish uchun sizda Apple ID bo'lishi kerak va boshqa hech narsa bo'lmaydi. Xcode-da siz har qanday narsa uchun ilovalarni ishlab chiqishingiz mumkin - telefon, planshet, soat. Hamma narsa uchun o'rnatilgan simulyator va muharrir mavjud, - deydi GeekBrains iOS ishlab chiqish bo'limi dekani Andrey Antropov.

“Agar Hackintosh-dan foydalansangiz, ishlab chiqish muhiti Windows-ga o'rnatilishi mumkin. Bu ishlaydigan, ammo aylanma variant - jiddiy ishlab chiquvchilarning hech biri buni qilmaydi. Yangi boshlanuvchilar eski MacBook-ni sotib olishadi. Tajribalilar esa odatda eng so'nggi modelni sotib olishlari mumkin.

Tillar - Swift yoki Objective-C

Deyarli barcha iOS ishlanmalari Swift dasturlash tili yordamida amalga oshiriladi. U besh yil oldin paydo bo'lgan va endi asta-sekin Apple o'zining barcha ilovalarida 30 yildan ortiq ishlatib kelgan eski Objective-C tilini almashtirmoqda.

“Objective-C-da katta kod bazasi to'plangan, shuning uchun kompaniya, uning vazifalari va ilovalariga qarab ikkala tilda ishlab chiquvchilar hali ham talab qilinadi. Ko'p yillar oldin yozilgan ilovalar Objective-C ga asoslangan. Va barcha yangi loyihalar sukut bo'yicha Swift-da ishlab chiqilgan. Endi Apple telefon, planshet, soat va MacBook uchun bir vaqtning o'zida ishlab chiqishni imkon qadar qulay qilish uchun ko'p ishlarni qilmoqda. Xuddi shu kodni kompilyatsiya qilish va hamma joyda ishlatish mumkin. Bu oldin sodir bo'lmagan. iOS uchun biz Swift-da ishlab chiqdik, MacOS uchun esa Objective-C-dan foydalandik”.

Andreyning so'zlariga ko'ra, Swift yangi boshlanuvchilar uchun juda oddiy tildir. U qat'iy ravishda terilgan, bu sizga loyihani tuzish bosqichida ko'plab xatolarni qo'lga kiritish imkonini beradi va noto'g'ri kod ishlamaydi.

"Objective-C - bu juda eski til - C++ tili bilan bir xil yoshda. U ishlab chiqilgan vaqtda tillarga qo'yiladigan talablar butunlay boshqacha edi. Swift chiqqanda, u noto'g'ri edi, funksionallik cheklangan va sintaksis qo'pol edi. Va odamlarning qo'llari Objective-C bilan to'la edi. Ko'p yillar davomida yaxshilandi, u erdagi barcha xatolar tuzatildi. Ammo endi menimcha, Swift Objective-C kabi yaxshi. Hatto Apple ham o'z loyihalarida ikkalasini ham ishlatsa ham. Tillar asosan bir-birini almashtiradi va bir-birini toʻldiradi. Bir tilning tuzilmalari va ob'ektlari boshqa tilning ob'ektlari va tuzilmalariga aylanishi mumkin. Ikkala variantni ham bilish yaxshi, lekin yangi boshlanuvchilar uchun Objective-C ko'pincha qo'rqinchli va chalkash tuyuladi."

O'quv mashg'ulotlari

"Birinchi ishimda xo'jayinim meni o'qitdi, loyihani amalga oshirish va sozlashda yordam berdi," deydi Marat, "Ammo Android va iOSda bir vaqtning o'zida ishlash qiyin. Qayta qurish, loyihadan loyihaga, tildan tilga o'tish uchun vaqt kerak. Oxir-oqibat, bitta yo'nalishni tanlash va uni o'rganish kerak degan qarorga keldim. Men Xcode interfeysida va Swiftning oddiy sintaksisida sotilganman."

Marat GeekBrains-ning iOS-ni ishlab chiqish bo'limiga kirdi. Avvaliga bu juda oson edi, chunki u ish tajribasidan ko'p narsalarni bilar edi. Yillik kurs to'rt chorakka bo'lingan. Andreyning so'zlariga ko'ra, birinchisi faqat asosiy ma'lumotlarni beradi: "Swift tilining asosi, asosiy ramkalar, tarmoqlar, ma'lumotlarni saqlash, ilovalarning hayot aylanishi, kontroller, asosiy arxitekturalar, hamma foydalanadigan asosiy kutubxonalar, multithreading va parallelizm ilovalar.”

Ikkinchi chorak Objective-C ni qo'shadi. Arxitektura va asosiy dasturlash naqshlari bo'yicha kurs o'tkaziladi. Uchinchi chorakda ular kod yozishning to'g'ri uslubini o'rgatishadi. U zavod nima ekanligini, testlarni qanday to'g'ri yozishni, loyihalarni yaratishni, Git-Flow nima ekanligini, Fast Lane orqali uzluksiz integratsiyani tushuntiradi. To'rtinchi va yakuniy chorak jamoaviy ish, amaliy topshiriqlar va amaliyotga bag'ishlangan.

"Birinchi chorak oson o'tdi, - deydi Marat, - lekin keyin men Objective-C-da dasturlashni o'rgana boshladim, dizayn naqshlarini, Solid, Git-Flow tamoyillarini, loyiha arxitekturasini, ilovalarni birlik va UI testini o'rganishni, maxsus animatsiyani sozlashni boshladim. - va keyin men o'qish qiziq bo'lib qoldi."

"Bu men uchun GeekBrains-da juda muammosiz boshlangani yo'q", deydi Boris Pavlov va uning iOS rivojlanishiga yo'li umuman to'g'ridan-to'g'ri emas edi. Bolani buvisi tarbiyalagan. U me'mor, matematik va dizayner bo'lgan va Borisga dizaynga muhabbat uyg'otgan, unga qo'lda chizish va chizishni o'rgatgan. Uning amakisi tizim administratori bo'lib, jiyanini kompyuterlarga qiziqtirardi.

Boris a'lo o'quvchi edi, lekin o'qishga qiziqishni yo'qotdi va to'qqiz sinfdan keyin maktabni tark etdi. Kollejni tugatgandan so'ng u velosipedda yurishni boshladi va kompyuterlar fonga o'tdi. Ammo bir kuni Boris umurtqa pog'onasidan jarohat oldi, bu uning sport faoliyatini davom ettirishiga to'sqinlik qildi.

U Irkutsk Quyosh-yer fizikasi institutida o‘qituvchi bilan C++ tilini o‘rganishni boshladi. Keyin men o'yin ishlab chiqishga qiziqib qoldim va C# ga o'tishga harakat qildim. Va nihoyat, Marat singari, u Swift tiliga maftun bo'ldi.

“Men GeekBrains-da bepul kirish kursida qatnashishga qaror qildim. Rostini aytsam, u juda zerikarli, sust va tushunarsiz edi, - deb eslaydi Boris, - o'qituvchi tilning xususiyatlari haqida gapirdi, lekin mohiyatini ochmasdan bir mavzudan ikkinchisiga shoshildi. Kurs tugagach, men hali ham hech narsani tushunmadim."

Shuning uchun, kirish kursidan so'ng, Boris bir yillik treningga emas, balki qisqa muddatli uch oylik kursga kirdi, u erda ular kasbning asoslarini o'rgatadilar. "Men u erda juda yaxshi o'qituvchilarni topdim va ular hamma narsani aniq tushuntirib berishdi."

“Bizni tez-tez tanqid qilishadi, go'yo o'quv qo'llanmalarimiz to'liq yangilanmagan, noaniqliklar mavjud. Ammo kurslar doimiy ravishda yangilanadi va o'qituvchilar doimo innovatsiyalar haqida gapirishadi. Men rahbarlik qilayotgan guruhlarning ko‘pchiligi birinchi chorakdan keyin ish topadi. Albatta, odatda, bu dasturlash tajribasiga ega bo'lgan odamlardir, - deydi Andrey, - Boshqa tomondan, barcha bilimlarni bir kursda etkazish mumkin emas. Tarmoq mijozlarining hayotdagi o'zaro ta'siri o'nta ikki soatlik ma'ruzaga sig'maydi. Va agar siz faqat kurslarga borib, boshqa hech narsa qilmasangiz, unda siz etarli bilimga ega bo'lmaysiz. Agar siz butun yil davomida har kuni o'qisangiz, unda bu sur'atda faqat dangasalar ish topmaydi. Chunki bu kasbga talab juda yuqori”.

Agar siz iOS dasturchisi bo'lishni istasangiz, nimani kutishingiz kerak

Siz eng ko'p ko'rishingiz mumkin so'nggi bo'sh ish o'rinlari iOS dasturchilari uchun va yangilariga obuna bo'ling.

ish

Ammo Marat ham, Boris ham oson ish topmadi.

“Ba'zi yirik firmalar uzoq vaqtdan beri Objective-C-da iOS ilovalarini ishlab chiqqan va eski kod bazasini saqlab qolishda davom etmoqda. Afsuski, menda ularni faqat Swift-dan foydalanishga majburlash uchun ishonchli dalil yo'q. Ayniqsa, "ishlaydigan narsaga tegmang" qoidasidan foydalanadiganlar, deydi Marat, "Geekbrains-da Objective-C yo'nalishiga kam e'tibor beriladi. Bu ko'proq axborot xarakteriga ega. Ammo men suhbatlashgan har bir kompaniya Objective-C haqida so'radi. Va mening o'qishim Sviftga qaratilganligi sababli, avvalgi ishim kabi, men intervyularda rad javobini oldim.

"O'qiganimdan so'ng men o'zimcha faqat eng yuzaki asoslarni bilardim, ular yordamida eng oddiy dasturni yaratishim mumkin edi, - deydi Boris. "Ish uchun, albatta, bu etarli emas edi, lekin men bundan xursand bo'ldim. Irkutskda ish topish qiyin edi. Aniqroq aytganda - umuman emas. Men boshqa shaharlarni qidirishga qaror qildim. Bo'sh ish o'rinlari soni bo'yicha Krasnodar, Moskva va Sankt-Peterburg eng dolzarb bo'lib chiqdi. Men Sankt-Peterburgga borishga qaror qildim - Evropaga yaqinroq.

Ammo hamma narsa unchalik pushti emas edi. Hatto kichik o'quvchi ham bilmagani uchun kechiriladi. Men hali ish topmadim. Men "rahmat" uchun ishlayapman, tajriba orttiraman. Men bu men xohlagan narsa emasligini tushunaman, lekin men qiziqaman va bu meni boshqaradi. Men bilim olishni xohlayman ».

Andreyning fikricha, yangi kelganlar ish emas, stajirovka izlashlari kerak. Agar sizda juda kam bilim bo'lsa, unda stajirovkaning to'lanmaganligi odatiy holdir. Andrey ish jarayoni allaqachon yo'lga qo'yilgan yirik kompaniyalarga kichik vakansiyalarga murojaat qilishni maslahat beradi.

“Dasturiy ta’minotni ishlab chiqish jarayoni qanday ishlashini tushunganingizda, xohishingizga qarab harakatlanish va keyingi ish topish ancha osonlashadi. Ba'zi odamlar mustaqil rivojlanishga kirishadilar, o'zlari uchun o'yinlar yaratadilar, ularni do'konga yuklaydilar va o'zlari pul ishlaydilar. Ba'zilar qat'iy qoidalarga ega bo'lgan yirik kompaniyada ishlaydi. Ba'zi odamlar maxsus dasturiy ta'minot ishlab chiqaradigan kichik studiyalarda pul ishlashadi va u erda ular butun jarayonni kuzatishi mumkin - loyihani noldan boshlab uni do'konga etkazib berishgacha.

Ish haqi

IOS ishlab chiqaruvchisining maoshi, boshqa har qanday kabi, "Moskva yoki Rossiya" degan savolga bog'liq. Ammo sanoatning o'ziga xos xususiyatlari tufayli - ko'p masofaviy ish, ko'chirish va mintaqaviy bozorda bo'lmagan ishlash imkoniyatlari - raqamlar tobora bir-biriga yaqinlashmoqda.

Agar siz iOS dasturchisi bo'lishni istasangiz, nimani kutishingiz kerak

My Circle ish haqi kalkulyatoriga ko‘ra, iOS dasturchisining o‘rtacha maoshi biroz kamroq 140 000 rubl.

"Juda past darajadagi o'quvchi ko'pincha bepul yoki ramziy pul uchun ishlaydi - 20-30 ming rubl. Agar kichik o'z lavozimiga ataylab olib borilgan bo'lsa, u 50 dan 80 minggacha oladi. O'rtalar 100 dan 150 gacha, ba'zan esa 200 ga etadi. Kattalar 200 dan kam olmaydilar. Menimcha, ularning maoshi 200-300 atrofida. Jamoa yetakchilari uchun esa, mos ravishda, 300 dan oshadi.

Agar siz iOS dasturchisi bo'lishni istasangiz, nimani kutishingiz kerak

Intervyular

“Birinchi intervyu Skype’da bo‘lib o‘tdi. Ajablanarlisi shundaki, bu Google edi, - deb eslaydi Boris, - o'shanda men Sankt-Peterburgga ko'chib o'tgan edim va ish qidira boshladim. Men iOS dasturchisi lavozimiga ariza oldim. Kichik emas, o'rta emas, katta emas - shunchaki ishlab chiquvchi. Men xursand bo'ldim va menejer bilan yozishni boshladim. Mendan texnik topshiriqni bajarishni so‘rashdi: Chak Norris haqidagi hazillar uchun ariza yozishim kerak edi. Men yozdim. Ular menga hamma narsa ajoyib ekanini aytishdi va onlayn intervyu tayinlashdi.

Biz bir-birimizga qo'ng'iroq qildik. Yaxshi qiz men bilan gaplashdi. Ammo ular tilni bilish haqida hech qanday savol berishmadi - faqat turli xil mantiqiy masalalar, masalan, "Vaqt 15:15, soat va minutlar o'rtasida necha daraja bor?" yoki "Postning uzunligi 10 metr, salyangoz kunduzi 3 metr yuqoriga sudraladi, kechasi esa 1 metr pastga tushadi. U necha kundan keyin cho'qqiga chiqadi?" va yana bir nechta shunga o'xshashlar.

Keyin juda g'alati savollar paydo bo'ldi - nega men Appleni yaxshi ko'raman va Tim Kukga qanday munosabatdaman. Men kompaniyaning umuman unga nisbatan ijobiy, lekin aksincha salbiy ekanligini aytdim, chunki u uchun mahsulot emas, pul muhim.

Swift haqida savollar boshlanganda, mening bilimim faqat dasturlash naqshlari va OOP asoslari uchun etarli edi. Biz xayrlashdik, bir hafta o'tgach, ular menga qo'ng'iroq qilishdi va men mos emasligimni aytishdi. Darhaqiqat, men bundan juda katta tajriba oldim: bilim kerak, sizga ko'p narsa kerak - nazariya ham, amaliyot ham.

Andreyning aytishicha, “intervyu paytida hammadan so'raladigan birinchi narsa bu boshqaruvchining hayot aylanishidir. Ular haqiqatan ham oddiy dasturlash namunasini so'rashni yaxshi ko'radilar. Ular, albatta, mashhur kutubxonalardan foydalanish tajribangiz haqida so'rashadi. Swift qiymatlari turlarining mos yozuvlar turlaridan farqlari, avtomatik hisoblash va xotirani boshqarish haqida savol albatta bo'ladi. Ular ilovalarda ma'lumotlarni saqlashni qanday amalga oshirganliklarini va tarmoq so'rovlarini amalga oshirganliklarini so'rashlari mumkin. Ular REST va JSON asoslari haqida so'rashadi. Kichikdan aniq narsalar va nozikliklar so'ralmaydi. Hech bo'lmaganda men so'ramayman."

Boris boshqacha tajribaga ega bo'ldi: "Men amaliyot o'tashni so'raganimda, texnik topshiriqlarni bajarganimda va ish haqi men uchun muhim emasligini, agar kvartirani ijaraga olish uchun etarli ekanligini aytganimda ham, menga rad javobini berishdi. Men maqolalarni o'qib chiqdim, ishga qabul qiluvchiga yangi kelgandan nima kerakligini tushunishga harakat qildim. Ammo ular asosan nazariyalarda muvaffaqiyatsizlikka uchradilar. Negadir ular oliy ligadan yangi kelganlarga taalluqli bo'lmagan savollarni berishdi”.

Marat omadliroq edi. Hozir u transport kompaniyasida ishlaydi va fakultetda o'qishni davom ettirar ekan, iOS bo'limiga yolg'iz o'zi rahbarlik qiladi. "IOS uchun men yagona mas'ul bo'lganim sababli, mening ishim nazariya bilimim bilan emas, balki faqat menga yuklangan vazifalarni amalga oshirish qobiliyati bilan baholanadi."

Jamiyat

Andrey Nijniy Novgorodda yashaydi va u yerda ham katta jamoa shakllanganini aytadi. Bir vaqtlar u Python-da backend dasturchisi bo'lgan, ammo do'stlari uni mobil dasturni ishlab chiqishga jalb qilishgan - va endi uning o'zi hammani buni qilishga undaydi.

“Global hamjamiyat odatda Twitter orqali muloqot qiladi. Odamlar o'z bloglarini yozadilar, Youtube-da video yozadilar, bir-birlarini podkastlarga taklif qiladilar. Bir kuni menda HQTrivia jamoasi rahbari gapirgan taqdimot haqida savol bor edi. Bu bir vaqtning o'zida bir necha million kishi tomonidan o'ynaladigan Amerika viktorina o'yini. Men unga Twitterda yozdim, u menga javob berdi, biz gaplashdik va men unga rahmat aytdim. Jamiyat juda do'stona, bu ajoyib. ”

Tavsiya etilgan adabiyotlar ro'yxatiBoshlang'ich darajasi:

O'rtacha darajasi:

Yuqori daraja:

Manba: www.habr.com

a Izoh qo'shish