JavaRush /Java Blog /Random-TL /Ang kwento ng tagumpay ko

Ang kwento ng tagumpay ko

Nai-publish sa grupo
  1. Kumusta sa lahat, nagsusulat ako mula sa aking unang lugar ng trabaho (mas tiyak, mula sa lugar ng aking unang bayad na internship bilang isang junior java developer) bago magsimula ang araw ng trabaho.
  2. Ang kwento ng tagumpay ko - 1
  3. Ako ay 39 (!), Nagsimula akong magprograma bilang isang libangan habang ako ay nagpahinga mula sa trabaho, kaunting pera, pag-aalaga sa isang bagong silang na bata, lumipat pabalik sa aking pamilya sa Moscow at ilang iba pang mga bagay. Bago iyon, nagtrabaho siya bilang isang financier, at lumahok ng marami sa pagpapatupad ng mga sistema ng accounting sa iba't ibang 1Сах.

  4. Sa una sinubukan kong kunin ang programming sa aking sarili, at kahit na magsimula sa Kotlin (talagang nagustuhan ko ang parehong wika mismo at ang mga bumuo nito - JetBrains). Ngunit mabilis, marahil sa loob ng isang linggo, napagtanto ko na kung wala ang java ay walang magagawa sa Kotlin, at ilang uri ng kurso ang kailangan; ang paghuhukay sa iyong sarili ay napaka hindi epektibo. Natagpuan ko, hindi ko maalala kung paano, JavaRush, nakarehistro ako dito noong ika-30 ng Hunyo (Tiningnan ko ito sa pamamagitan ng koreo ngayon). Noong Hulyo 5, bumili ako ng isang subscription (sa loob ng 5 araw na ito ay nakumpleto ko ang unang 10 antas, dalawang antas bawat araw). Nakumpleto ko, sa aking opinyon, 3 buwan, 25 o kaunti pang mga antas (ganap, pag-ikot sa paligid nang detalyado, pag-download ng ilang maliit na bahagi ng mga solusyon, ngunit tiyak na nauunawaan ang mga ito nang detalyado, talaga).

    Naaalala ko ang labis na kilig na mayroon ako nang sa wakas ay na-parse ko ang mga mathematical expression. Ang gawaing ito ay isang malaking hakbang, isang pambihirang tagumpay sa pag-unawa sa aking sarili bilang isang programmer.


  5. Pinili kong dumaan muna sa mga koleksyon, at pagkatapos ay ang bahagi ng concurrency. Tiningnan ko ang mga nilalaman at nagpasya na mas kawili-wili at kapaki-pakinabang ang pakikitungo sa mga koleksyon. Kinailangan ko, sa aking opinyon, mga dalawang buwan upang makumpleto ang isa pang 10 antas (hanggang sa ika-35 sa isang lugar).

  6. Sa isang lugar sa gitna ng concurrency ay naging malinaw na ito ay halos walang kabuluhan upang magpatuloy upang matapos. Naging mas kawili-wiling pag-aralan ang mga problema sa seksyon ng tulong (kapaki-pakinabang ito para sa akin - natutunan kong pag-aralan ang code ng ibang tao at ayusin ang aking kaalaman) kaysa magsagawa ng mga pagsasanay. Pagkatapos ay itinakda ko sa aking sarili ang layunin ng paggawa ng isang web project gamit ang Spring + Hibernate + Mayesquel + ilang uri ng template engine (sa huli ay ginawa ko ito gamit ang Thymeleaf). Binuksan ko ang natitirang mga antas para lamang matuklasan ang pinakamasarap na gawain.

    Kung nagkaroon ng internship sa sandaling iyon, ito ay magiging mahusay, ngunit para sa isa na nangyayari sa sandaling iyon ay huli na ang lahat, at para sa susunod ay masyadong maaga.


  7. Bilang resulta, gumugol ako ng isang buwan at kalahati sa pagtanggal ng lahat ng ito (ginawa ng tao sa halimbawa ng video ang parehong bagay sa malamang na 50 minuto, kung iyon). Gumawa ako ng dalawang pansubok na serbisyo sa web sa kabuuan. Ang isa ay isang purong pag-uulit ng kung ano ang nasa video (ang karaniwang listahan ng mga libro ay kahalintulad sa isang pagsubok na takdang-aralin para sa isang internship). Ang pangalawa ay higit pa o hindi gaanong katulad sa tunay na gawain, ang backend na bahagi ng site para sa pagkalkula ng halaga ng mga nasuspinde na kisame na may rest controller (pagsunod sa halimbawa ng mga tunay na pangangailangan ng mga kaibigan). At sa Spring-boot, at hindi sa hubad na spring. Sa pangalawa, para masaya, nagpasok pa ako ng mga klase sa Kotlin (sa pangkalahatan, lubos kong inirerekumenda ang Kotlin, tiyak na maghuhukay ako ng higit pa sa aking sarili).

  8. Pagkatapos kong gumawa ng isang web service mula sa simula (wala kaming sasabihin tungkol sa katotohanang wala itong awtorisasyon, manager ng transaksyon, mga normal na pagsusuri ng bahagi ng web, atbp.), naging malinaw na kinakailangan na itakda ang resume at maghanap ng trabaho June. Sa puntong ito, nagsimula akong maunawaan na talagang nagustuhan ko ang programming at talagang kailangan ang mga programmer. Pagkatapos (sa kalagitnaan ng Enero, pagkatapos ng mga pista opisyal) sa wakas ay nagsulat ako ng isang maikling resume sa Ingles, ganap na tinanggal ang aking nakaraang karanasan (nag-iwan lamang ako ng maikling paglalarawan sa isang talata) at isinumite ito sa NN.

  9. Ang nasimulan ay isang talata lamang. Wala akong oras na magpadala ng kahilingan sa sinuman, nakatanggap na ako ng 4 na alok mula sa mga kumpanya para sa isang pakikipanayam at ilang higit pang mga liham mula sa HR na may mga alok upang isaalang-alang ang iba't ibang mga trabaho (ngunit ang dalawang liham na ito ay wala sa antas, para sa gitnang tao). Hindi ko maintindihan kung bakit nangyari ito, sa palagay ko sa sandaling iyon ay nagkaroon ng malakas na pag-akyat sa mga order mula sa Sber (2 sa apat - Sber mismo, na karaniwang nag-aanyaya sa lahat na nag-post ng resume, at kontratista nito) para sa isang pakikipanayam. Dagdag pa, ang aking resume ay malamang na mukhang maganda.

  10. Ang unang panayam (Sbertech) ay napakatalino. I teach him very well about the core and the very basics, sabi ng interviewer, bomba lang daw ang social security at siguradong makakahanap ako ng trabaho, kahit hindi sa kanila. Ngunit ang pangalawa (sa telepono) ay isang impiyerno ng kahihiyan. Ako ay ganap na naliligaw, at alam ko ang halos lahat ng mga tanong o maaaring magbigay ng matinong sagot, gaya ng naalala ko sa kalaunan. Ngayon ay may dalawang tagapanayam sa Sbertech, iniisip ng isa na hindi ako masama, iniisip ng pangalawa na ako ay isang clinical idiot. Ito ay isang magandang aral na seryosohin ang mga panayam, kung hindi man ay medyo ipinagmamalaki ko pagkatapos ng mga alok at ang unang panayam.

  11. Kapansin-pansin na sa 3 mga panayam (kabilang ang kasalukuyang lugar) ay halos walang teknikal na panayam - sila ay tumingin puro tao sa kung ano ako, kahit na ako ay handa nang husto, siyempre. Naaalala ko lalo na ang kumpanyang nag-imbita sa akin dahil lamang sa 35 taong gulang na ako. Mayroon silang kakaibang kapaligiran. Nung tinanong ko yung development manager nila (much older than me, old school talaga) kung anong IDE ang gamit nila (Intellij or Eclipse, there is some kind of policy in this part), hindi man lang niya naintindihan nung una, tapos sumagot siya ng “Oh. , isang text editor... Oo, hindi ko ginagamit ang mga ito, iyon ang paraan ng pagsulat ko ng code. Ngunit maaari kang gumamit ng kahit ano, walang problema." At tiyak na hindi siya nagbibiro. Nagulat ako, to put it mildly.

  12. Pagkalipas ng ilang linggo nakatanggap ako ng tawag mula sa Sbertech (tiyak pagkatapos ng unang panayam, mayroon silang isang dagat ng mga departamento doon, bawat isa ay nagre-recruit ng kanilang sarili) na may alok na magtrabaho nang humigit-kumulang. 1.1 libong dolyar sa kamay bawat buwan, isinasaalang-alang ang taunang bonus. Sabi ko ok, sinimulan na nilang iproseso ang offer. Ang prosesong ito ay tumatagal sa kanila ng isang disenteng dami ng oras, tumingin pa rin ako sa iba pang mga gawa. Sa sandaling iyon, nakatagpo ako ng isang ad sa Javarash tungkol sa pagre-recruit ng mga intern para sa Smart group ng mga kumpanya. Nagsulat ako na gusto kong makipag-chat, hindi mo alam, halos agad akong pumunta para sa isang pakikipanayam. Si Tim lead ay halos hindi nagtanong sa teknikal na bahagi (bagaman ako mismo ay inilarawan ang aking antas nang sapat, nang walang kalokohan) at sinabi na handa siyang subukan ako sa isang bayad na internship. Pumayag naman ako kasi medyo inistorbo ako ng Sbertech (malinaw naman na pupunta ako dun kung walang alternative), plus nagustuhan ko yung atmosphere at yung team lead, plus 7 minutes walk from the place where we rent. Isang apartment. Kinailangan ako ng higit sa ilang linggo upang ayusin ang pangangalaga sa bata, at aktwal na pumasok ako sa trabaho noong ika-28 ng Pebrero.

  13. Ngayon ako (kaayon ng isa pang intern, siya ay mula sa ibang kurso) ay nauunawaan ang code ng pangunahing proyekto ng kumpanya at, kahanay, sa ilalim ng gabay ng pinuno ng koponan, lumilikha ako ng isang application sa pagsasanay, ang tanging layunin kung saan ay ang paggamit ng mga pangunahing teknolohiya at diskarte na umiiral sa pangunahing end-to-end na paraan, mula sa database hanggang sa proyekto ng browser, ngunit sa maliit na sukat. Ang unang araw ay nagkaroon ng kaunting gulat, ngunit sa ikalawang araw na ako ay nasangkot sa gawain, ngayon ito ay napaka-interesante, ako ay pumasok sa trabaho bago ang lahat, ako ay umaalis nang mas huli kaysa sa iba, araw-araw ay nararamdaman kong ako' pinapabuti ko ang aking mga kasanayan. Sinabi ni Tim lead na oras na para magpatuloy sa totoong gawain (natanggap ako noong ika-28 ng Pebrero).

  14. Mga tip para sa mga nagsisimula:

    • Ingles. Maswerte ako na mayroon na akong matatas na Ingles (gaano kasuwerte, halimbawa, madalas kaming nagho-host ng mga manlalakbay sa couchsurfing, ang aking Ingles ay nagpapabuti - pagpalain ka). Kung walang English sa programming halos zero ka. Sa kasamaang palad ito ay gayon.

    • tornilyo. Sa panahon ng aking pagsasanay, mayroon akong panuntunan - hindi isang araw na walang linya ng code. At bilang pamantayan, gumugol ako ng ilang oras sa isang araw sa programming. Sa kasamaang palad (o marahil hindi), wala akong nabasa na anumang mga libro. Ngunit nanood ako ng maraming video tutorial at mga talumpati mula sa mga kumperensya + talagang muling binasa ang isang dagat ng mga sagot sa stackoverflow.

    • Still, Collections muna. Concurrency - ayon sa natitirang prinsipyo. Bagama't mayroon na akong lugar sa aking tunay na kasanayan sa multithreading, ang pagtatrabaho sa mga koleksyon ay higit na mahalaga IMHO. Sa mga panayam, ang tanging oras na nagtanong sila ay, alam ko kung ano ang isang mutex at iyon ay tungkol sa concurrency. Ngunit tungkol sa mga koleksyon ito ay ganap na naiiba.

    • Siguraduhing gumawa ng ilang dosenang mga ehersisyo sa sqlex.ru (ito ay ayon sa esquel, ayon sa pagkakabanggit). Ito ay napaka-simple pagkatapos ng ilang dosenang mga antas sa JavaRush, ngunit sa parehong oras ay lubhang kapaki-pakinabang para sa backend programming at mga panayam.

    • Siguraduhing gawin ang iyong simpleng proyekto gamit ang mga framework tulad ng spring-boot + hibernate + mayesquel + ilang uri ng template engine (gaya ng timeleaf o mustash). O sa tingin ko ang pagkumpleto ng isang internship ay magiging katulad, ngunit wala akong mairerekomenda dito. Ang isang tao na may hubad na teorya sa Spring at isang natapos na proyekto sa programming ay simpleng langit at lupa. Pagkatapos ng proyekto, ang mga karaniwang pagsasanay sa kurso ay naging praktikal na kindergarten, ang mga kumplikado - mas mababa sa average. Sa pamamagitan lamang ng pagtaas ng maturity ng programmer.

    • Kinakailangang maunawaan at magdagdag ng pagpoproseso ng transaksyon sa proyektong ito, hindi lamang sa antas ng "idagdag sa isang paraan sa @Transactional service." Ang paksa ng mga transaksyon ay patuloy sa mga panayam. Ikinalulungkot ko na hindi ko hinukay ang sqlex.ru at ang mga transaksyon sa Spring at Hibernate bago maghanap ng trabaho. Ang isang taong transactional ay makikipag-usap sa mga kinakapanayam para sa isang backend na posisyon na mas mahusay.

    • Kung sinuman ay may anumang mga katanungan o problema, sumulat, tiyak na susubukan kong tumulong sa abot ng aking makakaya. Lalo na ang mga gumagawa ng kanilang unang proyekto sa Spring. Magiging masaya akong makilala ang sinuman sa Moscow.

Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION