Nagbibigay ba ng kalamangan ang isang degree sa matematika kapag nag-aaral ng programming? Ang lahat ay nakasalalay sa kung gaano kalaki ang iyong pagsisikap sa mga kaugnay na paksa.

Ito ang kwento ni Roman, na mula sa Ukraine. Ngayon siya ay isang senior developer ng Java. Noong kalagitnaan ng 2015, siya ay isang mag-aaral na nagtatrabaho sa isang master's degree sa applied mathematics. Ang orihinal na kuwento ay narito . Sa ibaba makikita mo ang pinakamahalagang bahagi.

Dahil sa mga katotohanan ng kanyang sariling bansa, Roman ay tiyak na ang isang edukasyon sa matematika ay kikita lamang siya ng magandang pera bilang isang programmer. Ngunit ang kanyang pagpili na maging isang developer ng Java ay mas random sa halip na sinadya. Hindi niya nais na mag-aral lamang mula sa mga libro o sa mga full-time na kurso: ang aming estudyante ay nagpasya na sila ay nagkakahalaga ng masyadong maraming pera, ngunit nag-aalok ng maliit na benepisyo.

At pagkatapos ay natagpuan niya ang aming kursong Java. Ito ay sa katapusan ng Agosto/simula ng Setyembre 2015.

Isang plano sa pag-aaral ng Java

Habang inihahanda niya ang kanyang plano sa pag-aaral, nagpatuloy si Roman mula sa katotohanang wala siyang oras para magloko.

Nagtakda siya ng isang layunin: mabilis na makakuha ng kaalaman upang mapanatili ang interes sa pag-aaral, ngunit hindi masyadong mabilis na ma-overload niya ang kanyang utak.

Alinsunod dito, ito ang kanyang napagpasyahan:

  1. Mag-aral ng limang araw sa isang linggo (mula Lunes hanggang Biyernes).
  2. Sa katapusan ng linggo, gawin ang anumang bagay maliban sa pag-aaral.
  3. Maglaan ng 4 na oras para sa bawat sesyon ng pag-aaral — pagkatapos ng bawat oras, magpahinga ng 15 minuto para maglakad, magpahinga, at magtimpla ng tsaa.

Isang kabuuang 20 oras sa isang linggo. Hindi masama, ha? Bilang karagdagan, si Roman ay kailangang pumunta sa unibersidad kung minsan, dahil siya ay nasa graduate school pa lamang.

Pagsapit ng Disyembre, natapos na niya ang kalahati ng kurso, at nagpasya na marami na siyang natutunan, kahit na may mga sandali ng krisis na tumanggi ang kanyang utak na tumanggap ng bagong impormasyon, at isang katapusan ng linggo na walang anumang programming ang nakatulong sa kanya na umunlad.

Paglipat sa isang bagong antas

Tatlong buwan pagkatapos magsimula ng pag-aaral si Roman, nagsimula siyang mag-isip kung ano pa ang kailangan niyang malaman upang makakuha ng trabaho. Para sa payo, siya ay naging mga programmer na kilala niya.

At oh ang mga hindi pamilyar na salita na narinig niya, tulad ng "mga database" (horror!), at marami pang iba, ipaalam sa kanya na kailangan niyang bilisan at gawin ang higit pa. Ang mga tip na ito ay tiyak na makakatulong din sa iyo.

  1. Nagbabasa ng mga libro. Sa kaso ni Roman, kapaki-pakinabang ang "Head First Java", na inirerekomenda para sa napakaberdeng mga nagsisimula. Nakatulong ito sa kanya na mas maunawaan ang ilan sa mga nuances.
  2. Networking. Dapat mong bisitahin ang lahat ng nauugnay na hangout ng programmer sa iyong lungsod (at saanman). Kahit na maraming hindi malinaw, ito ay kung paano mo ilublob ang iyong sarili sa kapaligiran.
  3. mga website ng IT. Media para sa mga programmer, mga kurso sa video sa YouTube, mga forum — kailangan mong pag-aralan ang lahat ng ito, at magbasa ng mga kapaki-pakinabang na artikulo na bumubuo ng isang holistic na larawan kung ano ang ibig sabihin para umunlad ang isang developer ng Java.
    Sa personal, inirerekomenda namin na magsimula sa mga seksyon ng Mga Artikulo, Forum at Chat sa CodeGym :)
  4. Master kaugnay na teknolohiya: MySQL, HTML, at CSS at marami pang iba.
  5. Lumikha ng isang cool na profile sa LinkedIn para sa iyong sarili, ilista ang lahat ng iyong mga kasanayan, at aktibong palawakin ang iyong bilog ng mga propesyonal na koneksyon.
    Ibinahagi ni Roman ang kanyang karanasan: "Mayroon na akong higit sa 10,000 kaibigan sa LinkedIn. Ito ay kinakailangan upang magsimula. At nakatulong ito [kapag] isang pangkat ng mga Android freelancer ay naghahanap upang magdagdag ng isang baguhan at nakipag-ugnayan sila sa akin."

Mga unang kabiguan

Siyempre, kasabay ng kanyang pag-aaral, si Roman ay naghahanap ng internship sa mga kumpanya, at isang araw ay nakakuha siya ng isang pakikipanayam. Hindi siya handa na kumbinsihin na ipakita ang kanyang sarili sa Ingles at sagutin ang lahat ng mga tanong ng tech lead. Ayon sa kanya, "natapos niya [ang pagsubok na gawain] kahit papaano, kahit na hindi kasama ang lahat ng pag-andar. Pagkaraan ng ilang sandali, ang kanyang aplikasyon ay tinanggihan, at nagpasya siyang magpatuloy.

Nakuha ni Roman ang kanyang unang trabaho salamat sa LinkedIn, kung saan inanyayahan siyang lumahok sa isang proyekto sa pagbuo ng Android. Ang tunay na gawain, siyempre, ay mas mahirap kaysa sa mga gawain sa CodeGym, at marami ang dapat matutunan sa daan. Ang koponan ay unti-unting bumagsak, kaya hindi nila nagawang dalhin ang pilot project sa isang bagong antas, at kailangan niyang maghanap ng bagong trabaho.

Naghahanap ng bagong trabaho

Saan pupunta? Sinilip ni Roman ang online media para sa mga programmer, kung saan nakakita siya ng impormasyon sa pakikipag-ugnayan para sa mga angkop na kumpanya sa kanyang lungsod. Sinimulan niya ang isang napakalaking kampanya sa pag-mail.

Upang matiyak na ang lahat ay mukhang maganda, isinulat niya ang kanyang resume sa Ingles. Ayon sa kanya, puno ito ng maraming himulmol, dahil pakiramdam niya ay wala siyang espesyal na isusulat. Ang isang obligatory item ay isang cover letter (na dapat ay nasa English din) para maunawaan ng mga recruiter kung anong posisyon ang iyong ina-apply at bakit. Naghanda siya ng tugon sa Ingles para sa paboritong tanong sa panayam na iyon: "Sabihin mo sa akin ang tungkol sa iyong sarili." Ito ay lubhang kapaki-pakinabang.

Ang mga panayam ay mahirap, nakakahiya, at hindi komportable, ngunit nalampasan ito ni Roman. Minsan, gusto lang nilang mag-chat. Sa iba, kailangan ang paggawa ng ilang gawain sa pag-coding.

Unang alok

Pagkatapos ng apat na panayam, dalawang kumpanya ang tumanggi kay Roman, ngunit dalawa ang nag-alok sa kanya: isa para sa posisyon ng isang developer ng Android, ang isa para sa isang developer ng Java. Nag-waffle siya saglit, hindi alam kung ano ang gagawin, ngunit kalaunan ay naging Java developer siya.

Lumipas ang ilang taon at si Roman ay isang senior na developer ng Java, na sa kanyang bakanteng oras ay aktibong kasangkot sa mga open source na proyekto (narito ang kanyang profile sa GitHub ) at madalas na nagbabahagi ng kanyang kapaki-pakinabang na karanasan sa mga mag-aaral sa seksyong " Mga Artikulo " sa CodeGym.