Nini cha kutarajia ikiwa unataka kuwa msanidi programu wa iOS

Nini cha kutarajia ikiwa unataka kuwa msanidi programu wa iOS

Kutoka nje ya iOS, maendeleo yanaweza kuonekana kama klabu iliyofungwa. Ili kufanya kazi, hakika unahitaji kompyuta ya Apple; mfumo wa ikolojia unadhibitiwa kwa karibu na kampuni moja. Kutoka ndani, unaweza pia kusikia migongano wakati mwingine - wengine wanasema kwamba lugha ya Lengo-C ni ya zamani na isiyo ngumu, na wengine wanasema kwamba lugha mpya ya Swift ni mbaya sana.

Walakini, watengenezaji huenda katika eneo hili na, mara moja huko, wanaridhika.

Wakati huu, Marat Nurgaliev na Boris Pavlov walituambia juu ya uzoefu wao - jinsi walivyojifunza taaluma, jinsi walivyopitisha mahojiano yao ya kwanza, kwa nini walipokea kukataa. Na Andrey Antropov, mkuu, alifanya kama mtaalam Kitivo cha Maendeleo ya iOS katika GeekBrains.

Mnamo mwaka wa 2016, Marat Nurgaliev kutoka mkoa wa Astrakhan alikuja kupata kazi kama msanidi programu wa rununu katika kampuni ya runinga ya ndani. Hii ilikuwa mahojiano yake ya kwanza. Alikuwa amerudi kutoka kwa jeshi, bila mazoezi na uzoefu, akiwa amesahau hata nadharia, ambayo tayari alikuwa na shida. Tajiriba pekee ya Marat katika ukuzaji simu ilikuwa nadharia yake ya kuchanganua mtiririko wa uvujaji wa habari kupitia programu za Android. Katika mahojiano, aliulizwa kuhusu masomo yake, OOP na nadharia nyingine, lakini Marat hakuweza kuficha mapungufu katika ujuzi wake.

Walakini, hakukataliwa, lakini alipewa kazi ya vitendo - kutekeleza kuonyesha orodha ya habari kwa kutumia API katika wiki mbili. Wote kwa iOS na Android. "Ikiwa ningekuwa na uzoefu wowote kwenye Android, hakukuwa na hata zana ya kuunda toleo la iOS. Mazingira ya ukuzaji wa programu ya iOS yanapatikana kwenye Mac pekee. Lakini wiki mbili baadaye nilirudi na kuonyesha kile ningeweza kufanya kwenye Android. Nikiwa na iOS ilinibidi niijue kwa kuruka. Mwishowe walinichukua. Kisha niliishi Astrakhan. Kazi yoyote ya IT yenye mshahara zaidi ya ishirini ilinifaa.”

Watengenezaji wa iOS ni akina nani?

Watengenezaji wa rununu hufanya programu kwa kifaa chochote kinachobebeka. Simu mahiri, kompyuta kibao, saa mahiri na mifumo mingine yote inayotumia Android au iOS. Kanuni za msingi za maendeleo ya simu sio tofauti na maendeleo ya kawaida, lakini kutokana na zana maalum, imegawanywa katika mwelekeo tofauti. Inatumia zana zake mwenyewe, lugha za programu na mifumo.

"Ili kufanya kazi na iOS, unahitaji MacBook, kwa sababu tu ina mazingira muhimu ya ukuzaji wa Xcode. Ni bure na inasambazwa kupitia AppStore. Ili kusakinisha, unahitaji kuwa na Kitambulisho chako cha Apple na hakuna kingine. Katika Xcode unaweza kukuza programu kwa chochote - simu, kompyuta kibao, saa. Kuna kiigaji na kihariri kilichojengewa ndani kwa kila kitu,” anasema Andrey Antropov, mkuu wa idara ya maendeleo ya iOS katika GeekBrains.

"Lakini mazingira ya maendeleo yanaweza kusakinishwa kwenye Windows ikiwa unatumia Hackintosh. Hili ni chaguo la kufanya kazi, lakini la kuzunguka - hakuna hata mmoja wa watengenezaji wakubwa anayefanya hivi. Kompyuta hununua MacBook ya zamani. Na wenye uzoefu wanaweza kumudu mtindo wa hivi punde zaidi.”

Lugha - Mwepesi au Lengo-C

Karibu maendeleo yote ya iOS hufanywa kwa kutumia lugha ya programu ya Swift. Ilionekana miaka mitano iliyopita na sasa inachukua nafasi ya lugha ya zamani ya Lengo-C, ambayo Apple imetumia katika matumizi yake yote kwa zaidi ya miaka 30.

"Msimbo mkubwa wa nambari umekusanywa katika Lengo-C, kwa hivyo watengenezaji katika lugha zote mbili bado wanahitajika, kulingana na kampuni, kazi zake na matumizi. Maombi yaliyoandikwa miaka mingi iliyopita yanategemea Objective-C. Na miradi yote mipya inatengenezwa kwa Swift kwa chaguo-msingi. Sasa Apple inafanya mengi kufanya maendeleo kwa wakati mmoja kwa simu, kompyuta kibao, saa na MacBook kwa urahisi iwezekanavyo. Nambari sawa inaweza kukusanywa na kuendeshwa kila mahali. Hii haikutokea hapo awali. Kwa iOS tulitengeneza Swift, kwa MacOS tulitumia Objective-C.

Kulingana na Andrey, Swift ni lugha rahisi sana ambayo ni ya kirafiki kwa Kompyuta. Imechapwa madhubuti, ambayo hukuruhusu kupata makosa mengi katika hatua ya ujumuishaji wa mradi, na nambari isiyo sahihi haitafanya kazi.

"Lengo-C ni lugha ya zamani - umri sawa na lugha ya C++. Wakati ilitengenezwa, mahitaji ya lugha yalikuwa tofauti kabisa. Swift ilipotoka, ilikuwa buggy, utendakazi ulikuwa mdogo, na syntax ilikuwa mbaya. Na watu walikuwa na mikono yao iliyojaa Objective-C. Imeboreshwa kwa miaka mingi, makosa yote hapo yamesahihishwa. Lakini sasa nadhani Swift ni mzuri kama Objective-C. Ingawa hata Apple bado hutumia zote mbili katika miradi yake. Lugha kwa kiasi kikubwa zinaweza kubadilishana na kukamilishana. Miundo na vitu vya lugha moja vinaweza kubadilishwa kuwa vitu na miundo ya lugha nyingine. Ni vizuri kujua chaguzi zote mbili, lakini kwa wanaoanza Lengo-C mara nyingi linaonekana kutisha na kutatanisha."

Mafunzo ya

"Katika kazi yangu ya kwanza, bosi wangu alinifundisha, akanisaidia katika kutekeleza na kuanzisha mradi," anasema Marat, "Lakini kufanya kazi kwenye Android na iOS kwa wakati mmoja ni ngumu. Inachukua muda kujenga upya, kubadili kutoka mradi hadi mradi, kutoka lugha hadi lugha. Mwishowe, niliamua kwamba nilihitaji kuchagua mwelekeo mmoja na kuusoma. Niliuzwa kwenye kiolesura cha Xcode na syntax rahisi ya Swift."

Marat aliingia katika idara ya maendeleo ya iOS huko GeekBrains. Mwanzoni ilikuwa rahisi sana, kwa sababu alijua mambo mengi kutokana na uzoefu wa kazi. Kozi ya kila mwaka imegawanywa katika robo nne. Kulingana na Andrey, ya kwanza inatoa mambo ya msingi tu: "Msingi wa Lugha Mwepesi, ujuzi wa mifumo ya kimsingi, mitandao, uhifadhi wa data, mzunguko wa maisha ya matumizi, kidhibiti, usanifu wa kimsingi, maktaba kuu ambayo kila mtu hutumia, kusoma maandishi mengi na usawa katika maombi.”

Robo ya pili inaongeza Lengo-C. Kozi inafanywa juu ya usanifu na mifumo ya msingi ya programu. Katika robo ya tatu, wanafundisha mtindo sahihi wa kuandika msimbo. Inaelezea kiwanda ni nini, jinsi ya kuandika vipimo kwa usahihi, kuunda miradi, Git-Flow ni nini, Ushirikiano wa Kuendelea kupitia Njia ya haraka. Robo ya nne na ya mwisho imejitolea kwa kazi ya pamoja, kazi za vitendo na mafunzo.

"Robo ya kwanza ilikuwa rahisi," anasema Marat, "lakini ndipo nilianza kujifunza programu katika Objective-C, kusoma muundo wa muundo, kanuni za Solid, Git-Flow, usanifu wa mradi, Upimaji wa Kitengo na UI wa programu, kuweka uhuishaji maalum. - na kisha mimi Ikawa ya kupendeza kusoma.

"Haikuanza vizuri kwangu huko GeekBrains," anasema Boris Pavlov, na njia yake ya maendeleo ya iOS kwa ujumla haikuwa ya moja kwa moja. Mvulana alilelewa na bibi yake. Alikuwa mbunifu, mwanahisabati na mbuni na alimtia Boris kupenda kubuni, akamfundisha kuchora kwa mkono na kuchora. Mjomba wake alikuwa msimamizi wa mfumo na alivutiwa na mpwa wake katika kompyuta.

Boris alikuwa mwanafunzi bora, lakini alipoteza hamu ya kusoma na akaacha shule baada ya darasa tisa. Baada ya chuo kikuu, alianza kuendesha baiskeli, na kompyuta zilififia nyuma. Lakini siku moja Boris alipata jeraha la mgongo, ambalo lilimzuia kuendelea na kazi yake ya michezo.

Alianza kusoma C++ na mwalimu katika Taasisi ya Irkutsk ya Fizikia ya Solar-Terrestrial. Kisha nikapendezwa na ukuzaji wa mchezo na kujaribu kubadili C #. Na mwishowe, kama Marat, alivutiwa na lugha ya Mwepesi.

"Niliamua kuchukua kozi ya bure ya utangulizi huko GeekBrains. Kusema kweli, alikuwa mchoshi sana, mvivu na asiyeeleweka,” anakumbuka Boris, β€œmwalimu alizungumza kuhusu sifa za lugha hiyo, lakini alikimbia kutoka mada moja hadi nyingine bila kufunua kiini. Kozi ilipoisha, bado sikuelewa chochote.”

Kwa hivyo, baada ya kozi ya utangulizi, Boris hakujiandikisha katika mafunzo ya mwaka mzima, lakini katika kozi fupi ya miezi mitatu, ambapo wanafundisha misingi ya taaluma hiyo. "Nilipata walimu wazuri sana huko, na walieleza kila kitu kwa uwazi kabisa."

"Mara nyingi tunakosolewa, inadaiwa miongozo yetu ya mafunzo sio ya kisasa kabisa, kuna makosa. Lakini kozi zinasasishwa kila wakati, na walimu daima huzungumza juu ya uvumbuzi. Kati ya makundi ninayoongoza, mengi yanapata ajira baada ya robo ya kwanza. Bila shaka, kwa kawaida hawa ni watu wenye uzoefu wa programu, "anasema Andrey, "Kwa upande mwingine, ujuzi wote hauwezi kupitishwa kwa kozi moja. Mwingiliano wa mteja wa mtandao katika maisha hauwezi kutoshea katika mihadhara kumi ya saa mbili. Na ikiwa unakwenda tu kwenye kozi na usifanye kitu kingine chochote, basi huwezi kuwa na ujuzi wa kutosha. Ikiwa unasoma kila siku kwa mwaka mzima, basi kwa kasi hii tu wavivu hawatapata kazi. Kwa sababu mahitaji katika taaluma ni makubwa sana.

Nini cha kutarajia ikiwa unataka kuwa msanidi programu wa iOS

Unaweza kuona zaidi nafasi za hivi karibuni kwa wasanidi wa iOS na ujiandikishe kwa mpya.

Kazi

Lakini sio Marat wala Boris waliopata kazi kwa urahisi sana.

"Kampuni zingine kubwa zimeunda programu za iOS kwa muda mrefu katika Lengo-C, na zinaendelea kudumisha msingi wa nambari za zamani. Kwa bahati mbaya, sina hoja ya kulazimisha kuwalazimisha kutumia Swift pekee. Hasa wale wanaotumia sheria "usiguse kinachofanya kazi," anasema Marat, "Uangalifu mdogo hulipwa kwa mwelekeo wa Objective-C huko Geekbrains. Ni zaidi ya asili ya habari. Lakini kila kampuni niliyohojiana nayo iliuliza kuhusu Objective-C. Na kwa kuwa masomo yangu yanalenga Swift, kama kazi yangu ya awali, nilikataliwa kwenye mahojiano.

"Baada ya kusoma, nilijua peke yangu mambo ya msingi ya juu juu, kwa msaada ambao ningeweza kuunda programu rahisi zaidi," anasema Boris. "Kwa kazi, bila shaka, haitoshi, lakini nilifurahi juu ya hili. Ilikuwa ngumu kupata kazi huko Irkutsk. Ili kuwa sahihi zaidi - sio kabisa. Niliamua kuangalia katika miji mingine. Kwa upande wa idadi ya nafasi za kazi, Krasnodar, Moscow na St. Petersburg ziligeuka kuwa muhimu zaidi. Niliamua kwenda St. Petersburg - karibu na Ulaya.

Lakini kila kitu kiligeuka kuwa sio laini sana. Hata mdogo atasamehewa kwa asichoweza kujua. Bado sijapata kazi. Ninafanya kazi kwa "asante", kupata uzoefu. Ninaelewa kuwa hii sio niliyotaka, lakini ninavutiwa, na hii inaniendesha. Nataka kupata maarifa."

Andrey anaamini kwamba wageni wanapaswa kutafuta mafunzo badala ya kazi. Ikiwa una ujuzi mdogo sana, basi ni kawaida kwa mafunzo ya kazi kuwa bila malipo. Andrey anashauri kutuma maombi ya nafasi za chini kwa makampuni makubwa ambapo mchakato wa kazi tayari umeanzishwa.

"Unapoelewa jinsi mchakato wa ukuzaji wa programu unavyofanya kazi, itakuwa rahisi sana kuvinjari na kupata kazi zaidi, kulingana na matakwa yako. Baadhi ya watu hujitengenezea maendeleo, hujitengenezea michezo, huipakia kwenye duka na kuchuma mapato kwa wao wenyewe. Wengine hufanya kazi kwa kampuni kubwa na sheria kali. Watu wengine hupata pesa katika studio ndogo zinazotengeneza programu maalum, na huko wanaweza kutazama mchakato mzima - kutoka kuunda mradi kutoka mwanzo hadi kuuwasilisha dukani.

Mishahara

Mshahara wa msanidi programu wa iOS, kama mwingine wowote, inategemea swali "Moscow au Urusi". Lakini kwa sababu ya maalum ya tasnia - kazi nyingi za mbali, fursa za kuhama na kufanya kazi sio katika soko la kikanda - idadi inazidi kukaribia kila mmoja.

Nini cha kutarajia ikiwa unataka kuwa msanidi programu wa iOS

Kulingana na kikokotoo cha mishahara ya Mduara Wangu, wastani wa mshahara wa msanidi programu wa iOS ni kidogo kidogo 140 rubles 000.

"Mdogo katika kiwango cha chini sana mara nyingi hufanya kazi bure au kwa pesa za mfano - rubles elfu 20-30. Ikiwa junior amechukuliwa kwa makusudi kwenye nafasi yake, atapokea kutoka 50 hadi 80 elfu. Watu wa kati hupokea kutoka 100 hadi 150, na wakati mwingine hadi 200. Wazee hawapati chini ya 200. Nadhani mshahara wao ni karibu 200-300. Na kwa viongozi wa timu, ipasavyo, ni zaidi ya 300.

Nini cha kutarajia ikiwa unataka kuwa msanidi programu wa iOS

Mahojiano

"Mahojiano ya kwanza yalifanyika kwenye Skype. Kwa mshangao wangu, ilikuwa Google,” Boris anakumbuka, β€œbasi nilikuwa nimehamia St. Petersburg na kuanza kutafuta kazi. Nilipokea ombi la nafasi ya msanidi programu wa iOS. Sio mdogo, sio kati, sio mwandamizi - msanidi programu tu. Nilifurahi na kuanza kuwasiliana na meneja. Niliulizwa kukamilisha kazi ya kiufundi: Ilinibidi kuandika maombi ya utani kuhusu Chuck Norris. Niliandika. Waliniambia kila kitu kilikuwa kizuri na wakapanga mahojiano ya mtandaoni.

Tuliitana. Msichana mzuri alizungumza nami. Lakini hawakuuliza swali lolote kuhusu umahiri wa lugha - matatizo mbalimbali ya kimantiki tu, kwa mfano, β€œSaa ni 15:15, ni digrii ngapi kati ya mikono ya saa na dakika?” au β€œChapisho lina urefu wa mita 10, a. konokono hutambaa mita 3 juu wakati wa mchana, na kushuka mita 1 usiku.” Ni siku ngapi atatambaa hadi kileleni?", na zingine kadhaa zinazofanana.

Kisha kulikuwa na maswali ya ajabu sana - kwa nini ninampenda Apple na jinsi ninavyohisi kuhusu Tim Cook. Nilisema kwamba kampuni kwa ujumla ni chanya, lakini badala yake hasi kwake, kwa sababu pesa ni muhimu kwake, sio bidhaa.

Maswali kuhusu Swift yalipoanza, maarifa yangu yalitosha tu kwa mifumo ya programu na misingi ya OOP. Tukaagana, wiki moja baadaye wakanipigia simu na kusema kuwa sifai. Kwa kweli, nilipata uzoefu mkubwa kutoka kwa hili: unahitaji maarifa, unahitaji mengi - nadharia na mazoezi.

Andrey anasema kwamba "jambo la kwanza ambalo kila mtu anaulizwa wakati wa mahojiano ni mzunguko wa maisha wa kidhibiti. Wanapenda sana kuuliza muundo rahisi wa programu. Bila shaka watauliza kuhusu uzoefu wako wa kutumia maktaba maarufu. Kwa hakika kutakuwa na swali kuhusu tofauti za Aina za Thamani Mwepesi kutoka kwa Aina za Marejeleo, kuhusu Kuhesabu Marejeleo Kiotomatiki na usimamizi wa kumbukumbu. Wanaweza kuuliza jinsi walivyotekeleza uhifadhi wa data katika programu, na kama walitekeleza maombi ya mtandao. Watauliza juu ya misingi ya REST na JSON. Mdogo hataulizwa vitu maalum na hila. Angalau siulizi."

Boris alikuwa na uzoefu tofauti: "Hata nilipouliza mafunzo, nilimaliza kazi za kiufundi na kusema kwamba mshahara haukuwa muhimu kwangu, mradi tu ulitosha kukodisha nyumba, bado nilikataliwa. Nilisoma nakala, nilijaribu kuelewa ni nini mtu anayeajiri anahitaji kutoka kwa mgeni. Lakini walishindwa zaidi kwenye nadharia. Kwa sababu fulani, waliuliza maswali kutoka kwa ligi kuu ambayo hayawahusu wageni.

Marat alikuwa na bahati zaidi. Sasa anafanya kazi katika kampuni ya usafirishaji na yuko peke yake anayesimamia idara ya iOS, huku akiendelea na masomo yake katika kitivo. "Kwa kuwa mimi ndiye pekee ninayewajibika kwa iOS, kazi yangu inatathminiwa tu na uwezo wangu wa kutekeleza majukumu niliyopewa, na sio ujuzi wangu wa nadharia."

Jumuiya ya

Andrey anaishi Nizhny Novgorod na anasema kwamba hata kuna jamii kubwa imeunda. Hapo zamani za kale, alikuwa msanidi programu wa nyuma huko Python, lakini marafiki zake walimvuta katika maendeleo ya rununu - na sasa yeye mwenyewe anahimiza kila mtu kuifanya.

"Jumuiya ya kimataifa kwa kawaida huwasiliana kupitia Twitter. Watu huandika blogu zao, kurekodi video kwenye Youtube, kualika kila mmoja kwa podikasti. Siku moja nilikuwa na swali kuhusu wasilisho ambapo kiongozi wa timu ya HQTrivia alizungumza. Huu ni mchezo wa chemsha bongo wa Marekani ambao unachezwa kwa wakati mmoja na watu milioni kadhaa. Nilimwandikia Twitter, akanijibu, tukazungumza, na nikamshukuru. Jamii ni ya kirafiki sana, ambayo ni nzuri."

Orodha ya fasihi iliyopendekezwaKiwango cha wanaoanza:

Kiwango cha wastani:

Kiwango cha juu:

Chanzo: mapenzi.com

Kuongeza maoni