O diplomă de matematică oferă un avantaj atunci când învață programarea? Totul depinde de cât de mult efort depui subiectelor conexe.

Aceasta este povestea lui Roman, care este din Ucraina. Astăzi este un dezvoltator Java senior. La mijlocul anului 2015, era student la un master în matematică aplicată. Povestea originală este aici . Mai jos puteți găsi cele mai importante părți.

Având în vedere realitățile din țara natală, Roman era sigur că o educație în matematică nu-i va aduce decât bani buni ca programator. Dar alegerea lui de a deveni dezvoltator Java a fost mai întâmplătoare, mai degrabă deliberată. Nu a vrut să studieze doar din cărți sau în cursuri cu normă întreagă: studentul nostru a decis că costă prea mulți bani, dar nu ofereau prea mult beneficii.

Și apoi a găsit cursul nostru Java. Aceasta a fost la sfârșitul lunii august/începutul lunii septembrie 2015.

Un plan de studiu Java

În timp ce își pregătea planul de învățare, Roman a pornit de la faptul că nu a avut timp să se apropie.

Și-a stabilit un scop: să dobândească rapid cunoștințe pentru a-și menține interesul pentru învățare, dar nu atât de repede încât să-și suprasolicite creierul.

În consecință, acesta a decis:

  1. Studiați cinci zile pe săptămână (de luni până vineri).
  2. În weekend, fă orice, cu excepția studiului.
  3. Alocați 4 ore pentru fiecare sesiune de studiu - după fiecare oră, luați o pauză de 15 minute pentru a vă plimba, a vă relaxa și a face ceai.

În total 20 de ore pe săptămână. Nu-i rău, nu? În plus, Roman trebuia să meargă uneori la universitate, pentru că era încă la studii superioare.

Până în decembrie, a terminat jumătate din curs și a decis că a învățat deja o sumă masivă, deși au existat momente de criză în care creierul lui a refuzat să primească informații noi și doar un weekend fără nicio programare l-a ajutat să progreseze.

Trecerea la un nou nivel

La trei luni după ce Roman și-a început studiile, a început să se întrebe ce mai trebuie să știe pentru a obține un loc de muncă. Pentru sfat, s-a transformat în programatori pe care îi cunoaște.

And oh the unfamiliar words he heard, like "databases" (horror!), and much more, let him know that he needed to pick up the pace and do even more. These tips will surely help you too.

  1. Reading books. In Roman's case, "Head First Java", which is recommended for very green beginners, was useful. It helped him better understand some of the nuances.
  2. Networking. You should visit all the relevant programmer hangouts in your city (and elsewhere). Even if a lot is unclear, this is how you immerse yourself in the environment.
  3. IT websites. Media for programmers, video courses on YouTube, forums — you need to delve into all this, and read useful articles form a holistic picture of what it means for a Java developer to flourish.
    Personally, we recommend starting with the Articles, Forum and Chat sections on CodeGym :)
  4. Stăpânește tehnologiile asociate: MySQL, HTML și CSS și multe altele.
  5. Creați-vă un profil LinkedIn cool, enumerați-vă toate abilitățile și extindeți-vă în mod activ cercul de conexiuni profesionale.
    Roman își împărtășește experiența: "Acum am peste 10.000 de prieteni pe LinkedIn. Acest lucru este necesar pentru a începe. Și a ajutat [când] o echipă de freelanceri Android căuta să adauge un începător și m-au contactat."

Primele eșecuri

Of course, in parallel with his studies, Roman was looking for an internship at companies, and one day he got an interview. He was not ready to convincingly present himself in English and answer all the tech lead's questions. According to him, he "finished [the test task] somehow, though not with all the functionality. After a while, his application was declined, and he decided to move on.

Roman got his first job thanks to LinkedIn, where he was invited to participate in an Android development project. The real work, of course, was more difficult than the tasks on CodeGym, and there was a lot to learn along the way. The team was gradually falling apart, so they weren't able to take the pilot project to a new level, and he had to look for a new job.

Searching for a new job

Unde să mergem? Roman a căutat în media online după programatori, unde a găsit informații de contact pentru companiile potrivite din orașul său. A început o campanie masivă de corespondență.

Pentru a se asigura că totul arată bine, și-a scris CV-ul în engleză. Potrivit lui, era plin de mult puf, din moment ce simțea că nu are nimic special de scris. Un articol obligatoriu este o scrisoare de intenție (care ar trebui să fie și în engleză), astfel încât recrutorii să înțeleagă pentru ce poziție aplici și de ce. El a pregătit un răspuns în engleză pentru acea întrebare favorită din interviu: „Spune-mi despre tine”. E foarte folositor.

Interviurile au fost dificile, jenante și inconfortabile, dar Roman a trecut peste ele. La unii, au vrut doar să discute. În altele, a fost necesară efectuarea de câteva sarcini de codare.

Prima oferta

După patru interviuri, două companii l-au refuzat pe Roman, dar două i-au făcut o ofertă: una pentru postul de dezvoltator Android, cealaltă pentru dezvoltator Java. A bătut o vreme, fără să știe ce să facă, dar în cele din urmă a devenit dezvoltator Java.

Au trecut câțiva ani și Roman este un dezvoltator Java senior, care în timpul liber este implicat activ în proiecte open source (iată profilul său GitHub ) și împărtășește adesea experiența sa utilă studenților în secțiunea „ Articole ” de pe CodeGym.