Bir iOS inkişaf etdiricisi olmaq istəyirsinizsə, nə gözləmək lazımdır

Bir iOS inkişaf etdiricisi olmaq istəyirsinizsə, nə gözləmək lazımdır

İOS-dan kənardan baxanda inkişaf qapalı klub kimi görünə bilər. İşləmək üçün mütləq bir Apple kompüterinə ehtiyacınız var; ekosistem bir şirkət tərəfindən yaxından idarə olunur. İçəridən bəzən ziddiyyətlər də eşidə bilərsiniz - bəziləri Objective-C dilinin köhnə və yöndəmsiz olduğunu, digərləri isə yeni Swift dilinin çox kobud olduğunu deyir.

Buna baxmayaraq, tərtibatçılar bu sahəyə girirlər və bir dəfə oradan razı qalırlar.

Bu dəfə Marat Nurqaliev və Boris Pavlov bizə öz təcrübələrini - peşəni necə öyrəndiklərini, ilk müsahibələrini necə keçdiklərini, niyə imtina aldıqlarını danışdılar. Və ekspert qismində dekan Andrey Antropov çıxış etdi iOS İnkişafı Fakültəsi GeekBrains-də.

2016-cı ildə Həştərxan vilayətindən olan Marat Nurqaliev yerli televiziya şirkətinə mobil tərtibatçı kimi işə düzəlmək üçün gəldi. Bu, onun ilk müsahibəsi idi. O, təcrübə və təcrübə olmadan ordudan təzə qayıtmışdı, hətta problemi olan nəzəriyyəni belə unutmuşdu. Maratın mobil inkişafda yeganə təcrübəsi onun Android proqramları vasitəsilə məlumat sızması axınının təhlili üzrə dissertasiyası olub. Müsahibədə ondan təhsili, OOP və digər nəzəriyyələr barədə soruşdular, lakin Marat biliyindəki boşluqları gizlədə bilmədi.

Bununla belə, ona imtina edilmədi, amma praktiki tapşırıq verildi - iki həftə ərzində API-dən istifadə edərək xəbərlərin siyahısını nümayiş etdirmək. Həm iOS, həm də Android üçün. “Android-də hər hansı təcrübəm olsaydı, iOS versiyasını yaratmaq üçün alət belə yox idi. iOS proqram inkişaf mühiti yalnız Mac-da mövcuddur. Amma iki həftə sonra mən geri qayıtdım və Android-də nə edə biləcəyimi göstərdim. iOS ilə mən bunu tez başa düşməli oldum. Sonda məni apardılar. Sonra Həştərxanda yaşadım. İyirmidən yuxarı maaşı olan istənilən İT işi mənə uyğun gəlirdi”.

iOS tərtibatçıları kimlərdir?

Mobil tərtibatçılar istənilən portativ cihaz üçün proqramlar hazırlayırlar. Smartfonlar, planşetlər, smart saatlar və Android və ya iOS-u dəstəkləyən bütün digər platformalar. Mobil inkişafın fundamental prinsipləri adi inkişafdan fərqlənmir, lakin xüsusi alətlər sayəsində o, ayrıca istiqamətə ayrılıb. Öz alətlərindən, proqramlaşdırma dillərindən və çərçivələrindən istifadə edir.

“iOS ilə işləmək üçün sizə MacBook lazımdır, çünki yalnız onun lazımi Xcode inkişaf mühiti var. Pulsuzdur və AppStore vasitəsilə paylanır. Quraşdırmaq üçün Apple ID-niz olmalıdır və başqa heç nə yoxdur. Xcode-da siz hər şey üçün proqramlar hazırlaya bilərsiniz - telefon, planşet, saat. Hər şey üçün daxili simulyator və redaktor var”, - GeekBrains-in iOS inkişaf şöbəsinin dekanı Andrey Antropov deyir.

“Lakin Hackintosh istifadə etsəniz, inkişaf mühiti Windows-da quraşdırıla bilər. Bu işləyən, lakin dairəvi seçimdir - ciddi tərtibatçıların heç biri bunu etmir. Yeni başlayanlar köhnə MacBook alırlar. Təcrübəlilər isə adətən ən son modeli ödəyə bilirlər”.

Dillər - Swift və ya Objective-C

Demək olar ki, bütün iOS inkişafı Swift proqramlaşdırma dili ilə həyata keçirilir. Beş il əvvəl ortaya çıxdı və indi tədricən Apple-ın 30 ildən çox müddət ərzində bütün tətbiqlərində istifadə etdiyi köhnə Objective-C dilini əvəz edir.

“Objective-C-də böyük kod bazası toplanıb, ona görə də şirkətdən, onun tapşırıqlarından və tətbiqlərindən asılı olaraq hər iki dildə tərtibatçılar hələ də tələb olunur. Uzun illər əvvəl yazılmış ərizələr Objective-C-yə əsaslanır. Və bütün yeni layihələr standart olaraq Swift-də hazırlanır. İndi Apple bir telefon, planşet, saat və MacBook üçün eyni vaxtda inkişafı mümkün qədər rahat etmək üçün çox şey edir. Eyni kodu hər yerdə tərtib etmək və işlətmək olar. Bu əvvəllər baş vermədi. iOS üçün Swift-də, MacOS üçün isə Objective-C-dən istifadə etdik”.

Andreyin sözlərinə görə, Swift yeni başlayanlar üçün çox sadə dildir. Layihənin tərtibi mərhələsində bir çox səhvləri tutmağa imkan verən ciddi şəkildə yazılmışdır və səhv kod sadəcə işləməyəcəkdir.

“Objective-C kifayət qədər köhnə bir dildir - C++ dili ilə eyni yaşdadır. Hazırlandığı dövrdə dillərə olan tələblər tamamilə fərqli idi. Swift çıxanda səhv idi, funksionallıq məhdud idi və sintaksis kobud idi. Və insanların əlləri Objective-C ilə dolu idi. Uzun illərdir ki, təkmilləşdirilib, oradakı bütün səhvlər düzəldilib. Ancaq indi düşünürəm ki, Swift Objective-C qədər yaxşıdır. Baxmayaraq ki, hətta Apple hələ də hər ikisini layihələrində istifadə edir. Dillər əsasən bir-birini əvəz edir və bir-birini tamamlayır. Bir dilin strukturları və obyektləri başqa bir dilin obyekt və strukturlarına çevrilə bilər. Hər iki variantı bilmək yaxşıdır, lakin yeni başlayanlar üçün Objective-C çox vaxt qorxuducu və çaşdırıcı görünür."

təlim

“İlk işimdə müdirim məni öyrətdi, layihənin həyata keçirilməsində və qurulmasında mənə kömək etdi,” Marat deyir, “Ancaq eyni zamanda Android və iOS-da işləmək çətindir. Yenidən qurmaq, layihədən layihəyə, dildən dilə keçmək üçün vaxt lazımdır. Sonda qərara gəldim ki, bir istiqamət seçib onu öyrənməliyəm. Məni Xcode interfeysi və Swift-in sadə sintaksisi ilə satdılar."

Marat GeekBrains-də iOS inkişaf şöbəsinə daxil oldu. Əvvəlcə çox asan idi, çünki iş təcrübəsindən çox şey bilirdi. İllik kurs dörd rübə bölünür. Andreyin sözlərinə görə, birincisi yalnız ən əsasları verir: “Swift dilinin əsasları, əsas çərçivələr, şəbəkələr, məlumatların saxlanması, tətbiqin həyat dövrü, nəzarətçi, əsas arxitekturalar, hər kəsin istifadə etdiyi əsas kitabxanalar, çox iş parçacığı və paralellik. tətbiqlər.”

İkinci rüb Objective-C əlavə edir. Memarlıq və əsas proqramlaşdırma nümunələri üzrə kurs keçirilir. Üçüncü rübdə düzgün kod yazmağı öyrədirlər. Fabrikin nə olduğunu, testləri necə düzgün yazmağı, layihələr yaratmağı, Git-Flow-un nə olduğunu, Fast Lane vasitəsilə Davamlı İnteqrasiyanı izah edir. Dördüncü və sonuncu rüb komanda işi, praktiki tapşırıqlar və təcrübələrə həsr olunub.

“Birinci rüb asan idi,” Marat deyir, “amma sonra mən Objective-C-də proqramlaşdırmanı öyrənməyə, dizayn nümunələrini, Solid, Git-Flow prinsiplərini, layihə arxitekturasını, tətbiqlərin vahid və UI testini öyrənməyə, xüsusi animasiya qurmağa başladım. - və sonra mən öyrənmək maraqlı oldu."

Boris Pavlov deyir ki, "GeekBrains-də bu, mənim üçün çox rəvan başlamadı" və onun iOS-un inkişafına gedən yolu ümumiyyətlə ən birbaşa deyildi. Oğlanı nənəsi böyüdüb. O, memar, riyaziyyatçı və dizayner idi və Borisə dizayn sevgisi aşıladı, ona əl ilə çəkməyi və çəkməyi öyrətdi. Əmisi sistem administratoru idi və qardaşı oğlunu kompüterlərlə maraqlandırırdı.

Boris əla şagird idi, lakin oxumağa marağını itirdi və doqquz sinifdən sonra məktəbi tərk etdi. Kollecdən sonra velosiped sürməyə başladı və kompüterlər arxa plana keçdi. Ancaq bir gün Boris onurğasından zədə aldı və bu, onun idman karyerasını davam etdirməsinə mane oldu.

İrkutsk Günəş-Yer Fizika İnstitutunda müəllimlə C++ dilini öyrənməyə başladı. Daha sonra oyun inkişafı ilə maraqlandım və C#-a keçməyə çalışdım. Və nəhayət, Marat kimi Svift dilinin əsiri oldu.

“Mən GeekBrains-də pulsuz giriş kursunu keçməyə qərar verdim. Düzünü desəm, o, çox darıxdırıcı, ləng və anlaşılmaz idi,” Boris xatırlayır, “müəllim dilin xüsusiyyətlərindən danışırdı, lakin mahiyyətini açmadan bir mövzudan digərinə qaçırdı. Kurs bitəndə mən hələ heç nə başa düşmədim”.

Buna görə də, giriş kursundan sonra Boris bir illik təlimə deyil, peşənin əsaslarını öyrətdikləri qısa üç aylıq kursa yazıldı. "Mən orada çox yaxşı müəllimlər tapdım və onlar hər şeyi aydın şəkildə izah etdilər."

“Bizi tez-tez tənqid edirlər, guya təlim kitabçalarımız tam müasir deyil, qeyri-dəqiqliklər var. Amma kurslar daim yenilənir və müəllimlər həmişə yeniliklərdən danışırlar. Rəhbərlik etdiyim qrupların çoxu birinci rübdən sonra iş tapır. Təbii ki, adətən bunlar proqramlaşdırma təcrübəsi olan insanlardır” deyən Andrey, “Digər tərəfdən, bütün bilikləri bir kursda çatdırmaq olmaz. Şəbəkə müştərisinin həyatda qarşılıqlı əlaqəsi on iki saatlıq mühazirəyə sığdırıla bilməz. Yalnız kurslara gedirsinizsə və başqa bir şey etmirsinizsə, o zaman kifayət qədər biliyə sahib olmayacaqsınız. Bütün il ərzində hər gün oxuyursansa, bu tempdə yalnız tənbəllər işə düzəlməyəcək. Çünki peşəyə tələbat çox yüksəkdir”.

Bir iOS inkişaf etdiricisi olmaq istəyirsinizsə, nə gözləmək lazımdır

Ən çox görə bilərsiniz son vakansiyalar iOS tərtibatçıları üçün və yenilərinə abunə olun.

Ancaq nə Marat, nə də Boris asanlıqla iş tapmadı.

“Bəzi böyük firmalar Objective-C-də uzun müddətdir iOS proqramlarını işləyib hazırlayıblar və köhnə kod bazasını saxlamağa davam edirlər. Təəssüf ki, onları yalnız Swift-dən istifadə etməyə məcbur etmək üçün tutarlı bir arqumentim yoxdur. Xüsusilə “işləyənə toxunmayın” qaydasından istifadə edənlər, Marat deyir, “Geekbrains-də Objective-C istiqamətinə az diqqət yetirilir. Bu, daha çox məlumat xarakteri daşıyır. Ancaq müsahibə aldığım hər şirkət Objective-C haqqında soruşdu. Tədrislərim Swift üzərində cəmləşdiyindən, əvvəlki işim kimi, müsahibələrdə rədd cavabları aldım”.

Boris deyir: "Oxuduqdan sonra mən təkbaşına yalnız ən səthi əsasları bilirdim, onların köməyi ilə ən sadə tətbiqi yarada bildim." İş üçün, əlbəttə ki, bu kifayət deyildi, amma buna sevindim. İrkutskda iş tapmaq çətin idi. Daha dəqiq desək - heç də yox. Başqa şəhərlərə baxmaq qərarına gəldim. Vakansiyaların sayına görə, Krasnodar, Moskva və Sankt-Peterburq ən aktual oldu. Sankt-Peterburqa getməyə qərar verdim - Avropaya daha yaxın.

Ancaq hər şey o qədər də çəhrayı olmadığı ortaya çıxdı. Hətta kiçik uşaq bilə bilmədiyi üçün bağışlanacaq. Hələ iş tapmamışam. “Təşəkkür edirəm” üçün çalışıram, təcrübə qazanıram. Başa düşürəm ki, bu mənim istədiyim deyil, amma maraqlanıram və bu məni sürükləyir. Mən bilik əldə etmək istəyirəm”.

Andrey hesab edir ki, yeni gələnlər iş yox, təcrübə axtarmalıdırlar. Əgər çox az məlumatınız varsa, stajın ödənişsiz olması normaldır. Andrey, iş prosesinin artıq qurulduğu böyük şirkətlərə kiçik vakansiyalar üçün müraciət etməyi məsləhət görür.

“Proqramın hazırlanması prosesinin necə işlədiyini başa düşdükdə, istəklərinizdən asılı olaraq naviqasiya etmək və əlavə iş tapmaq daha asan olacaq. Bəzi insanlar müstəqil inkişafa gedir, özləri üçün oyunlar hazırlayır, onları mağazaya yükləyir və özləri pul qazanırlar. Bəziləri ciddi qaydaları olan böyük bir şirkətdə işləyir. Bəzi insanlar xüsusi proqram təminatı hazırlayan kiçik studiyalarda pul qazanır və orada onlar bütün prosesi - sıfırdan layihə yaratmaqdan mağazaya çatdırmağa qədər izləyə bilərlər.

Əmək haqqı

Bir iOS tərtibatçısının maaşı, hər hansı digər kimi, "Moskva və ya Rusiya" sualından asılıdır. Ancaq sənayenin xüsusiyyətlərinə görə - çoxlu uzaq iş, köçmə və regional bazarda olmayan iş imkanları - rəqəmlər getdikcə bir-birinə yaxınlaşır.

Bir iOS inkişaf etdiricisi olmaq istəyirsinizsə, nə gözləmək lazımdır

My Circle maaş kalkulyatoruna görə, iOS tərtibatçısının orta əmək haqqı bir qədər azdır 140 000 rubl.

“Çox aşağı səviyyədə olan bir gənc tez-tez pulsuz və ya simvolik pul üçün işləyir - 20-30 min rubl. Bir kiçik vəzifəyə məqsədyönlü aparılsa, o, 50 mindən 80 minə qədər alacaq. Ortalar 100-dən 150-yə, bəzən hətta 200-ə qədər alırlar. Böyüklər 200-dən az almırlar. Məncə, onların maaşı 200-300 civarındadır. Komanda liderləri üçün isə müvafiq olaraq 300-dən çoxdur.

Bir iOS inkişaf etdiricisi olmaq istəyirsinizsə, nə gözləmək lazımdır

Müsahibələr

“İlk müsahibə Skype-da baş tutub. Məni təəccübləndirən odur ki, bu, Google idi,” Boris xatırlayır, “o zaman mən Sankt-Peterburqa yeni köçmüşdüm və iş axtarmağa başlamışdım. Mən iOS developer vəzifəsi üçün ərizə aldım. Kiçik deyil, orta deyil, böyük deyil - sadəcə bir inkişaf etdirici. Mən sevindim və menecerlə yazışmağa başladım. Məndən texniki tapşırığı yerinə yetirməyi tapşırdılar: Çak Norris haqqında zarafat üçün ərizə yazmalıydım. mən yazdım. Mənə hər şeyin əla olduğunu dedilər və onlayn müsahibə təyin etdilər.

Bir-birimizə zəng etdik. Mənimlə gözəl bir qız danışdı. Ancaq dil biliyi ilə bağlı heç bir sual vermədilər - yalnız müxtəlif məntiqi məsələlər, məsələn, “Saat 15:15, saat və dəqiqə əqrəbləri arasında neçə dərəcə var?” və ya “Bir yazı 10 metr uzunluğundadır, ilbiz gündüz 3 metr yuxarı sürünür, gecə isə 1 metr aşağı enir”. Neçə gündən sonra zirvəyə sürünəcək?", və daha bir neçə oxşar.

Sonra çox qəribə suallar yarandı - mən Apple-ı niyə sevirəm və Tim Kuka necə münasibət bəsləyirəm. Mən dedim ki, şirkət bütövlükdə ona qarşı müsbət, əksinə mənfidir, çünki onun üçün məhsul yox, pul önəmlidir.

Swift haqqında suallar başlayanda mənim biliklərim yalnız proqramlaşdırma nümunələri və OOP əsasları üçün kifayət idi. Sağollaşdıq, bir həftə sonra mənə zəng edib dedilər ki, uyğun deyiləm. Əslində, mən bundan çox böyük təcrübə qazandım: bilik lazımdır, çox şey lazımdır - həm nəzəriyyə, həm də praktika”.

Andrey deyir ki, “müsahibə zamanı hər kəsdən soruşulan ilk şey nəzarətçinin həyat dövrüdür. Onlar həqiqətən bəzi sadə proqramlaşdırma nümunəsi istəməyi sevirlər. Məşhur kitabxanalardan istifadə təcrübəniz haqqında mütləq soruşacaqlar. Swift Dəyər Növlərinin Referans Tiplərindən fərqləri, Avtomatik Referans Sayılması və yaddaşın idarə edilməsi ilə bağlı sual mütləq olacaq. Onlar proqramlarda məlumat saxlanmasını necə həyata keçirdiklərini və şəbəkə sorğularını həyata keçirib-etmədiklərini soruşa bilərlər. Onlar REST və JSON-un əsasları haqqında soruşacaqlar. Kiçikdən konkret şeylər və incəliklər tələb olunmayacaq. Heç olmasa soruşmuram”.

Borisin başqa bir təcrübəsi var idi: “Hətta təcrübə keçmək istəyəndə, texniki tapşırıqları yerinə yetirəndə və maaşın mənim üçün vacib olmadığını, nə qədər ki, mənzil kirayə vermək kifayətdir deyəndə, yenə də mənə rədd cavabı verildi. Məqalələri oxudum, işəgötürənin yeni gələndən nəyə ehtiyacı olduğunu anlamağa çalışdım. Lakin onlar əsasən nəzəriyyələrdə uğursuz oldular. Nədənsə ali liqadan yeni gələnlərə dəxli olmayan suallar verdilər”.

Marat daha şanslı idi. İndi o, nəqliyyat şirkətində işləyir və fakültədə təhsilini davam etdirərkən iOS şöbəsinə təkbaşına rəhbərlik edir. “iOS-a cavabdeh olan yeganə şəxs olduğum üçün işim nəzəriyyə biliklərimlə deyil, yalnız mənə tapşırılan vəzifələri yerinə yetirmək bacarığımla qiymətləndirilir”.

Icma

Andrey Nijni Novqorodda yaşayır və deyir ki, hətta orada böyük bir icma formalaşıb. Bir vaxtlar o, Python-da backend developer idi, lakin dostları onu mobil inkişafa sürüklədilər - indi o, hər kəsi bunu etməyə təşviq edir.

“Qlobal birlik adətən Twitter vasitəsilə ünsiyyət qurur. İnsanlar öz bloqlarını yazır, Youtube-da videolar çəkir, bir-birlərini podkastlara dəvət edirlər. Bir gün HQTrivia komanda rəhbərinin çıxış etdiyi təqdimatla bağlı sualım var idi. Bu, eyni vaxtda bir neçə milyon insan tərəfindən oynanan Amerika viktorina oyunudur. Tvitterdə ona yazdım, mənə cavab verdi, danışdıq, təşəkkür etdim. İcma son dərəcə mehribandır, bu əladır”.

Tövsiyə olunan ədəbiyyatın siyahısıBaşlanğıc səviyyəsi:

Orta səviyyə:

Qabaqcıl səviyyə:

Mənbə: www.habr.com

Добавить комментарий