Эгер сиз iOS иштеп чыгуучусу болгуңуз келсе, эмнени күтүшүңүз керек

Эгер сиз iOS иштеп чыгуучусу болгуңуз келсе, эмнени күтүшүңүз керек

iOS'тун сыртынан караганда, өнүгүү жабык клуб сыяктуу сезилиши мүмкүн. Иштөө үчүн сизге сөзсүз түрдө Apple компьютери керек; экосистеманы бир компания катуу көзөмөлдөйт. Ичинен кээде карама-каршылыктарды угууга болот - кээ бирөөлөр Objective-C тилин эски жана олдоксон дешет, ал эми башкалары жаңы Swift тили өтө одоно дешет.

Ошого карабастан, иштеп чыгуучулар бул аймакка кирип, ал жакка барганда ыраазы болушат.

Бул жолу бизге Марат Нургалиев менен Борис Павлов өздөрүнүн тажрыйбалары – кесипти кантип үйрөнүшкөндөрү, алгачкы интервьюларынан кантип өткөндөрү, эмне үчүн баш тартуулар алганы тууралуу айтып беришти. Ал эми эксперттин милдетин декан Андрей Антропов аткарды iOS өнүктүрүү факультети GeekBrains боюнча.

2016-жылы Астрахань облусунан Марат Нургалиев жергиликтүү телекомпанияга мобилдик иштеп чыгуучу болуп ишке орношуу үчүн келген. Бул анын биринчи интервьюсу болду. Ал армиядан жаңы эле кайтып келген, практикасы жана тажрыйбасы жок, жада калса теорияны да унутуп койгон, ал тургай буга чейин көйгөйлөрү бар болчу. Мараттын мобилдик өнүктүрүүдөгү жалгыз тажрыйбасы анын Android тиркемелери аркылуу маалыматтын агып кетишин талдоо боюнча диссертациясы болгон. Интервьюда андан окуусу, OOP жана башка теориялар тууралуу сурашты, бирок Марат билиминдеги кемчиликтерди жашыра алган жок.

Бирок, ага баш тарткан жок, бирок практикалык тапшырма берилди - эки жуманын ичинде API аркылуу жаңылыктардын тизмесин көрсөтүүнү ишке ашыруу. iOS жана Android үчүн. «Эгер менде Android боюнча кандайдыр бир тажрыйба болсо, анда iOS версиясын түзүү үчүн курал да жок болчу. iOS тиркемесин иштеп чыгуу чөйрөсү Mac'та гана жеткиликтүү. Бирок эки жумадан кийин мен кайтып келип, Androidде эмне кыла аларымды көрсөттүм. iOS менен мен аны тез эле түшүнүшүм керек болчу. Акыры мени алып кетишти. Андан кийин Астраханда жашачумун. Айлыгы жыйырмадан жогору болгон бардык IT жумушу мага ылайыктуу».

iOS иштеп чыгуучулары кимдер?

Мобилдик иштеп чыгуучулар каалаган портативдик түзмөк үчүн тиркемелерди жасашат. Смартфондор, планшеттер, акылдуу сааттар жана Android же iOS колдогон бардык башка платформалар. Мобилдик өнүгүүнүн фундаменталдык принциптери кадимки өнүгүүдөн эч айырмаланбайт, бирок конкреттүү инструменттердин аркасында ал өзүнчө багытка бөлүнгөн. Ал өзүнүн куралдарын, программалоо тилдерин жана алкактарын колдонот.

“iOS менен иштөө үчүн сизге MacBook керек, анткени анда гана керектүү Xcode иштеп чыгуу чөйрөсү бар. Бул бекер жана AppStore аркылуу таратылат. Орнотуу үчүн сизде Apple ID болушу керек жана башка эч нерсе жок. Xcode'до сиз каалаган нерсеге - телефон, планшет, саат үчүн тиркемелерди иштеп чыга аласыз. Бардык нерсе үчүн орнотулган симулятор жана редактор бар”, - дейт GeekBrains компаниясынын iOS өнүктүрүү бөлүмүнүн деканы Андрей Антропов.

"Бирок Hackintosh колдонсоңуз, иштеп чыгуу чөйрөсүн Windows'ко орнотууга болот. Бул жумушчу, бирок айланма вариант - олуттуу иштеп чыгуучулардын бири да муну жасабайт. Жаңы баштагандар эски MacBook сатып алышат. Ал эми тажрыйбалуулар эң акыркы моделди сатып ала алышат».

Тилдер - Swift же Objective-C

Дээрлик бардык iOS иштеп чыгуулары Swift программалоо тили аркылуу ишке ашырылат. Ал беш жыл мурун пайда болгон жана азыр акырындык менен Apple өзүнүн бардык тиркемелеринде 30 жылдан ашык колдонгон эски Objective-C тилин алмаштырып жатат.

"Ojective-Cде чоң код базасы топтолгон, ошондуктан компанияга, анын милдеттерине жана тиркемелерине жараша эки тилде дагы иштеп чыгуучулар талап кылынат. Көп жылдар мурун жазылган арыздар Objective-Cге негизделген. Жана бардык жаңы долбоорлор демейки боюнча Swiftте иштелип чыгат. Азыр Apple телефонду, планшетти, саатты жана MacBookту мүмкүн болушунча ыңгайлуу кылуу үчүн көп иштерди жасап жатат. Ошол эле кодду бардык жерде түзүүгө жана иштетүүгө болот. Бул мурда болгон эмес. iOS үчүн биз Swiftте иштеп чыктык, MacOS үчүн Objective-C колдондук.

Андрейдин айтымында, Свифт жаңы баштагандар үчүн абдан жөнөкөй тил. Ал катуу терилген, бул долбоорду түзүү баскычында көптөгөн каталарды кармоого мүмкүндүк берет жана туура эмес код жөн гана иштебейт.

"Objective-C - бул абдан эски тил - C++ тили менен бир жашта. Ал иштелип чыккан учурда, тилдерге талаптар такыр башкача болгон. Свифт чыкканда, ал ката болгон, функционалдуулугу чектелген жана синтаксиси орой болгон. Ал эми адамдардын колдору Objective-C менен толгон. Көп жылдан бери жакшыртылган, ал жердеги бардык каталар оңдолгон. Бирок азыр мен Свифтти Objective-C сыяктуу жакшы деп ойлойм. Атүгүл Apple дагы өз долбоорлорунда экөөнү тең колдонот. Тилдер негизинен бири-бирин алмаштыруучу жана бири-бирин толуктап турат. Бир тилдин структуралары жана объекттери башка тилдин объектилерине жана структураларына айланышы мүмкүн. Эки вариантты тең билүү жакшы, бирок жаңыдан баштагандар үчүн Objective-C көбүнчө коркутуп-үркүтүүчү жана чаташкандай сезилет."

үйрөтүү

«Биринчи жумушумда жетекчисим мени окутуп, долбоорду ишке ашырууга жана орнотууга жардам берди, - дейт Марат, «Бирок Android жана iOS системаларында бир эле учурда иштөө кыйын. Кайра куруу, долбоордон долбоорго, тилден тилге өтүү үчүн убакыт керек. Акырында мен бир багытты тандап, аны изилдөө керек деп чечтим. Мен Xcode интерфейсинде жана Swiftтин жөнөкөй синтаксисинде сатылдым."

Марат GeekBrains компаниясынын iOS өнүктүрүү бөлүмүнө кирди. Алгач иш тажрыйбасынан көп нерселерди билгендиктен, абдан оңой болду. Жылдык курс төрт кварталга бөлүнөт. Андрейдин айтымында, биринчиси эң негизги нерселерди гана берет: «Свифт тилинин негизи, негизги фреймворктарды билүү, тармактарды түзүү, маалыматтарды сактоо, тиркеменин жашоо цикли, контроллер, негизги архитектуралар, бардыгы колдонгон негизги китепканалар, көп агымдык жана параллелизм арыздар».

Экинчи чейрек Максат-C кошот. Архитектура жана программалоонун негизги үлгүлөрү боюнча курс өткөрүлөт. Үчүнчү чейректе код жазуунун туура стилин үйрөтүшөт. Ал фабрика деген эмне экенин, тесттерди кантип туура жазууну, долбоорлорду түзүүнү, Git-Flow деген эмне экенин, Fast Lane аркылуу үзгүлтүксүз интеграцияны түшүндүрөт. Төртүнчү жана акыркы чейрек командалык иштөөгө, практикалык тапшырмаларга жана стажировкага арналган.

"Биринчи чейрек жеңил болду, - дейт Марат, - бирок андан кийин мен Objective-Cде программалоону үйрөнө баштадым, дизайн үлгүлөрүн, Solid, Git-Flow принциптерин, долбоордун архитектурасын, тиркемелерди Unit жана UI тестирлөөсүн, ыңгайлаштырылган анимацияны орнотууну үйрөндүм. - Анан мен окуу кызыктуу болуп калды.

"Бул мен үчүн GeekBrainsде оңой башталган жок", - дейт Борис Павлов жана анын iOS өнүктүрүүгө болгон жолу эң эле түз болгон эмес. Баланы чоң энеси чоңойткон. Ал архитектор, математик жана дизайнер болгон жана Бориске дизайнга болгон сүйүүсүн арттырган, аны кол менен тартууну жана тартууну үйрөткөн. Анын агасы системалык администратор болгон жана жээнин компьютерге кызыктырчу.

Борис мыкты окуучу болгон, бирок окууга болгон кызыгуусун жоготуп, тогуз класстан кийин мектепти таштап кеткен. Колледжди аяктагандан кийин ал велосипед тээп, компьютерлер экинчи планга өтүп кеткен. Бирок бир күнү Борис омурткасынан жаракат алып, анын спорттук карьерасын улантууга тоскоол болгон.

Ал C++ тилин Иркутск Күн-Жер физикасы институтунун окутуучусунан үйрөнө баштаган. Анан мен оюндарды иштеп чыгууга кызыгып, C# тилине өтүүгө аракет кылдым. Акыры Мараттай Свифттин тилин өзүнө тартып алды.

«Мен GeekBrains компаниясында акысыз таанышуу курсун өтүүнү чечтим. Чынын айтсам, ал абдан тажатма, шалаакы жана түшүнүксүз эле, — деп эскерет Борис, — мугалим тилдин өзгөчөлүгүн айтып, бирок маңызын ачпай бир темадан экинчи темага шашып жатты. Курс аяктаганда мен дагы деле эч нерсени түшүнгөн жокмун».

Ошондуктан, таанышуу курсунан кийин Борис бир жылдык окууга эмес, уч айлык кыска курска жазылды, анда алар кесиптин негиздерин үйрөтүшөт. "Мен ал жактан абдан жакшы мугалимдерди таптым, алар бардыгын так түшүндүрүп беришти."

«Бизди көп сындашат, окуу куралдарыбыз толук жаңыртылган эмес, так эместиктер бар имиш. Бирок курстар тынымсыз жаңыланып турат, мугалимдер дайыма инновациялар жөнүндө айтып беришет. Мен жетектеген топтордун көбү биринчи кварталдан кийин жумушка орношот. Албетте, адатта булар программалоо тажрыйбасы бар адамдар, - дейт Андрей, - экинчи жагынан, бардык билимди бир курста жеткирүү мүмкүн эмес. Тармактык кардарлардын жашоодогу өз ара аракеттенүүсү он эки сааттык лекцияга сыйбайт. Эгер сиз курстарга гана барып, башка эч нерсе кылбасаңыз, анда билимиңиз жетишсиз болот. Жыл бою күн сайын окусаң, мындай темпте жалкоолор гана жумушка орношпойт. Анткени бул кесипке суроо-талап абдан жогору”.

Эгер сиз iOS иштеп чыгуучусу болгуңуз келсе, эмнени күтүшүңүз керек

Сиз эң көп көрө аласыз акыркы бош орундар iOS иштеп чыгуучулары үчүн жана жаңыларына жазылыңыз.

иш

Бирок Марат да, Борис да оңой менен жумушка орношкон эмес.

«Айрым ири фирмалар көптөн бери Objective-Cде iOS тиркемелерин иштеп чыгышкан жана эски код базасын сактап калышты. Тилекке каршы, менде аларды Swiftти эксклюзивдүү колдонууга мажбурлай турган орчундуу аргумент жок. Айрыкча, "иштей турган нерсеге тийбе" эрежесин колдонгондор, дейт Марат, "Geekbrainsде Objective-C багытына аз көңүл бурулат. Бул көбүрөөк маалыматтык мүнөзгө ээ. Бирок мен интервью берген ар бир компания Objective-C жөнүндө сурашты. Менин окуум Свифтке багытталгандыктан, мурунку ишимдей эле, интервьюлардан баш тарттым».

"Окугандан кийин, мен эң жөнөкөй тиркемени түзө алчу эң үстүртөн гана негиздер менен тааныштым", - дейт Борис. Иркутскиде жумуш табуу кыйын болду. Тагыраак айтканда - такыр эмес. Башка шаарларды карап көрүүнү чечтим. Бош орундардын саны боюнча Краснодар, Москва жана Санкт-Петербург эң актуалдуу болуп чыкты. Мен Санкт-Петербургга барууну чечтим - Европага жакыныраак.

Бирок баары анчалык кызгылт эмес болуп чыкты. Кичинекей баланын да билбегени кечирилет. Азырынча жумуш таба элекмин. Мен "рахмат" үчүн иштеп жатам, тажрыйба топтойм. Бул мен каалаган нерсе эмес экенин түшүнөм, бирок мен кызыгам жана бул мени айдайт. Мен билим алгым келет».

Андрей жаңы келгендер жумуш эмес, стажировка издеши керек деп эсептейт. Эгер сизде абдан аз билим бар болсо, анда стажировка акы төлөнбөй калышы нормалдуу көрүнүш. Андрей жумуш процесси түзүлгөн ири компанияларга кенже вакансияларга кайрылууга кеңеш берет.

«Программалык камсыздоону иштеп чыгуу процесси кандай иштээрин түшүнгөндө, каалооңузга жараша навигация жана андан аркы жумуш табуу бир топ жеңилдейт. Кээ бир адамдар өз алдынча өнүгүүгө киришип, өздөрү үчүн оюндарды жасап, дүкөнгө жүктөп, өздөрү акча табышат. Кээ бирлери катуу эрежелери бар чоң компанияда иштешет. Кээ бир адамдар ыңгайлаштырылган программалык камсыздоону жасаган чакан студияларда акча табышат жана ал жерде алар долбоорду нөлдөн баштап дүкөнгө жеткирүүгө чейинки процессти көрө алышат.

айлык

IOS иштеп чыгуучунун айлыгы, башкалары сыяктуу эле, "Москва же Орусия" деген суроого жараша болот. Бирок тармактын өзгөчөлүгүнө байланыштуу - алыскы жумуштун көптүгү, көчүп кетүү жана региондук рынокто эмес иштөө мүмкүнчүлүгү - сандар бири-бирине жакындап баратат.

Эгер сиз iOS иштеп чыгуучусу болгуңуз келсе, эмнени күтүшүңүз керек

My Circle айлык калькуляторуна ылайык, iOS иштеп чыгуучунун орточо айлык акысы бир аз азыраак 140 000 рублдери.

«Өтө төмөн деңгээлдеги кенже студент көбүнчө бекер же символикалык акчага иштейт - 20-30 миң рубль. Эгер кенже бирөөнү атайылап кызматка алып кетсе 50 миңден 80 миңге чейин алат. Ортолуктар 100дөн 150гө чейин, кээде 200гө чейин алышат. Карылар 200дөн кем алышпайт. Алардын айлыгы 200-300дүн тегерегинде деп ойлойм. Ал эми команда лидерлери үчүн, демек, 300дөн ашат.

Эгер сиз iOS иштеп чыгуучусу болгуңуз келсе, эмнени күтүшүңүз керек

Маектешүүлөр

«Биринчи интервью Skype аркылуу өттү. Мени таң калтырганы, бул Google болду, - деп эскерет Борис, - ошондо мен жаңы эле Санкт-Петербургга көчүп келип, жумуш издеп баштадым. Мен iOS иштеп чыгуучу кызматына арыз алдым. Кенже эмес, орто эмес, улуу эмес - жөн гана иштеп чыгуучу. Мен сүйүнүп, менеджер менен кат жазышып баштадым. Менден техникалык тапшырманы аткарууну суранышты: Чак Норрис жөнүндө тамашага арыз жазууга туура келди. мен жаздым. Алар мага баары сонун болгонун айтып, онлайн маектешүүнү пландаштырышты.

Биз бири-бирибизге телефон чалды. Мени менен жакшы кыз сүйлөштү. Бирок алар тилди билүү боюнча эч кандай суроолорду беришкен жок – ар кандай логикалык маселелер, мисалы: «Убакыт 15:15, саат менен мүнөттүн жебелеринин ортосунда канча градус бар?» же «Посттун узундугу 10 метр, а үлүл күндүзү 3 метр өйдө сойлосо, түнкүсүн 1 метрге ылдыйлайт». Ал канча күндөн кийин чокуга сойлоп чыгат?», жана дагы бир-эки окшош.

Анан абдан кызык суроолор пайда болду - эмне үчүн мен Appleди жакшы көрөм жана Тим Кукка кандай карайм. Мен компаниянын жалпысынан оң, тескерисинче, ага карата терс экенин айттым, анткени ал үчүн продукт эмес, акча маанилүү.

Swift жөнүндө суроолор башталганда, менин билимим программалоо үлгүлөрү жана OOP негиздери үчүн гана жетиштүү болчу. Коштоштук, бир жумадан кийин кайра чалып, жарашпайм дешти. Чынында, мен ушундан эбегейсиз чоң тажрыйба алдым: билим керек, сага көп нерсе керек – теория да, практика да».

Андрей мындай дейт: «Интервью учурунда баарынан биринчи суралуучу нерсе - контролердун жашоо цикли. Алар чындап эле жөнөкөй программалоо үлгүсүн сураганды жакшы көрүшөт. Алар сөзсүз түрдө популярдуу китепканаларды колдонуу тажрыйбаңыз жөнүндө сурашат. Сөзсүз түрдө Swift баалуулук түрлөрүнүн маалымдама түрлөрүнөн айырмасы, Автоматтык маалымдама эсептөө жана эс тутумду башкаруу жөнүндө суроо болот. Алар тиркемелерде маалыматтарды сактоону кантип ишке ашырышканын жана тармактык суроо-талаптарды ишке ашырышканбы же жокпу деп сурашы мүмкүн. Алар REST жана JSON негиздери жөнүндө сурашат. Кенжеден конкреттүү нерселер жана кылдаттыктар суралбайт. Жок дегенде мен сурабайм".

Бористин башынан башкача окуя болгон: «Мен стажировкадан өтүүнү суранып, техникалык тапшырмаларды аткарып, айлык маянам мен үчүн маанилүү эмес, батирди ижарага алуу жетиштүү болсо да, мага дагы эле баш тартышты. Мен макалаларды окудум, жаңы келген адамдан жалдоочуга эмне керек экенин түшүнүүгө аракет кылдым. Бирок алар көбүнчө теориялар боюнча ийгиликке жете алышкан эмес. Эмнегедир жогорку лигадан жаңы келгендерге тиешеси жок суроолорду беришти».

Марат бактылуураак болчу. Азыр ал транспорттук ишканада иштеп, факультетте окуусун улантуу менен iOS бөлүмүн жалгыз башкарат. "IOS үчүн жалгыз мен жооптуу болгондуктан, менин ишим теория боюнча билимим менен эмес, мага жүктөлгөн милдеттерди аткаруу жөндөмдүүлүгүм менен гана бааланат".

коомчулук

Андрей Нижний Новгороддо жашайт жана ал жакта да чоң жамаат түзүлгөнүн айтат. Бир кездерде ал Pythonдо бэкенддин иштеп чыгуучусу болгон, бирок анын достору аны мобилдик өнүктүрүүгө сүйрөп келишкен - эми ал бардыгын муну кылууга үндөйт.

«Дүйнөлүк коомчулук адатта Twitter аркылуу байланышат. Адамдар өз блогдорун жазышат, Youtube'да видео жазышат, бири-бирин подкасттарга чакырышат. Бир күнү менде HQTrivia командасынын лидери сүйлөгөн презентация тууралуу суроо пайда болду. Бул бир эле учурда бир нече миллион адам ойногон америкалык викторина оюну. Мен ага Твиттерде жаздым, ал мага жооп берди, сүйлөштүк, мен ага ыраазычылык билдирдим. Коомчулук абдан ынтымактуу, бул эң сонун».

Сунушталган адабияттардын тизмесиБашталгыч деңгээл:

Орто деңгээл:

Өркүндөтүлгөн деңгээл:

Source: www.habr.com

Комментарий кошуу