Apa sing bakal dikarepake yen sampeyan pengin dadi pangembang iOS

Apa sing bakal dikarepake yen sampeyan pengin dadi pangembang iOS

Saka njaba iOS, pangembangan bisa katon kaya klub tertutup. Kanggo bisa, sampeyan mesthi mbutuhake komputer Apple; ekosistem dikontrol kanthi rapet dening siji perusahaan. Saka njero, sampeyan uga bisa krungu kontradiksi - ana sing ujar manawa basa Objective-C wis lawas lan kikuk, lan liyane ujar manawa basa Swift sing anyar banget kasar.

Nanging, pangembang mlebu ing wilayah iki lan, yen wis ana, puas.

Wektu iki, Marat Nurgaliev lan Boris Pavlov marang kita bab pengalaman - carane padha sinau Profesi, carane padha liwati Interview pisanan, kok padha nampa penolakan. Lan Andrey Antropov, dekan, tumindak minangka pakar Fakultas Pengembangan iOS ing GeekBrains.

Ing 2016, Marat Nurgaliev saka wilayah Astrakhan teka kanggo njaluk proyek minangka pangembang seluler ing perusahaan televisi lokal. Iki minangka wawancara pisanane. Dheweke mung bali saka tentara, tanpa latihan lan pengalaman, malah lali teori, kang wis masalah. Pengalaman mung Marat ing pangembangan seluler yaiku tesis babagan nganalisa arus bocor informasi liwat aplikasi Android. Ing wawancara, dheweke ditakoni babagan pasinaon, OOP lan teori liyane, nanging Marat ora bisa ndhelikake kesenjangan ing kawruhe.

Nanging, dheweke ora ditolak, nanging diwenehi tugas praktis - kanggo ngleksanakake nampilake dhaptar warta nggunakake API ing rong minggu. Loro kanggo iOS lan Android. "Yen aku duwe pengalaman ing Android, ora ana alat kanggo nggawe versi iOS. Lingkungan pangembangan aplikasi iOS mung kasedhiya ing Mac. Nanging rong minggu mengko aku bali lan nuduhake apa aku bisa nindakake ing Android. Kanthi iOS aku kudu tokoh metu ing fly. Ing pungkasan padha njupuk kula. Banjur aku manggon ing Astrakhan. Pakaryan IT apa wae sing gajine luwih saka rong puluh cocog karo aku.

Sapa sing pangembang iOS?

Pangembang seluler nggawe aplikasi kanggo piranti portabel apa wae. Smartphone, tablet, jam tangan pinter lan kabeh platform liyane sing ndhukung Android utawa iOS. Prinsip dhasar pangembangan seluler ora beda karo pembangunan konvensional, nanging amarga alat tartamtu, wis dipisahake menyang arah sing kapisah. Iki nggunakake alat, basa pamrograman lan kerangka kerja dhewe.

"Kanggo nggarap iOS, sampeyan butuh MacBook, amarga mung duwe lingkungan pangembangan Xcode sing dibutuhake. Iki gratis lan disebarake liwat AppStore. Kanggo nginstal, sampeyan kudu duwe ID Apple lan ora liya. Ing Xcode sampeyan bisa ngembangake aplikasi apa wae - telpon, tablet, jam tangan. Ana simulator lan editor sing dibangun kanggo kabeh, "ujare Andrey Antropov, dekan departemen pangembangan iOS ing GeekBrains.

"Nanging lingkungan pangembangan bisa diinstal ing Windows yen sampeyan nggunakake Hackintosh. Iki minangka pilihan sing bisa digunakake, nanging bunder - ora ana pangembang serius sing nindakake iki. Wiwitan tuku MacBook lawas. Lan sing berpengalaman biasane bisa tuku model paling anyar.

Basa - Swift utawa Objective-C

Meh kabeh pembangunan iOS wis rampung nggunakake basa pamrograman Swift. Muncul limang taun kepungkur lan saiki mboko sithik ngganti basa Objective-C lawas, sing wis digunakake Apple ing kabeh aplikasi luwih saka 30 taun.

"Basis kode gedhe wis diklumpukake ing Objective-C, mula pangembang ing basa loro kasebut isih dibutuhake, gumantung saka perusahaan, tugas lan aplikasi. Aplikasi sing ditulis pirang-pirang taun kepungkur adhedhasar Objective-C. Lan kabeh proyek anyar dikembangake ing Swift minangka standar. Saiki Apple wis nindakake akeh kanggo nggawe pembangunan simultaneous kanggo telpon, tablet, watch lan MacBook minangka trep sabisa. Kode sing padha bisa dikompilasi lan mbukak ing endi wae. Iki ora kedadeyan sadurunge. Kanggo iOS sing dikembangake ing Swift, kanggo MacOS kita nggunakake Objective-C.

Miturut Andrey, Swift minangka basa sing prasaja banget sing ramah kanggo pamula. Iki diketik kanthi ketat, sing ngidini sampeyan nyekel akeh kesalahan ing tahap kompilasi proyek, lan kode sing salah ora bakal bisa digunakake.

"Objective-C minangka basa sing cukup lawas - umur sing padha karo basa C++. Nalika dikembangake, syarat kanggo basa beda-beda. Nalika Swift metu, iku buggy, fungsi diwatesi, lan sintaksis kasar. Lan wong-wong wis kebak karo Objective-C. Wis didandani nganti pirang-pirang taun, kabeh kesalahan ing kana wis didandani. Nanging saiki aku rumangsa Swift kaya Objective-C. Sanajan Apple isih nggunakake loro ing proyek kasebut. Basa kasebut umume bisa diijolake lan saling nglengkapi. Struktur lan objek saka basa siji bisa diowahi dadi obyek lan struktur basa liyane. Iku apik kanggo ngerti opsi loro, nanging kanggo pamula Objective-C asring katon intimidating lan mbingungake.

Sesi latihan

"Ing proyek pertama, bosku nglatih aku, mbantu aku ngetrapake lan nyetel proyek kasebut," ujare Marat, "Nanging nggarap Android lan iOS ing wektu sing padha angel. Mbutuhake wektu kanggo mbangun maneh, ngalih saka proyek menyang proyek, saka basa menyang basa. Pungkasane, aku mutusake yen aku kudu milih siji arah lan sinau. Aku didol ing antarmuka Xcode lan sintaks prasaja Swift.

Marat mlebu departemen pangembangan iOS ing GeekBrains. Wiwitane gampang banget, amarga dheweke ngerti akeh perkara saka pengalaman kerja. Kursus taunan dipérang dadi papat. Miturut Andrey, sing pisanan mung menehi dhasar: "Dasar basa Swift, kawruh babagan kerangka dhasar, jaringan, panyimpenan data, siklus urip aplikasi, pengontrol, arsitektur dhasar, perpustakaan utama sing digunakake saben wong, multithreading lan paralelisme ing. aplikasi.”

Kuartal kapindho nambah Objective-C. Kursus dianakake babagan arsitektur lan pola pemrograman dhasar. Ing kuartal katelu, padha mulang gaya nulis kode sing bener. Iki nerangake apa pabrik, carane nulis tes kanthi bener, nggawe proyek, apa Git-Flow, Integrasi Terus-terusan liwat Fast Lane. Kuartal kaping papat lan pungkasan darmabakti kanggo kerja tim, tugas praktis lan magang.

"Kuartal pisanan gampang," ujare Marat, "nanging aku miwiti sinau pemrograman ing Objective-C, sinau pola desain, prinsip Solid, Git-Flow, arsitektur proyek, Unit lan pengujian UI aplikasi, nyetel animasi khusus. - banjur aku dadi menarik kanggo sinau.

"Iku ora miwiti metu super lancar kanggo kula ing GeekBrains,"Says Boris Pavlov, lan dalan kanggo pembangunan iOS ing umum ora paling langsung. Bocahe digedhekake dening eyange. Dheweke dadi arsitek, matématikawan lan desainer lan nanem ing Boris tresna desain, mulang wong kanggo nggambar tangan lan nggambar. Pakdhene minangka administrator sistem lan kepengin weruh ponakane ing komputer.

Boris minangka murid sing apik banget, nanging ilang minat sinau lan ninggalake sekolah sawise sangang gelar. Sawise kuliah, dheweke njupuk sepeda, lan komputer ilang ing latar mburi. Nanging ing sawijining dina, Boris ngalami cedera balung mburi, sing ngalangi dheweke ora bisa nerusake karir olahraga.

Dheweke wiwit sinau C++ karo guru ing Institut Fisika Solar-Terrestrial Irkutsk. Banjur aku dadi kasengsem ing pembangunan game lan nyoba kanggo ngalih menyang C #. Lan pungkasane, kaya Marat, dheweke kepincut karo basa Swift.

"Aku mutusake kanggo njupuk kursus pengantar gratis ing GeekBrains. Jujur, dheweke banget mboseni, sluggish lan ora bisa dingerteni, "ujare Boris, "gurune ngomong babagan fitur basa, nanging cepet-cepet saka siji topik menyang topik liyane tanpa mbukak inti. Nalika kursus rampung, aku isih ora ngerti apa-apa."

Mulane, sawise kursus pambuko, Boris ora ndhaptar ing latihan taun-dawa, nanging ing Course singkat telung sasi, ngendi padha mulang dhasar banget saka Profesi. "Aku nemokake guru sing apik banget ing kana, lan dheweke nerangake kabeh kanthi jelas."

“Kita asring dikritik, dinuga manual latihan kita ora sakabehe up-to-date, ana sing ora akurat. Nanging kursus kasebut terus dianyari, lan para guru tansah ngomong babagan inovasi. Saka grup sing dakpimpin, akeh sing golek kerja sawise kuartal pertama. Mesthi, iki biasane wong sing duwe pengalaman program, "ujare Andrey, "Ing sisih liyane, kabeh kawruh ora bisa diwenehake ing siji kursus. Interaksi klien jaringan ing urip ora bisa pas karo sepuluh ceramah rong jam. Lan yen sampeyan mung melu kursus lan ora nindakake apa-apa, mula sampeyan ora bakal duwe kawruh sing cukup. Yen sampeyan sinau saben dina kanggo kabeh taun, banjur ing jangkah iki mung kesed ora njaluk proyek. Amarga panjaluk ing profesi kasebut dhuwur banget.

Apa sing bakal dikarepake yen sampeyan pengin dadi pangembang iOS

Sampeyan bisa ndeleng paling lowongan paling anyar kanggo pangembang iOS lan langganan sing anyar.

karya

Nanging Marat utawa Boris ora gampang golek lapangan kerja.

"Sawetara perusahaan gedhe wis suwe ngembangake aplikasi iOS ing Objective-C, lan terus njaga basis kode lawas. Sayange, aku ora duwe argumentasi sing kuat kanggo meksa dheweke nggunakake Swift sacara eksklusif. Utamane sing nggunakake aturan "aja ndemek apa sing bisa ditindakake," ujare Marat, "Sedikit perhatian sing dibayar kanggo arah Objective-C ing Geekbrains. Iku luwih saka alam informasi. Nanging saben perusahaan sing diwawancarai takon babagan Objective-C. Lan amarga sinau fokus ing Swift, kaya karya sadurunge, aku nampa penolakan nalika wawancara.

"Sawise sinau, aku ngerti mung dhasar sing paling entheng, kanthi bantuan sing bisa nggawe aplikasi sing paling gampang," ujare Boris. "Kanggo kerja, mesthine ora cukup, nanging aku seneng babagan iki. Iku angel golek proyek ing Irkutsk. Kanggo luwih tepat - ora kabeh. Aku mutusaké kanggo katon ing kutha-kutha liyane. Ing babagan jumlah lowongan, Krasnodar, Moskow lan St. Petersburg dadi sing paling relevan. Aku mutusaké kanggo pindhah menyang St Petersburg - nyedhaki Eropah.

Nanging kabeh dadi ora dadi rosy. Malah junior bakal diapura apa sing ora bisa dingerteni. Aku durung nemu gawean. Aku kerja kanggo "matur nuwun", entuk pengalaman. Aku ngerti sing iki ora aku wanted, nanging aku kasengsem, lan iki drive kula. Aku pengin golek ilmu."

Andrey percaya yen wong anyar kudu golek magang tinimbang kerja. Yen sampeyan duwe kawruh sethithik, mula normal yen magang ora dibayar. Andrey menehi saran nglamar lowongan junior menyang perusahaan gedhe sing proses kerjane wis ditetepake.

"Yen sampeyan ngerti kepiye proses pangembangan piranti lunak, bakal luwih gampang navigasi lan golek kerja liyane, gumantung saka kepinginan sampeyan. Sawetara wong mlebu pembangunan mandiri, nggawe game kanggo awake dhewe, upload menyang toko, lan entuk dhuwit dhewe. Sawetara kerja kanggo perusahaan gedhe kanthi aturan sing ketat. Sawetara wong entuk dhuwit ing studio cilik sing nggawe piranti lunak khusus, lan ing kana bisa nonton kabeh proses - saka nggawe proyek wiwit awal nganti dikirim menyang toko.

Gajih

Gaji pangembang iOS, kaya liyane, gumantung ing pitakonan "Moscow utawa Rusia". Nanging amarga spesifik industri - akeh kerja remot, kesempatan kanggo relokasi lan ora kerja ing pasar regional - jumlahe saya tambah akeh.

Apa sing bakal dikarepake yen sampeyan pengin dadi pangembang iOS

Miturut kalkulator gaji Lingkaranku, gaji rata-rata pangembang iOS rada kurang Rubrik 140 000.

"Junior ing tingkat sing paling murah asring digunakake kanthi gratis utawa kanggo dhuwit simbolis - 20-30 ewu rubel. Yen junior sengaja dijupuk menyang posisi, bakal nampa saka 50 kanggo 80 ewu. Middles nampa saka 100 kanggo 150, lan kadhangkala malah nganti 200. Senior ora nampa kurang saka 200. Gajiku kira-kira 200-300. Lan kanggo pimpinan tim, luwih saka 300.

Apa sing bakal dikarepake yen sampeyan pengin dadi pangembang iOS

wawancara

"Wawancara pisanan ditindakake ing Skype. Aku kaget, iku Google," Boris kelingan, "banjur aku wis pindhah menyang St. Petersburg lan miwiti golek karya. Aku nampa aplikasi kanggo posisi pangembang iOS. Ora junior, ora tengah, ora senior - mung pangembang. Aku seneng banget lan wiwit cocog karo manajer. Aku dijaluk ngrampungake tugas teknis: Aku kudu nulis aplikasi kanggo guyon babagan Chuck Norris. Aku nulis. Dheweke ngandhani yen kabeh apik lan nggawe wawancara online.

Kita nelpon saben liyane. Ana cah ayu ngomong karo aku. Nanging dheweke ora takon babagan kemampuan basa - mung macem-macem masalah logis, contone, "Wektu 15:15, pira derajat antarane jarum jam lan menit?" utawa "Sawijining kiriman dawane 10 meter, a bekicot nyusup 3 meter ing wayah awan, lan mudhun 1 meter ing wayah wengi." Pira dina dheweke bakal nyusup menyang ndhuwur?“, lan saperangan liyane sing padha.

Banjur ana pitakonan sing aneh banget - kenapa aku tresna karo Apple lan kepiye perasaanku babagan Tim Cook. Aku ngomong yen perusahaan minangka sakabehe positif, nanging luwih negatif marang dheweke, amarga dhuwit penting kanggo dheweke, dudu produk.

Nalika pitakonan babagan Swift diwiwiti, kawruhku mung cukup kanggo pola pemrograman lan dhasar OOP. Kita pamit, seminggu mengko dheweke nelpon maneh lan ujar manawa aku ora cocog. Bener, aku entuk pengalaman gedhe saka iki: sampeyan butuh kawruh, sampeyan butuh akeh - loro teori lan praktik.

Andrey ujar manawa "bab pisanan sing ditakoni saben wong sajrone wawancara yaiku siklus urip pengontrol. Dheweke seneng banget njaluk sawetara pola pemrograman sing prasaja. Dheweke mesthi bakal takon babagan pengalaman sampeyan nggunakake perpustakaan populer. Mesthine bakal ana pitakonan babagan bedane Tipe Nilai Swift saka Jinis Referensi, babagan Counting Referensi Otomatis lan manajemen memori. Padha bisa takon carane padha nindakake panyimpenan data ing aplikasi, lan apa padha nindakake panjalukan jaringan. Dheweke bakal takon babagan dhasar REST lan JSON. Junior ora bakal dijaluk bab tartamtu lan subtleties. Paling aku ora takon."

Boris duwe pengalaman sing beda: "Sanajan aku njaluk magang, ngrampungake tugas teknis lan ujar manawa gaji ora penting kanggo aku, anggere cukup kanggo nyewa apartemen, aku isih ditolak. Aku maca artikel, nyoba mangertos apa sing dibutuhake perekrut saka wong anyar. Nanging dheweke biasane gagal ing teori. Kanggo sawetara alasan, dheweke takon saka liga utama sing ora ana gandhengane karo wong anyar.

Marat luwih begja. Saiki dheweke kerja ing perusahaan transportasi lan mung tanggung jawab ing departemen iOS, nalika nerusake studi ing fakultas. "Amarga aku mung siji sing tanggung jawab kanggo iOS, karyaku mung ditaksir kanthi kemampuan kanggo ngetrapake tugas sing ditugasake kanggo aku, lan dudu saka kawruh babagan teori."

Komunitas

Andrey manggon ing Nizhny Novgorod lan ngandika sing malah ana komunitas gedhe wis kawangun. Biyen, dheweke dadi pangembang backend ing Python, nanging kanca-kancane nyeret dheweke menyang pangembangan seluler - lan saiki dheweke nyengkuyung kabeh wong supaya nindakake.

"Komunitas global biasane komunikasi liwat Twitter. Wong nulis blog dhewe, ngrekam video ing Youtube, ngajak saben liyane menyang podcast. Sawijining dina aku duwe pitakonan babagan presentasi ing ngendi pimpinan tim HQTrivia ngomong. Iki game kuis Amérika sing diputer bebarengan dening sawetara yuta wong. Aku nulis marang dheweke ing Twitter, dheweke mangsuli aku, kita ngobrol, lan matur nuwun. Komunitas banget grapyak, sing apik banget.

Dhaptar literatur sing disaranakeTingkat pamula:

Tingkat rata-rata:

Tingkat lanjut:

Source: www.habr.com

Add a comment