Den selvlærte udviklervejledning til at lære at kode

Så du vil lære at kode? Min personlige råd ville være at deltage i et bootcamp, fordi de tilbyder en struktureret læseplan, mentorer, dedikeret læringstid, samarbejde og netværk mellem studerende.

Desværre er det ikke alle, der ønsker at lære at kode, har råd til de penge og tidsforpligtelse, som en bootcamp kræver.

Heldigvis er der et alternativ, som mange fremtrædende softwareudviklere har valgt: den selvlærede rute. Når du lærer dig selv at kode, lærer du på din egen tidsplan ved hjælp af gratis eller betalte online / offline ressourcer.

Men for at få succes på denne selvlæringsrute og hurtigt hoppe fra nybegynderudvikler til juniorudvikler, skal du indarbejde noget af bootcamps-magien i din selvlærede rejse. I denne artikel deler jeg, hvordan du kan gøre det.

Inden vi kommer i gang, skal du vide, at denne artikel oprindeligt var et foredrag, jeg holdt ved Developers In Vogue MTB-sessionen. Jeg besluttede at gøre det til en artikel for mere tilgængelighed efter at have modtaget god feedback.

Så tag en kop kaffe eller din yndlings sodavand, få en pen og notesblok, og skriv nogle noter ned. Jeg vil også droppe nogle tilfældige citater her og der, så hold dig selv?

Så hvordan kommer du i gang?

Der er fem faser, du skal gennemgå, når du lærer dig selv at kode:

  1. Vælg en niche.
  2. Find strukturerede læringsressourcer til din niche.
  3. Lære.
  4. Byg noget, hvad som helst!
  5. Netværk.

Lad os gennemgå hver fase mere detaljeret.

Vælg en niche

Hvis du vil lykkes, skal du begrænse dig selv.

Når du starter på din selvlærte udviklerrejse, er det vigtigt, at du vælger en niche. Dette sikrer, at du ikke overvælder dig selv. Det begrænser din læring og giver dig mulighed for at bruge din opmærksomhed på en lille delmængde, så du kan oprette et indgangspunkt.

Softwareudvikling er meget alsidig og findes i forskellige former. Start med at få et overblik over, hvad programmering og softwareudvikling generelt indebærer.

Her er 2 gode ressourcer til at give dig et overblik over, hvad karriere inden for programmering og softwareudvikling handler om.

  • Sådan bliver du en full-stack webudvikler i 2020 af Colby Fayock
  • Introduktion til programmering og datalogi på freeCodeCamp YouTube-kanalen

Når du har fået et generelt overblik, skal du foretage nogle indre spørgsmål for at slå dig ned på et felt, der virkelig begejstrer dig. Besvarelse af nedenstående spørgsmål skal hjælpe med at vælge din niche.

  • Hvad håber du at opnå ved at lære at kode? Ønsker du at tjene penge på freelancing, få et godt job eller opbygge din opstartside?
  • Hvilken slags systemer vil du bygge? Web (frontend eller backend), mobil (Android eller iOS), desktop, integreret, dataanalyse osv.

Dette betyder ikke, at du ikke kan prøve nye felter eller eksperimentere senere i din karriere, men komme i gang med en.

Find strukturerede læringsressourcer til din niche

Tillykke med at vælge en niche midt i alle valg derude.

Den næste ting at gøre er at komme med en progressiv liste over emner / teknologier, du har brug for at lære for din niche og finde strukturerede læringsressourcer om disse emner.

Når du beslutter dig for, hvilken læringsressource du skal vælge, skal du vælge dem, der har strukturel progression og kode sammen med øvelser til praksis. Vær opmærksom på disse punkter nedenfor:

  • Hvilke sprog og teknologier anvendes i dette felt? Lav en liste over det minimum, du har brug for at lære for at nå dit mål fra det foregående trin. Der lægges vægt på minimum her, simpelthen fordi du ikke skal vente med at lære alt i dit valgte felt, før du tager det første skridt mod dit mål. Du venter virkelig længe.
  • Hvilke værktøjer har du brug for? Find ud af de værktøjer, du har brug for at lære. En kode editor? Noget software? Gå videre og installer dem.
  • Hvad er læringsrækkefølgen? De fleste felter kræver, at du lærer ét værktøj / sprog først før et andet. Husk altid at starte med det grundlæggende og gå videre derfra.

Hvis du har yderligere spørgsmål vedrørende en bestemt niche, kan du bruge Twitter eller Facebook til at finde folk, der er aktive i den niche, du har valgt. Send dem en besked, og kom direkte til det punkt, hvad de kan hjælpe dig med. Du vil blive overrasket over, hvor meget folk i teknologisamfundet er villige til at hjælpe.

For Twitter er her en tråd, der viser aktive mennesker i forskellige teknologiske felter på twitter, som du kan følge og er åbne for at besvare spørgsmål relateret til deres felt af Hacksultan.

Og du finder en liste over gode gratis læringsressourcer i slutningen af ​​denne artikel.

Lære

“Hvis du jagter to kaniner, vil du ikke fange nogen”.

Godt, du har gjort det. Du har fundet ud af, hvad du har brug for at lære for at knuse dine mål, og du har også fundet en læringsressource at bruge. Nu er det tid til at lære disse ting i rækkefølge, ikke samtidigt.

Være konsekvent

Den første ting at gøre er at afsætte tid til din læring. Angiv et bestemt tidspunkt hver dag i løbet af din daglige tidsplan, inden for hvilken du lærer og er egoistisk om det.

To timers læring hver dag er meget bedre end 15 timers læring på en dag om måneden. Her er konsistens nøglen. Vil du lære at få et job? Så skal du lære, som om det er dit job, indtil du får en.

Sætte mål

For effektiv læring skal du også sætte ugentlige mål, så du kan holde dig selv ansvarlig.

Undersøgelser har vist, at folk, der bevidst sætter mål, er mere tilbøjelige til at opnå ting. Og folk, der går en ekstra mil for at nedskrive disse mål, vil sandsynligvis få tingene gjort.

Hvad vil du vide eller være i stand til at gøre i slutningen af ​​måneden? Hvordan vil du strukturere din læring pr. Uge for at være i stand til at opnå det? Skriv det ned.

Forbliv fokuseret

Det er også vigtigt, at du husker at fokusere på din skitserede læringsplan og din valgte læringsressource.

I den tekniske sfære er der altid et skinnende nyt objekt - noget nyt at lære. Bliv ikke båret eller overvældet, det er derfor, du får brug for en masse fokus. Én afsluttet tutorial er bedre end 10 selvstudier.

Byg noget! Hvad som helst.

"Forskellen mellem dig og dem med talent er praksis; meget af det."

Som nybegynderudvikler er det let at sidde fast i tutorialszonen eller "tutorial helvede". Mange mennesker sidder fast der og forbliver begyndere alt for længe. Det er her, du ser tutorial efter tutorial uden nogensinde at få dine hænder beskidte.

Bygningsprojekter er ikke gensidigt eksklusivt for læringsfasen. Du er nødt til konstant at gentage mellem læring og bygning, fordi læring faktisk aldrig ender.

Dette er grunden til, at jeg understregede valg af læringsressourcer, der indeholder mange sammenkædningsprojekter for at komme i gang med at øve. Sørg for at kode sammen og ikke bare se. Dette hjælper dig med at komme i gang med at lave noget.

En måde at få lidt øvelse på er i slutningen af ​​hvert modul at tænke på funktioner, som du kan føje til det projekt, du har kodet. Bare prøv at opbygge noget med den nye viden, du har fået.

Det behøver ikke at være for fancy. Det vigtigste er, at du skriver kode, løber ind i fejl, google hvordan du debugger den og får mere forståelse. Øvelse størkner viden, så øv. 1 afsluttet projekt er bedre end 10 overvågede tutorials.

Du kan bruge google til at finde projektidéer eller se disse sjove.

Netværk

At netværk betyder simpelthen at lære offentligt og placere dig selv derude. Du kan ikke vinde meget, hvis du er en silo. Så hvordan placerer du dig selv derude?

Deltag i et samfund og deltag i møder

Et samfund udfordrer dig og inspirerer dig på samme tid. Du bliver opmærksom på mennesker, der er i samme felt som dig, med de samme kampe, du har. Du får også muligheden for at samarbejde og danne livslange venskaber.

Her er en liste over nogle globale fjernteknologiske samfund, du kan deltage i af Bolaji Ayodeji. Se også efter lokalsamfund i din by.

Sælg dig selv

Mulighed kommer ikke længere til de mest kvalificerede - den går til de mest synligt kvalificerede.

At sælge dig selv betyder at tale om dig selv og hvad du i øjeblikket laver. Dette giver dig mere eksponering og kan åbne mange muligheder for dig.

Opret en GitHub-konto og skub kode der. Start en twitter-konto og tal om, hvad du lærer eller bygger.

Stil spørgsmål

At stille engagerende spørgsmål er en anden måde at netværke og introducere dig selv til andre mennesker. Der er virkelig ingen skam ved at stille spørgsmål.

Hvis du sidder fast på et bestemt problem, skal du bruge sociale medier og dine fysiske forbindelser til din fordel. Lær at glide ind i folks DM'er og e-mails. Den eneste grund til, at du muligvis ikke får svar, er, hvis du ikke ved, hvordan du skal formulere din anmodning godt.

Tip: Når du når ud, er det bedst at sende et par forberedte spørgsmål i modsætning til bare at sende en 'Hej' og bede om deres tid.

Du bør sammensætte en liste med spørgsmål, der vil besvare de udfordringer, du i øjeblikket står overfor. Du er mere tilbøjelige til at få et svar, hvis nogen på forhånd ved, hvilken slags tidsforpligtelse de laver.

En eksempelbesked kan være:

Hej, mit navn er, jeg håber, du har det godt. Jeg har set dit indhold i et stykke tid, og jeg kan se, at du har kendskab til det. Jeg har prøvet at forstå. Jeg har prøvet Kan du hjælpe. Tak.

Konklusion

Jeg håber, at denne artikel har bragt klarhed over din rejse med at lære at kode som en nybegynder.

En sidste ting: kodning er vanskelig, og læring alene kan være endnu hårdere. Du vil helt sikkert komme på tværs af nogle dårlige dage.

Husk bare at gå let på dig selv på dage, hvor ting ikke giver mening. I det lange løb vil din konsistens og udholdenhed over for læring bestemt betale sig.

Gå nu og vær god!

Her er listen over gratis læringsguider / ressourcer til forskellige felter, der skal hjælpe dig i gang.

Front-end webudvikling:

  • Frontend Developer Learning Guide af Ire Aderinokun
  • freeCodeCamp's Responsive Web Design Certification og Front End Libraries Certification

UX Design:

  • UX Learning Guide af Opemipo.
  • Hurtig prototyping af Google

Back-end webudvikling:

  • Backend Development Læringssti ved Bitdgree
  • Intro til backend af Udacity

Android-udvikling:

  • Sådan lærer du Android-udvikling fra Mindorks
  • Grundlæggende om Android af Google
  • Udvikling af Android-apps fra Udacity

iOS-udvikling:

  • Sådan bliver du en iOS-udvikler
  • Introduktion til iOS-appudvikling med Swift

Datalogi:

  • Datavidenskabsfundamenter af kognitiv AI
  • Into To Data Analysis by Udacity

Cloud & DevOps

  • Introduktion til Cloud Computing fra Udacity
  • Introduktion til DevOps fra Udacity

Hvis du nød dette, så tjek min blog, min blog og følg mig på twitter og send mig en DM.