Mensahe sa magiging programmer

Kaya, nagpasya kang maging isang programmer.

Marahil ay interesado kang lumikha ng bago.

Marahil ay naakit ka ng malalaking suweldo.

Marahil ay gusto mo lamang baguhin ang iyong larangan ng aktibidad.

Hindi ang punto.

Ang mahalaga ay magpasya ka maging programmer.

Ano ang dapat gawin ngayon?

Mensahe sa magiging programmer

At mayroong ilang mga diskarte.

Muna: pumunta sa unibersidad para sa isang espesyalidad sa IT at makatanggap ng espesyal na edukasyon. Ang pinaka-banal, medyo maaasahan, napakahaba, pinakapangunahing pamamaraan. Gumagana ito kung ikaw ay nagtatapos pa rin ng pag-aaral, o mayroon kang mga paraan upang suportahan ang iyong sarili mula sa isa't kalahati (sa pinakamainam, kung mahuhuli mo ang lahat nang mabilis at maaaring magsimulang magtrabaho sa ika-2 taon) hanggang apat (kung pinagsama ang trabaho at pag-aaral ay hindi ang iyong malakas na punto ) taon.

Ano ang mahalagang malaman dito?

  • Kinakailangang pumili ng tamang unibersidad. Tingnan ang mga programa sa pagsasanay, mga rating. Ang isang mahusay na tagapagpahiwatig ay mga kumpetisyon mula sa unibersidad. Kung ang mga koponan ng unibersidad ay pana-panahong nagkakaroon ng mga lugar sa nangungunang sampung sa medyo malalaking programming olympiads, kung gayon ang coding sa unibersidad ay hindi magiging isang panimula (sa kabila ng katotohanan na personal kang maaaring hindi interesado sa olympiads). Well, sa pangkalahatan, ang mga tuntunin ng sentido komun: malamang na ang Bratsk branch ng Baikal State University ay gagawin kang isang malakas na buong stack.
    Mga halimbawa ng magagandang unibersidad: Moscow State University/St. Petersburg State University (malinaw naman), Baumanka (Moscow), ITMO (St. Petersburg), NSU (Novosibirsk). Sa kabila ng lahat ng kanilang katanyagan, posible na makapasok sa kanila sa isang badyet, kung hindi mo nilalayon ang mga nangungunang departamento.
  • Hindi lang isang unibersidad. Sa kabila ng katotohanan na ikaw ay komprehensibong sanayin sa lahat ng uri ng mga bagay, ito ay hindi sapat. Dahil sa burukrasya, halos palaging mahuhuli ang programa sa pagsasanay sa mga modernong uso. Sa pinakamainam - para sa isang taon o dalawa. Sa pinakamasama - para sa 5-10 taon. Kakailanganin mong gumawa ng pagkakaiba sa iyong sarili. Well, ang halata: kung pag-aaralan mo ang materyal kasama ng iba pang mga mag-aaral, kung gayon ang bawat isa sa kanila ay magiging pantay mong katunggali. Kung opsyonal kang lalabas sa unahan, mas magiging maganda ang hitsura mo sa merkado.
  • Maghanap ng trabaho sa lalong madaling panahon. Nagsimula akong magtrabaho noong ikalawang taon ko. Sa pagtatapos ng unibersidad, isa na akong gitnang developer, at hindi isang katamtamang junior na walang karanasan. I think it's obvious na after graduating from college, mas kaaya-aya ang kita ng 100k kaysa kumita ng 30k. Paano ito makakamit? Una, tingnan ang mga puntong A at B. Pangalawa, pumunta sa mga meetup, festival, conference, job fair. Subaybayan ang merkado at subukang makakuha ng trabaho bilang part-time na junior/trainee sa anumang kumpanya kung saan ikaw ay tinatayang angkop. Huwag matakot sa mga bayad na kumperensya: madalas silang nag-aalok ng napakagandang diskwento para sa mga mag-aaral.

Kung susundin mo ang lahat ng mga puntong ito, pagkatapos sa oras na matanggap mo ang iyong diploma, maaari kang maging isang napakahusay na espesyalista na may karanasan sa trabaho at isang kayamanan ng pangunahing kaalaman, na madalas na pinababayaan ng mga taong nagtuturo sa sarili dahil sa kanilang hindi nailapat na kalikasan. Well, makakatulong ang crust kung pupunta ka sa ibang bansa: madalas nilang tinitingnan ito doon.

Kung hindi ka sumunod... Well, maaari kang makakuha ng marka sa pamamagitan ng go with the flow, pagkopya at paghahanda para sa pagsusulit magdamag. Ngunit sa tingin mo, gaano ka kakumpitensya kung gayon? Siyempre, hindi ko sinasabi na kailangan mong makakuha ng A sa lahat ng bagay. Kailangan mo lang makakuha ng kaalaman. Gumamit ng common sense. Pag-aralan kung ano ang kawili-wili at kapaki-pakinabang, at walang pakialam sa mga marka.

Mensahe sa magiging programmer

Ang pangunahing bagay ay hindi kung ano ang sinusubukan nilang itulak sa iyo. Ang pangunahing bagay ay kung ano ang kawili-wili at may kaugnayan

-

Susunod, pangalawang paraan: mga kurso sa programming. Ang Internet ay ganap na puno ng mga alok na gawin kang isang junior sa loob lamang ng 3 buwan ng mga klase. Sa pamamagitan lamang ng isang portfolio, at tutulungan ka pa nilang makahanap ng trabaho. 10k lang sa isang buwan, oo.
Marahil ito ay gagana para sa ilan, ngunit puro IMHO: ito ay ganap na kalokohan. Huwag sayangin ang iyong oras at pera. At dahil jan:

Ang isang taong malayo sa IT ay hindi mauunawaan ang mga detalye ng propesyon sa loob ng 3 buwan. Walang paraan. Napakaraming impormasyon na dapat maunawaan, napakaraming dapat maunawaan, at higit pa rito, napakaraming dapat masanay.

Tapos ano ang ibebenta nila sa iyo? Ibebenta ka nila ng "mechanical skill". Nang walang labis na pagsisiyasat sa mga detalye, ipapakita nila sa iyo kung ano ang kailangan mong isulat upang makuha ang eksaktong resultang ito. Sa mga detalyadong tagubilin at tulong ng isang guro, magsusulat ka ng ilang uri ng aplikasyon. Isa, maximum na dalawa. Narito ang portfolio. At ang tulong sa paghahanap ng trabaho ay ang pagpapadala ng mga bakanteng trabaho sa mga junior mula sa malalaking kumpanya kung saan malabong makakuha ka ng interbyu.

Bakit ganito? Ito ay simple: napakahalaga para sa isang programmer na mag-isip nang abstract. Ang isang programmer ay nalulutas ang mga problema na maaaring malutas sa isang bilyong posibleng paraan. At ang pangunahing gawain ay ang pumili ng isa, ang pinakatama, sa bilyun-bilyon, at ipatupad ito. Ang paglikha ng isa o dalawang proyekto ayon sa mga tagubilin ay magbibigay sa iyo ng ilang kaalaman sa isang programming language, ngunit hindi magtuturo sa iyo kung paano lutasin ang mga abstract na problema. Upang gumuhit ng isang pagkakatulad: isipin na nangangako silang magtuturo sa iyo ng orienteering, dadalhin ka sa ilang simpleng ruta ng hiking, at pagkatapos ay sabihin na handa ka nang lupigin ang taiga sa taglamig nang mag-isa. Aba, ano, tinuruan kang gumamit ng compass at magsindi ng apoy nang walang posporo.

Upang buod: huwag maniwala sa mga nangangako na "i-roll" ka sa maikling panahon. Kung ito ay posible, lahat ay matagal nang naging programmer.

Mensahe sa magiging programmer

Kaliwa: Ang ituturo sa iyo. Kanan: Ano ang hihingin sa iyo sa trabaho?

-

Pangatlong paraan - ang landas na pinili ng nakararami. Pag-aaral sa sarili.

Ang pinakamahirap, ngunit marahil ang pinaka marangal na paraan. Tingnan natin ito nang mas detalyado.

Kaya nagpasya kang maging isang programmer. Saan magsisimula?

Una sa lahat, kailangan mong sagutin ang iyong sarili ang tanong: bakit mo ito gusto? Kung ang sagot ay "well, siyempre, hindi ito partikular na kawili-wili, ngunit nagbabayad sila ng malaki", pagkatapos ay maaari kang tumigil doon. Hindi ito ang lugar para sa iyo. Kahit na ang iyong paghahangad ay sapat na upang suriing mabuti ang isang bungkos ng impormasyon, magsulat ng libu-libong linya ng code, magtiis ng daan-daang mga pagkabigo, at makakuha pa rin ng trabaho, bilang isang resulta, nang walang pagmamahal sa propesyon, ito ay hahantong lamang sa emosyonal na pagkapagod. Ang programming ay nangangailangan ng isang malaking halaga ng intelektwal na pagsisikap, at kung ang mga pagsisikap na ito ay hindi pinalakas ng isang emosyonal na pagbabalik sa anyo ng kasiyahan para sa isang nalutas na problema, pagkatapos ay maaga o huli ang utak ay mababaliw at aalisan ka ng kakayahang malutas ang anumang bagay. . Hindi ang pinaka-kaaya-ayang senaryo.

Kung sigurado ka na interesado ka dito, maaari kang magpasya sa mga detalye - kung ano ang eksaktong gusto mong gawin. Kung hindi mo alam kung paano maaaring magkaiba ang mga programmer sa isa't isa, matutulungan ka ng Google.

Isusulat ko kaagad ang unang payo para hindi mo makalimutan: matuto ng Ingles. English ang kailangan. Hindi ka makakapunta kahit saan kung walang English. Hindi pwede. Kung walang Ingles hindi ka maaaring maging isang normal na programmer. Ayan yun.

Susunod, ipinapayong gumuhit ng isang roadmap: isang plano ayon sa kung saan ka bubuo. Pag-aralan ang mga detalye, tingnan ang mga bakante sa iyong espesyalidad, alamin nang mababaw kung anong uri ng mga teknolohiya ang ginagamit doon.

Isang halimbawang roadmap para sa isang backend programmer (hindi para sa lahat, siyempre, isa lang ito sa mga posibleng opsyon):

  1. Mga pangunahing kaalaman sa html/css.
  2. sawa. Mga pangunahing kaalaman.
  3. Programming sa network. Pakikipag-ugnayan sa pagitan ng python at web.
  4. Mga balangkas para sa pag-unlad. Django, prasko. (remark: para lang maintindihan kung anong klaseng β€œdjango” at β€œflask” sila, kailangan mong tingnan ang mga bakante at basahin kung ano ang kinakailangan doon)
  5. Malalim na pag-aaral ng python.
  6. js mga pangunahing kaalaman.

Ito napaka, Inuulit ko, napaka isang magaspang na plano, ang bawat isa sa mga punto ay napakalaki sa sarili nito, at maraming mga paksa ang hindi kasama (halimbawa, pagsubok ng code). Ngunit ito ay hindi bababa sa ilang uri ng sistematisasyon ng kaalaman na magpapahintulot sa iyo na hindi malito tungkol sa kung ano ang alam mo at kung ano ang hindi mo alam. Habang nag-aaral tayo, magiging mas malinaw kung ano ang kulang, at madaragdagan ang roadmap na ito.

Susunod: hanapin ang mga materyales na gagamitin mo sa pag-aaral. Mga pangunahing posibleng pagpipilian:

  • Mga online na kurso. Hindi ang mga kursong "Hunyo sa loob ng 3 araw", ngunit ang mga nagtuturo ng isang partikular na bagay. Kadalasan ang mga kursong ito ay libre. Mga halimbawa ng mga site na may mga karaniwang kurso: stepik, coursera.
  • Mga online na aklat-aralin. May libre, shareware, may bayad. Ikaw mismo ang mag-iisip kung saan magbabayad at kung saan hindi. Mga halimbawa: htmlacademy, learn.javascript.ru, aklat ng django.
  • Mga libro. Marami, marami sa kanila. Kung hindi ka makapili, tatlong piraso ng payo: subukang kumuha ng mga bagong libro, dahil... ang impormasyon ay nagiging lipas na nang napakabilis; Ang O'Reilly publishing house ay may medyo mataas na antas ng kalidad at normal na pagtatanghal; Kung maaari, basahin sa Ingles.
  • Mga pagpupulong/kumperensya/lektura. Hindi gaanong kapaki-pakinabang sa mga tuntunin ng kayamanan ng impormasyon, ngunit lubhang kapaki-pakinabang sa mga tuntunin ng pagkakataong makipag-usap sa mga kasamahan, magtanong ng mga nauugnay na katanungan, at magkaroon ng mga bagong kakilala. Baka makahanap pa ng bakante.
  • Google. Maraming tao ang minamaliit, ngunit ang kakayahang makahanap ng mga sagot sa ilang mga katanungan ay napakahalaga. Huwag mag-atubiling mag-Google ng mga bagay na hindi mo naiintindihan. Kahit na ang mga batikang nakatatanda ay ginagawa ito. Ang kakayahang mabilis na makahanap ng impormasyon tungkol sa isang bagay ay mahalagang kapareho ng pag-alam nito.

Okay, napagpasyahan namin ang mga mapagkukunan ng impormasyon. Paano makipagtulungan sa kanila?

  1. Basahin/pakinggang mabuti. Huwag basahin kapag pagod ka. Suriin ang kahulugan, huwag laktawan ang mga puntong tila halata. Kadalasan ang paglipat mula sa halata hanggang sa hindi maintindihan ay nangyayari nang mabilis. Huwag mag-atubiling bumalik at muling basahin.
  2. Kumuha ng mga tala. Una, magiging mas madali para sa iyo na maunawaan ang iyong mga tala kapag maraming impormasyon. Pangalawa, sa ganitong paraan ang impormasyon ay mas mahusay na hinihigop.
  3. Gawin ang lahat ng mga gawain na iminumungkahi ng pinagmulan sa iyo. Kahit hindi, hindi ganoon. Gawin Lahat mga gawain na inaalok sa iyo ng pinagmulan. Kahit yung mga mukhang simple lang. Lalo na yung mga mukhang masyadong complicated. Kung natigil ka, humingi ng tulong stackoverflow, kahit man lang sa pamamagitan ng Google translate. Ang mga takdang-aralin ay isinulat para sa isang kadahilanan; kailangan ang mga ito para sa tamang asimilasyon ng materyal.
  4. Bumuo ng mga gawain sa iyong sarili at gawin din ang mga ito. Sa isip, dapat mayroong higit na kasanayan kaysa sa teorya. Kung mas mahigpit mong i-secure ang materyal, mas malamang na sa isang buwan ay hindi mo ito malilimutan.
  5. Opsyonal: gumawa ng mga pagsusulit para sa iyong sarili habang nagbabasa ka. Isulat ang mga nakakalito na tanong sa isang hiwalay na mapagkukunan, at pagkatapos ng isang linggo o buwan, basahin at subukang sagutin. Kung hindi ito gumana, subukang muli.

At inuulit namin ang 5 puntos na ito para sa bawat teknolohiyang pinag-aaralan. Sa ganitong paraan lamang (na may masusing pag-aaral ng teorya at isang siksik na saklaw ng kasanayan) makakabuo ka ng isang mataas na kalidad na base ng kaalaman kung saan maaari kang maging isang propesyonal.

At mukhang simple lang ang lahat: isa-isa kaming natututo ng mga teknolohiya, naiintindihan ang Zen, at nagtatrabaho. Ganyan naman, pero hindi.

Karamihan sa mga taong natututo ng programming ay ganito:

Mensahe sa magiging programmer

ang larawan ay matapat na ninakaw kaya

At dito kailangan mong tingnan ang bawat isa sa mga hakbang nang mas detalyado:

Π‘Ρ‚Π°Ρ€Ρ‚: Wala kang kaalaman. Punto ng pag-alis. Wala pang malinaw, ngunit marahil ito ay lubhang kawili-wili. Ang landas ay nagsisimula paakyat, ngunit magaan. Sa lalong madaling panahon ay aakyat ka

Tuktok ng Katangahan: β€œHurray, natapos mo na ang iyong unang dalawang kurso! Lahat ay gumagana!” Sa yugtong ito, ang euphoria mula sa mga unang tagumpay ay bumubulag sa mga mata. Tila malapit na ang tagumpay, sa kabila ng katotohanan na ikaw ay nasa simula pa lamang ng iyong paglalakbay. At habang nagsusumikap para sa tagumpay na ito, maaaring hindi mo mapansin kung paano magsisimula ang iyong mabilis na pagkahulog sa hukay. At ang pangalan ng hukay na ito:

Lambak ng Kawalan ng Pag-asa: Kaya nakumpleto mo na ang mga pangunahing kurso, nagbasa ng ilang libro at nagpasya na magsimulang magsulat ng sarili mong bagay. At biglang hindi gumagana. Tila ang lahat ay kilala, ngunit kung paano pagsamahin ito upang ito ay gumana ay hindi malinaw. "Wala akong alam", "Hindi ako magtatagumpay". Sa yugtong ito maraming tao ang sumusuko. Sa katunayan, ang kaalaman ay talagang umiiral, at ito ay hindi sumingaw kahit saan. Nawala lang ang malinaw na mga kinakailangan at suporta. Nagsimula ang totoong programming. Kapag kailangan mong magmaniobra sa isang puwang kung saan may layunin, ngunit walang mga intermediate na yugto, maraming tao ang nahuhulog sa pagkahilo. Ngunit sa katotohanan, ito ay isa pang yugto ng pag-aaral - kahit na sa unang sampung beses ang lahat ay lumiliko sa anumang paraan, na may napakalaking pagsisikap, pangit. Ang pangunahing bagay ay paulit-ulit na makumpleto ang bagay, kahit papaano. Ang ikalabing-isang pagkakataon ay magiging mas madali ang mga bagay. Sa ikalimampu, lilitaw ang isang solusyon na mukhang maganda sa iyo. Sa ika-daan ay hindi na ito nakakatakot. At pagkatapos ay darating ito

Slope ng Enlightenment: Sa yugtong ito, malinaw na lumalabas ang mga hangganan ng iyong kaalaman at kamangmangan. Ang kamangmangan ay hindi na nakakatakot; may pag-unawa kung paano ito malalampasan. Magiging mas madali ang pagmaniobra sa kalawakan nang walang mga desisyon. Ito na ang finish line. Napagtatanto mo na kung ano ang kulang sa iyo bilang isang espesyalista, kukumpletuhin mo at pagsama-samahin ang kinakailangan at papasok sa larangan na may mahinahong kaluluwa.

Talampas ng Katatagan: Binabati kita. Ito ang linya ng pagtatapos. Ikaw ay isang dalubhasa. Makakapagtrabaho ka, hindi ka maliligaw kapag nahaharap sa hindi pamilyar na teknolohiya. Halos anumang problema ay malalampasan kung magsisikap ka. At sa kabila ng katotohanan na ito ang linya ng pagtatapos, ito ay simula lamang ng isang mas malaking paglalakbay.

Ang landas ng programmer.

Good luck dito!

Panitikan para sa opsyonal na pagbabasa:
Tungkol sa pagiging isang programmer at ang Dunning-Kruger effect: sundutin.
Hardcore na paraan para maging programmer sa loob ng 9 na buwan (hindi angkop para sa lahat): sundutin.
Listahan ng mga proyekto na maaari mong ipatupad nang nakapag-iisa sa iyong pag-aaral: sundutin.
Konting dagdag motivation lang: sundutin.

Pinagmulan: www.habr.com

Magdagdag ng komento