Hvorfor stopper så mange udviklere, inden de nogensinde får et job. Venligst - gør det ikke.

"Prototyper, objekter, algoritmer ... de små trin mellem trin, du ikke ved, hvordan du implementerer. Grrr ... tænker som en programmør."

Afslut denne sætning:

Min sidste kodningssession var ...

  1. Glat som silke. Jeg satte mig komfortabelt, fyrede op min redaktør og dykkede ind i den dejlige verden af ​​0'ere og 1'ere. Disse 3 timer gik som 30 minutter!
  2. Så kedeligt. Jeg tvang mig næppe til at sætte mig ned og kode. Intet fungerede ganske godt, fejl dukkede hele tiden og stadig ikke alt giver mening for mig. Disse 30 minutter føltes som 3 timer!

Mit gæt er svar nr. 2.

Og ikke fordi det er så almindeligt og også er sket for mig (selv efter 8 års programmering).

Svar nr. 1 er underligt. Hvem snakker endda sådan?

Okay okay. Vi vil tale om overvældende i programmering. Jeg ved, at vi alle har været der - det sker alt for ofte, og vi hader det.

Men jeg prøvede at gå dybere.

I løbet af de sidste par år har jeg beskæftiget mig med masser af juniorudviklere. Herunder nogle, der:

  1. For nylig brød ind i tech og følte sig tabt
  2. Siddende fast i "tutorial-fasen" og krydsede hver gang de skulle kode uden opsyn
  3. Var faktisk talentfulde, men mislykkedes i interviews eller fik aldrig engang et opkald

Hvor er brudpunktet?

Da essensen af ​​mit arbejde er at hjælpe nye udviklere med at finde et job, tog jeg mig tid til at studere deres problemer og virkelig forsøge at få empati med deres behov.

Jeg talte med kolleger i mit firma. Jeg undersøgte Facebook-grupper, fora, Q&A-websteder, store Reddit-tråde og undersøgte endda et par små samfund.

Her er en del af det, jeg fandt:

”Jeg følte, at jeg bare kopierede, hvad der var i videoerne, og det var det.” “Jeg må nøjes med at google efter eksisterende eksempler, som en anden allerede har skrevet. Jeg har lyst til at være en 3-årig, der prøver at løse regnestykker. Det er så frustrerende. ”” Jeg kan bare ikke tænke som en programmør. ”

Og min favorit:

”Dette er hvad jeg har lært om at lære at kode: Du føler dig forvirret og helt uværdig som 99% af tiden. Men den ene gang du får noget til at fungere, er det MAGIC. ”

Ser du noget?

Disse folks kampe kommer ikke fra manglende indsats. Hverken fra en dårlig læringsstrategi eller dårlig disciplin.

De har simpelthen ikke nok erfaring.

Alligevel var mange af disse mennesker på randen af ​​at opgive programmering.

Hvad det koger ned til - To myter

Jeg fandt ud af, at der i bunden af ​​de fleste kampe ligger nybegynderudviklere over to populære myter om karriere inden for softwareudvikling.

Jeg vil bryde dem lige nu og forhåbentlig undgå det overvældende og ekstra pres, som de påfører eleverne.

Myte nr. 1: Hvis du ikke elsker at programmere, er det ikke noget for dig.

Dette er noget, jeg hører nybegynderprogrammerere sige meget .

Og jeg er absolut uenig.

Nej, du behøver ikke at elske programmering for at blive programmør. Faktisk hader over 50% af professionelle udviklere det undertiden (min personlige observation).

Se, det er rart, når du løser et problem elegant. Det føles godt, når din kode er pæn, ren, velprøvet og løser folks problemer.

Men det er ikke 100% af tiden - ikke engang eksternt. De fleste arbejdsdage for programmører går ikke forbi dem og tænker:

"Åh, hvordan jeg anvendte designmønsteret for afhængighedsinjektion for elegant at afkoble mine klasser og gøre min codebase lettere at vedligeholde i fremtiden." (selvhøj-fem)

Nix.

Selv de, der taler som om de elsker hvert sekund, bruger meget tid på kedeligt, ensformigt eller frustrerende arbejde. Du kan høre forbandelser på et programmeringskontor mindst lige så meget som i en bilservice. Ærligt talt!

Det er helt fint, hvis du nogle gange hader programmering.

Ja, "måske er det ikke noget for mig?" er et almindeligt spørgsmål, når du er overvældet og frustreret. Det er bare normalt. Alligevel er programmering noget for dig. Hvis du læser dette, betyder det, at du er ligeglad. Hvis du er ligeglad, vil du klare det.

Myte nr. 2: Der er så meget, jeg ikke ved. Jeg lærer aldrig alt dette!

Dette er en anden meget almindelig tanke (måske vigtigere end myte nr. 1). Jeg har hørt mange af mine læsere klage over det. Og jeg kan absolut se ræsonnementet bag det.

Vi er i et felt så bredt, at jo dybere du graver ind, jo mere indser du, at du ikke ved det.

Selv at tænke over dette fik mig til at føle mig dårlig. Mand, det er let at blive overvældet.

Den gode del: Du behøver ikke at vide alt. Du har brug for at vide lige nok til at være opmærksom på, hvordan du finder ud af, hvad du ikke ved.

For øjeblikket skal du være sikker på at du er opmærksom på de grundlæggende forhold på højt niveau i det, du arbejder med.

Lad os bakke op med et eksempel.

Hvis du eksperimenterer med CSS, skal du vide, at det er til anvendelse af typografier på HTML-elementer. Du kan få en knap til at have kant, farve, skygge eller animation. Du kan ikke sige, hvad der skal ske, når du klikker på knappen (du har brug for JavaScript til dette).

Så hvis du har brug for at animere et billede, når der klikkes på en knap:

  1. Først skal du have billedet og knapelementerne (HTML)
  2. Derefter kan du indstille animation til en bestemt klasse (CSS)
  3. Og du kan tilføje klassen til billedet, når der klikkes på knappen (JavaScript)

Sig, at du har læst dette i en tutorial en gang. En uge senere skal du føje en skygge til et billede, når en formular sendes. Du ved hvad du skal kigge efter. Du har en overordnet forståelse af HTML, CSS og JavaScript, og hvilken del de er ansvarlige for i denne funktionalitet.

Resten googler de rigtige ord. I dette tilfælde “css add shadow” og “javascript callback form send”.

Se hvad vi gjorde der?

Læring programmering på den “rigtige” måde

Som du ser og sandsynligvis ved fra din egen erfaring, tager læringsprogrammering tid - nogle gange år. På trods af hvad nogle “lær programmering i 2 uger” kurser siger!

Når du starter, er det vigtigt at opbygge de rigtige vaner for at lære effektivt. De fleste af de tidlige dage bruger du på tutorials, retningslinjer, dokumentation eller ofte alle tre på samme tid. Dette er hvad vi alle gør.

Nogle får mest ud af deres læringstid. I mellemtiden føler andre , at de gør fremskridt, men faktisk kun kopierer og indsætter kommandoer og følger instruktionerne.

Der er en vane at maksimere læringstimerne, og det kaldes "Læring langsomt".

Det er en lidt anden måde at nærme sig tutorials på, som:

  1. Gør programmering sjovere (da kedsomhed er et almindeligt problem)
  2. Gør dig mindre afhængig af selvstudier
  3. Bruger gamification

Du kan prøve det med denne 4-minutters øvelse i slutningen af ​​artiklen. Lad mig vide, hvordan det går!

Dette indlæg blev oprindeligt offentliggjort på MyFirstITJob.

Hvad er det næste?

Ikke at give op og lære effektivt er fantastisk - men nogle gange ikke nok til at give dig et programmeringsjob.

Dernæst vil jeg fokusere på, hvad arbejdsgivere ser efter i en juniorudvikler, og hvordan man skiller sig ud fra mængden for enhver jobposition.