Хэрэв та iOS хөгжүүлэгч болохыг хүсч байвал юу хүлээх вэ

Хэрэв та iOS хөгжүүлэгч болохыг хүсч байвал юу хүлээх вэ

iOS-ийн гадна талаас нь харахад хөгжүүлэлт нь хаалттай клуб мэт санагдаж болно. Ажиллахын тулд танд Apple-ийн компьютер хэрэгтэй бөгөөд экосистемийг нэг компани нягт хянадаг. Дотроос нь та бас заримдаа зөрчилдөөнийг сонсож болно - зарим нь Objective-C хэлийг хуучин бөгөөд болхи гэж хэлдэг бол зарим нь шинэ Свифт хэлийг хэтэрхий бүдүүлэг гэж хэлдэг.

Гэсэн хэдий ч хөгжүүлэгчид энэ талбарт орж, тэнд очоод сэтгэл хангалуун байдаг.

Энэ удаад Марат Нургалиев, Борис Павлов нар туршлагаасаа - мэргэжлийг хэрхэн сурсан, анхны ярилцлагадаа хэрхэн тэнцсэн, яагаад татгалзсан тухайгаа ярилаа. Мөн декан Андрей Антропов шинжээчээр ажилласан iOS хөгжлийн факультет GeekBrains дээр.

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

Гэсэн хэдий ч түүнд татгалзсангүй, харин хоёр долоо хоногийн дотор API ашиглан мэдээний жагсаалтыг харуулах практик даалгавар өгсөн. iOS болон Android аль алинд нь. “Хэрвээ надад Андройд дээр ямар нэгэн туршлагатай байсан бол iOS хувилбарыг бүтээх хэрэгсэл ч байгаагүй. iOS програм хөгжүүлэх орчин нь зөвхөн Mac дээр байдаг. Гэвч хоёр долоо хоногийн дараа би буцаж ирээд Android дээр юу хийж чадахаа харуулсан. iOS үйлдлийн системтэй бол би үүнийг шууд ойлгох хэрэгтэй болсон. Эцэст нь тэд намайг авав. Дараа нь би Астраханд амьдардаг байсан. Хорь гаруй цалинтай мэдээллийн технологийн ямар ч ажил надад тохирсон."

iOS хөгжүүлэгч гэж хэн бэ?

Гар утасны хөгжүүлэгчид ямар ч зөөврийн төхөөрөмжид зориулсан програмуудыг хийдэг. Android эсвэл iOS дэмждэг ухаалаг гар утас, таблет, ухаалаг цаг болон бусад бүх платформууд. Хөдөлгөөнт хөгжлийн үндсэн зарчмууд нь ердийн хөгжлөөс ялгаатай биш боловч тусгай хэрэгслүүдийн ачаар үүнийг тусдаа чиглэлд хуваасан. Энэ нь өөрийн хэрэгсэл, програмчлалын хэл, хүрээг ашигладаг.

“iOS-той ажиллахын тулд танд MacBook хэрэгтэй, учир нь зөвхөн түүнд шаардлагатай Xcode хөгжүүлэлтийн орчин бий. Энэ нь үнэ төлбөргүй бөгөөд AppStore-ээр дамжуулан түгээгддэг. Суулгахын тулд танд Apple ID байх ёстой бөгөөд өөр зүйл байхгүй. Xcode дээр та утас, таблет, цаг гэх мэт бүх зүйлд зориулсан програмуудыг боловсруулж болно. Бүх зүйлд суурилуулсан симулятор, засварлагч байдаг" гэж GeekBrains-ийн iOS хөгжүүлэлтийн хэлтсийн захирал Андрей Антропов хэлэв.

"Гэхдээ хэрэв та Hackintosh ашигладаг бол хөгжүүлэлтийн орчинг Windows дээр суулгаж болно. Энэ бол ажиллаж байгаа, гэхдээ тойргийн сонголт юм - ноцтой хөгжүүлэгчид үүнийг хийдэггүй. Эхлэгчдэд хуучин MacBook худалдаж авдаг. Туршлагатай хүмүүс ихэвчлэн хамгийн сүүлийн үеийн загварыг төлж чаддаг."

Хэлнүүд - Swift эсвэл Objective-C

Бараг бүх iOS хөгжүүлэлт нь Swift програмчлалын хэлийг ашиглан хийгддэг. Энэ нь таван жилийн өмнө гарч ирсэн бөгөөд одоо Apple-ийн 30 гаруй жилийн турш бүх хэрэглээнд ашиглаж байсан хуучин Objective-C хэлийг аажмаар сольж байна.

"Objective-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 хөгжүүлэлтийн хэлтэст орсон. Ажлын туршлагаасаа олон зүйлийг мэддэг болохоор эхэндээ их амархан байсан. Жилийн хичээл дөрвөн улиралд хуваагдана. Андрейгийн хэлснээр эхнийх нь зөвхөн үндсэн ойлголтуудыг өгдөг: "Свифт хэлний үндэс, үндсэн хүрээний мэдлэг, сүлжээ, өгөгдөл хадгалах, хэрэглээний амьдралын мөчлөг, хянагч, үндсэн архитектурууд, хүн бүрийн ашигладаг үндсэн сангууд, олон урсгалт болон параллелизм. програмууд."

Хоёрдугаар улирал нь Objective-C-ийг нэмдэг. Архитектур, програмчлалын үндсэн загваруудын талаар сургалт явуулдаг. Гуравдугаар улиралд тэд код бичих зөв хэв маягийг заадаг. Энэ нь үйлдвэр гэж юу болох, тестийг хэрхэн зөв бичих, төсөл үүсгэх, Git-Flow гэж юу болох, Fast Lane-ээр дамжуулан тасралтгүй интеграцчилал зэргийг тайлбарладаг. Дөрөв, сүүлийн улирал нь багаар ажиллах, практик даалгавар, дадлага хийхэд зориулагдсан.

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

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

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

Тэрээр Эрхүүгийн нарны болон газрын физикийн дээд сургуулийн багшийн дэргэд C++-д суралцаж эхэлсэн. Дараа нь тоглоом хөгжүүлэх сонирхолтой болж, C# руу шилжихийг оролдсон. Эцэст нь Марат шиг Свифт хэлэнд татагдсан.

“Би GeekBrains дээр үнэ төлбөргүй танилцуулах сургалтанд хамрагдахаар шийдсэн. Үнэнийг хэлэхэд тэр маш уйтгартай, хойрго, ойлгомжгүй байсан" гэж Борис дурсав, "багш хэлний онцлогийн талаар ярьсан боловч мөн чанарыг нь илчлэхгүйгээр нэг сэдвээс нөгөө рүү яаравчлав. Хичээл дуусахад би юу ч ойлгоогүй."

Тиймээс анхан шатны сургалтанд хамрагдсаны дараа Борис нэг жилийн сургалтанд хамрагдаагүй, харин гурван сарын богино хугацааны сургалтанд хамрагдаж, мэргэжлийнхээ үндсийг заадаг байв. "Би тэнд маш сайн багш нар олсон бөгөөд тэд бүх зүйлийг маш тодорхой тайлбарласан."

“Биднийг байнга шүүмжилдэг, манай сургалтын гарын авлага бүрэн шинэчлэгдээгүй, алдаа дутагдалтай байдаг. Гэхдээ хичээлүүд байнга шинэчлэгдэж, багш нар үргэлж шинэчлэлийн талаар ярьдаг. Миний удирддаг бүлгүүдийн ихэнх нь нэгдүгээр улирлын дараа ажилтай болдог. Мэдээжийн хэрэг, эдгээр нь ихэвчлэн програмчлалын туршлагатай хүмүүс байдаг" гэж Андрей хэлэхдээ, "Нөгөө талаар бүх мэдлэгийг нэг хичээлээр дамжуулах боломжгүй юм. Сүлжээний үйлчлүүлэгчийн амьдрал дахь харилцааг арван хоёр цагийн лекцэнд багтаах боломжгүй. Хэрэв та зөвхөн курст явж, өөр юу ч хийхгүй бол танд хангалттай мэдлэг байхгүй болно. Хэрэв та бүтэн жилийн турш өдөр бүр хичээллэдэг бол энэ хурдаар зөвхөн залхуу хүмүүс ажилд орохгүй. Учир нь энэ мэргэжлийн эрэлт хэрэгцээ маш өндөр байна” гэв.

Хэрэв та iOS хөгжүүлэгч болохыг хүсч байвал юу хүлээх вэ

Та хамгийн ихийг харж болно хамгийн сүүлийн үеийн сул орон тоо iOS хөгжүүлэгчид болон шинээр бүртгүүлэх.

ажил

Гэхдээ Марат ч, Борис ч тийм амархан ажил олж чадаагүй.

“Зарим томоохон пүүсүүд Objective-C дээр iOS програмуудыг удаан хугацаанд хөгжүүлсэн бөгөөд хуучин кодын баазыг үргэлжлүүлэн хадгалсаар байна. Харамсалтай нь тэдэнд зөвхөн Свифтийг ашиглахыг албадах ямар ч үндэслэлтэй аргумент надад алга. Ялангуяа "Ажилтай зүйлд бүү хүр" гэсэн дүрмийг ашигладаг хүмүүс 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-д хайртай, Тим Күүкийн талаар ямар бодолтой байдаг вэ? Би түүнд бүтээгдэхүүн биш мөнгө чухал учраас компани бүхэлдээ эерэг, харин түүнд сөрөг ханддаг гэж хэлсэн.

Свифтийн тухай асуултууд эхлэхэд миний мэдлэг зөвхөн програмчлалын загвар болон OOP-ийн үндсүүдэд л хангалттай байсан. Бид салах ёс гүйцэтгэсэн, долоо хоногийн дараа тэд над руу залгаад намайг тохирохгүй байна гэж хэлсэн. Үнэндээ би үүнээс асар их туршлага хуримтлуулсан: танд мэдлэг хэрэгтэй, танд маш их зүйл хэрэгтэй - онол, практик хоёулаа."

Андрей хэлэхдээ "Ярилцлагын үеэр хүн бүрээс хамгийн түрүүнд асуудаг зүйл бол хянагчийн амьдралын мөчлөг юм. Тэд маш энгийн програмчлалын загвар асуух дуртай. Тэд мэдээж алдартай номын санг ашиглах туршлагын талаар асуух болно. Свифт утгын төрлүүд нь лавлагааны төрлөөс ялгаатай, автомат лавлагаа тоолох, санах ойн удирдлагын талаар асуулт гарч ирэх нь дамжиггүй. Тэд программуудад өгөгдөл хадгалах ажлыг хэрхэн хэрэгжүүлсэн, сүлжээний хүсэлтийг хэрэгжүүлсэн эсэхийг асууж болно. Тэд REST болон JSON-ийн үндсүүдийн талаар асуух болно. Бага насны хүүхдээс тодорхой зүйл, нарийн ширийн зүйлийг асуухгүй. Наад зах нь би асуухгүй байна."

Борис өөр туршлагатай: "Би дадлага хийлгэхийг хүсч, техникийн даалгавраа биелүүлж, орон сууц түрээслэхэд хангалттай цалин надад чухал биш гэж хэлсэн ч би татгалзсан. Би нийтлэл уншиж, шинээр ирсэн хүнээс ажилд зуучлагч юу хэрэгтэйг ойлгохыг хичээсэн. Гэхдээ тэд ихэнхдээ онол дээр бүтэлгүйтсэн. Яагаад ч юм дээд лигийнхнээс шинээр орж ирж байгаа тамирчдаас хамааралгүй асуулт асуусан” гэв.

Марат илүү азтай байсан. Одоо тэрээр тээврийн компанид ажилладаг бөгөөд тус факультетэд үргэлжлүүлэн суралцахын зэрэгцээ iOS-ийн тэнхимийг ганцаараа хариуцдаг. "Би iOS-ийг хариуцдаг цорын ганц хүн учраас миний ажлыг зөвхөн онолын мэдлэгээр бус надад өгсөн даалгаврыг хэрэгжүүлэх чадвараар үнэлдэг."

Олон нийт

Андрей Нижний Новгород хотод амьдардаг бөгөөд тэнд ч гэсэн агуу нийгэмлэг бий болсон гэж хэлэв. Нэгэн цагт тэрээр Python-д backend хөгжүүлэгч байсан боловч найзууд нь түүнийг гар утасны хөгжүүлэлт рүү татсан бөгөөд одоо тэр өөрөө хүн бүрийг үүнийг хийхийг уриалж байна.

“Дэлхийн хамтын нийгэмлэг ихэвчлэн Twitter-ээр дамжуулан харилцдаг. Хүмүүс өөрсдийн блог бичдэг, Youtube дээр видео бичдэг, бие биенээ подкаст руу урина. Нэг өдөр надад HQTrivia багийн ахлагчийн хэлсэн илтгэлийн талаар асуулт гарч ирэв. Энэ бол хэдэн сая хүн нэгэн зэрэг тоглодог Америкийн асуулт хариултын тоглоом юм. Би түүнд твиттерээр бичсэн, тэр надад хариулсан, бид ярилцсан, би түүнд баярлалаа. Нийгэмлэг нь маш найрсаг бөгөөд энэ нь үнэхээр гайхалтай юм."

Санал болгож буй уран зохиолын жагсаалтАнхан шатны түвшин:

Дундаж түвшин:

Ахисан түвшин:

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх