Full-stack-udvikler og mentor Oleksiy Kapustnik besvarer almindelige spørgsmål fra begyndere og fortæller, hvordan man forstår, at programmering passer til dig, hvad en Java-junior skal vide i 2022, og hvad man skal gøre for at skille sig ud fra andre kandidater.
Hvordan ved du, om en udviklers karriere er den rigtige for dig? Hvilke egenskaber er afgørende for det?
Du skal konstant være opmærksom på nye teknologier, have en passion for dem og have lyst til at lære nye ting. Uden disse egenskaber vil du få det svært. Jeg underviste dusinvis af elever, og i hver gruppe brændte nogle med programmering – de var altid i spidsen. Programmering er et område, hvor du konstant skal lære. Og jo lavere dit niveau er, jo sværere er det for dig, fordi du ikke ved meget. Så det ville hjælpe at modstå træningsbelastningen og senere holde dit niveau. Hvis du er matematiklærer, har du fået den nødvendige viden og anvendt den i de næste 50 år. Når først der er en opdagelse eller en ny formel hvert tiende år, ved du det og lærer det igen. I programmering er det modsatte sandt: Jeg mestrede teknologien i to uger, men mens jeg forstod det, kom en ny opdatering ud, og jeg var nødt til at lære det igen, fordi det ændrede alt radikalt. Vi skal lære at tilpasse os. Det er vores natur at være bange for at ændre noget eller modstå det. Men hvis du opfører dig sådan i livet, hører du nok ikke til i programmering. Og omvendt: Hvis du forstår, at du hele tiden skal ændre dig, forbedre dig og anerkende, at alt i livet er forgængeligt, så vil programmering være et stykke kage for dig. Vedholdenhed og disciplin er afgørende. Motivation virker kun i den indledende fase. For eksempel, hvis du begynder at studere, motiveres du af penge, frihed, frynsegoder og et nyt erhverv. Men efter et par måneder kan din motivation forsvinde, hvilket er typisk: disciplinen skal virke videre. Man kan sidde i timevis på en opgave, og når man løser den, forstår man, at alt er muligt. I øvrigt,
Hvad skal en nybegynder Java-udvikler vide i 2022?
Udover Java Core skal du kende Spring-rammerne – du kan ikke arbejde uden. Engang fejlede jeg et interview, fordi jeg ikke var klar over, at jeg havde brug for at vide det. Under alle omstændigheder har du brug for kendskab til databaser og Hibernate-rammerne. Ofte skriver de om at kende JavaScript, HTML og CSS i jobkrav. Alligevel spørger de dig nogle gange om dem til samtalen, selvom du måske ikke bruger dem, hvis du får et job. Jeg havde brug for denne viden i en virksomhed, hvor jeg arbejdede som fuldstackudvikler. Da jeg arbejdede hos EPAM, var jeg en ren back-end udvikler, og det kom ikke til nytte. Ikke desto mindre vil det ikke skade at kende disse teknologier, især hvis du ønsker at skabe dit projekt. Jeg anbefaler læringsteknologier som Kafka (Apache Kafka er en distribueret softwaremeddelelsesmægler, et open source-projekt udviklet af Apache Foundation – red.). Det skal en mellemudvikler vide, og det kan være en ekstra fordel for en Junior. Du skal kende Git versionskontrolsystemet. Du skal også forstå, hvem der er hvem og hvad DevOps gør (denne specialists hovedopgave er at opsætte og vedligeholde den nødvendige software i virksomheden og automatisere hvert udviklingstrin – red.). Hvis en udvikler udfører projekter for sig selv, skal de kende de væsentlige ting fra DevOps-området. du skal forstå, hvem der er hvem, og hvad DevOps gør (denne specialists hovedopgave er at opsætte og vedligeholde den nødvendige software i virksomheden og automatisere hvert udviklingstrin – red.). Hvis en udvikler udfører projekter for sig selv, skal de kende de væsentlige ting fra DevOps-området. du skal forstå, hvem der er hvem, og hvad DevOps gør (denne specialists hovedopgave er at opsætte og vedligeholde den nødvendige software i virksomheden og automatisere hvert udviklingstrin – red.). Hvis en udvikler udfører projekter for sig selv, skal de kende de væsentlige ting fra DevOps-området.
Hvordan kan du gøre dit CV enestående, anderledes end resten af kandidaterne?
CV'et skal være let at læse. Jeg vil sige, at det skal være intuitivt læsbart, så rekruttereren kan se: dette er en Java-udviklers CV. Denne udvikler kender kernen og det grundlæggende i frameworks. En liste over bøger, du har læst, kan være et plus. I mit første CV gav jeg sådan en liste, og da HR mødtes med mig, sagde hun, at hun og hendes kolleger var imponerede over, at jeg havde læst disse bøger. Det er også nødvendigt at specificere den "generelle viden", du har. Eksempelvis hvordan internettet fungerer, kendskab til REST, SOAP – noget der ikke gælder for Java Core men hører til generel programmering.
Hvordan ved du, hvornår det er tid til samtaler?
Jeg ville starte med at finde interviewspørgsmål til en Java Junior stilling. Så læste jeg spørgsmålene og tænkte over, hvordan jeg ville besvare dem. Sammenlign derefter mine svar med de givne svar. Hvis de fleste af dem matcher, fint, du er klar til et interview. Men hvis du kun har svaret rigtigt på tre spørgsmål ud af 30, har du brug for mere tid. Hvis alt fungerede med spørgsmålene, kunne du tage online tests. Spørgsmålene vil højst sandsynligt være næsten de samme ved interviewet. Ikke desto mindre, glem ikke stressen og vær klar til en udfordring. Når du gør alle disse forberedelser, så sæt en deadline for dig selv, ellers vil du måske aldrig føle dig klar til en rigtig samtale.
Hvordan forbereder man sig til en samtale?
Først og fremmest skal du overvinde din frygt. Hvis dette er den første jobsamtale i dit liv, vil du blive stresset. Ved mit første interview sagde tre ærværdige programmører til mig: "Nå, fortæl mig det." Og jeg blev bange, ikke fordi de var skræmmende, men fordi det aldrig er sket for mig før. For at overvinde denne frygt kan du bede en ven om at hjælpe: Giv dem en liste med spørgsmål, og lad dem køre dig igennem dem. Under samtalen kan der opstå en situation, når du bliver spurgt om noget, og du ikke kender svaret. Du kan ikke bare sige "jeg ved det ikke" og forblive tavs. I stedet skal du svare: "Jeg har ikke arbejdet med denne teknologi, men jeg går ud fra, at det virker sådan...". Du skal konvertere din uvidenhed til noget, du hurtigt kan lære. Prøv at handle selvsikkert. Ethvert interviews formål for en virksomhed er at evaluere dig som udvikler, og at du skal evaluere interviewerne som dine potentielle kollegaer. Føl dig lige: Som virksomheden vælger dig, vælger du en virksomhed.
Hvordan skal jeg organisere min læring?
Der er en fin linje i træningen – det er balancen mellem privatliv og arbejde ved computeren. Når du først begynder at lære, har du måske masser af tid, men kun lidt viden til at kode. Derfor kan du afsætte 3 timer om dagen til programmering. Så når mængden af viden stiger, kan du bruge 8 timer om dagen på at studere. Nogle gange synes du måske, at det er en god idé at arbejde 15 timer om dagen for at lære alt så hurtigt som muligt. Men du vil ikke opretholde denne hastighed længe. Derfor er det essentielt at finde din grænse, når du indser, at du har arbejdet nok for at lære stoffet, men ikke er udbrændt. Engang studerede og arbejdede jeg for hårdt, hvilket havde en negativ effekt. Du skal hvile og genoplade din hjerne.
GO TO FULL VERSION