Fullstack-utvikler og mentor Oleksiy Kapustnik svarer på vanlige spørsmål fra nybegynnere og forteller hvordan du forstår at programmering passer deg, hva en Java-junior trenger å vite i 2022, og hva du skal gjøre for å skille seg ut fra andre kandidater. Hvordan forstå om utvikleryrket passer deg: mentor Oleksiy Kapustnik svarer på populære spørsmål fra nybegynnere programmerere - 1

Hvordan vet du om en utviklers karriere er riktig for deg? Hvilke egenskaper er avgjørende for det?

Du må hele tiden være bevisst på nye teknologier, ha en lidenskap for dem og ønske å lære nye ting. Uten disse egenskapene vil du ha det vanskelig. Jeg underviste dusinvis av elever, og i hver gruppe brente noen med programmering – de var alltid i ledelsen. Programmering er et område du trenger å lære hele tiden. Og jo lavere nivå, jo vanskeligere er det for deg fordi du ikke vet mye. Så det vil hjelpe å tåle treningsbelastningen og senere opprettholde nivået ditt. Hvis du er matematikklærer, har du fått den nødvendige kunnskapen og brukt den i de neste 50 årene. Når det først er en oppdagelse eller en ny formel hvert tiende år, vet du det og lærer det igjen. I programmering er det motsatt: Jeg mestret teknologien i to uker, men mens jeg forsto det, kom en ny oppdatering, og jeg måtte lære det på nytt fordi det endret alt radikalt. Vi må lære å tilpasse oss. Det er vår natur å være redd for å endre noe eller motstå det. Men hvis du oppfører deg slik i livet, hører du sannsynligvis ikke hjemme i programmering. Og omvendt: hvis du forstår at du trenger å endre hele tiden, forbedre og erkjenne at alt i livet er forgjengelig, så vil programmering være en bit av kaken for deg. Utholdenhet og disiplin er avgjørende. Motivasjon fungerer bare i den innledende fasen. For eksempel, hvis du begynner å studere, motiveres du av penger, frihet, fordeler og et nytt yrke. Men etter et par måneder kan motivasjonen din forsvinne, noe som er typisk: disiplin bør virke videre. Du kan sitte i timevis på en oppgave, og når du løser den forstår du at alt er mulig. Forresten,

Hva bør en nybegynner Java-utvikler vite i 2022?

I tillegg til Java Core, må du kjenne Spring-rammeverket – du kan ikke jobbe uten det. En gang mislyktes jeg på et intervju fordi jeg ikke skjønte at jeg trengte å vite det. Uansett trenger du kunnskap om databaser og Hibernate-rammeverket. Ofte skriver de om å kunne JavaScript, HTML og CSS i jobbkrav. Likevel, noen ganger spør de deg om dem på intervjuet, selv om du kanskje ikke bruker dem hvis du får jobb. Jeg trengte denne kunnskapen i ett selskap der jeg jobbet som full-stack-utvikler. Da jeg jobbet i EPAM var jeg en ren back-end-utvikler, og det kom ikke godt med. Likevel vil det ikke skade å kjenne til disse teknologiene, spesielt hvis du vil lage prosjektet ditt. Jeg anbefaler læringsteknologier som Kafka (Apache Kafka er en distribuert programvaremeldingsmegler, et åpen kildekode-prosjekt utviklet av Apache Foundation – red.). En mellomutvikler må vite det, og det kan være en ekstra fordel for en junior. Du må kjenne til Git versjonskontrollsystemet. Du må også forstå hvem som er hvem og hva DevOps gjør (hovedoppgaven til denne spesialisten er å sette opp og vedlikeholde nødvendig programvare i selskapet og automatisere hvert utviklingstrinn – red.). Hvis en utvikler utfører prosjekter for seg selv, må de kunne de essensielle tingene fra DevOps-området. du må forstå hvem som er hvem og hva DevOps gjør (hovedoppgaven til denne spesialisten er å sette opp og vedlikeholde nødvendig programvare i selskapet og automatisere hvert utviklingstrinn – red.). Hvis en utvikler utfører prosjekter for seg selv, må de kunne de essensielle tingene fra DevOps-området. du må forstå hvem som er hvem og hva DevOps gjør (hovedoppgaven til denne spesialisten er å sette opp og vedlikeholde nødvendig programvare i selskapet og automatisere hvert utviklingstrinn – red.). Hvis en utvikler utfører prosjekter for seg selv, må de kunne de essensielle tingene fra DevOps-området.

Hvordan kan du gjøre CV-en din eksepsjonell, forskjellig fra resten av kandidatene?

CV-en skal være lett å lese. Jeg vil si det skal være intuitivt lesbart slik at rekruttereren kan se: dette er en Java-utviklers CV. Denne utvikleren kjenner kjernen og grunnleggende om rammeverk. En liste over bøker du har lest kan være et pluss. I mitt første CV ga jeg en slik liste, og da HR møtte meg sa hun at hun og kollegene hennes var imponert over at jeg hadde lest disse bøkene. Det er også nødvendig å spesifisere den "generelle kunnskapen" du har. For eksempel hvordan Internett fungerer, kunnskap om REST, SOAP – noe som ikke gjelder Java Core, men hører til generell programmering.

Hvordan vet du når det er tid for intervjuer?

Jeg ville starte med å finne intervjuspørsmål for en Java Junior-stilling. Så leste jeg spørsmålene og tenkte på hvordan jeg ville svare på dem. Sammenlign deretter svarene mine med de gitte svarene. Hvis de fleste samsvarer, er du klar for et intervju. Men hvis du bare har svart riktig på tre spørsmål av 30, trenger du mer tid. Hvis alt ordnet seg med spørsmålene, kunne du ta online tester. Spørsmålene vil mest sannsynlig være nesten de samme på intervjuet. Likevel, ikke glem stresset og vær klar for en utfordring. Når du gjør alle disse forberedelsene, sett en deadline for deg selv, ellers vil du kanskje aldri føle deg klar for et skikkelig intervju.

Hvordan forberede seg til et intervju?

Først av alt må du overvinne frykten din. Hvis dette er ditt livs første jobbintervju, vil du bli stresset. Ved mitt første intervju sa tre ærverdige programmerere til meg: "Vel, fortell meg det." Og jeg ble redd ikke fordi de var skumle, men fordi dette aldri har skjedd meg før. For å overvinne denne frykten, kan du be en venn om å hjelpe: gi dem en liste med spørsmål og la dem lede deg gjennom dem. Under intervjuet kan det oppstå en situasjon når du blir spurt om noe, og du ikke vet svaret. Du kan ikke bare si «jeg vet ikke» og være stille. I stedet bør du svare: "Jeg har ikke jobbet med denne teknologien, men jeg antar at det fungerer slik ...". Du må konvertere din uvitenhet til noe du kan lære raskt. Prøv å opptre selvsikker. Ethvert intervjus formål for en bedrift er å evaluere deg som utvikler, og at du skal vurdere intervjuerne som dine potensielle kolleger. Føl deg lik: Når selskapet velger deg, velger du et selskap.

Hvordan bør jeg organisere læringen min?

Det er en fin linje i trening – det er balansen mellom privatliv og arbeid ved datamaskinen. Når du først begynner å lære, har du kanskje god tid, men lite kunnskap til å kode. Derfor kan du bruke 3 timer om dagen til programmering. Så, når kunnskapsmengden øker, kan du bruke 8 timer om dagen på å studere. Noen ganger kan det være en god idé å jobbe 15 timer om dagen for å lære alt så snart som mulig. Men du vil ikke opprettholde denne hastigheten lenge. Derfor er det viktig å finne din grense når du innser at du har jobbet nok for å lære stoffet, men ikke er utbrent. En gang studerte jeg og jobbet for hardt, noe som hadde en negativ effekt. Du må hvile og lade hjernen på nytt.