Lær at kode hjemmefra: Coronavirus Quarantine Developer Skill Handbook

Du sidder fast derhjemme. Du kan ikke hænge ud med dine venner eller gå til begivenheder. Økonomien er i frit fald. Men det betyder ikke, at du er magtesløs.

Skæbnen har givet dig denne kæmpe tid. Det kunne være uger. Det kan være måneder. Ingen ved.

Spørgsmålet er: hvad vil du gøre med denne gang?

  • Du kan begynde at streame et nyt tv-show.
  • Du kan virkelig komme ind i et nyt spil.
  • Du kunne stirre ud af vinduet i de tomme gader omkring dig og måske dræne de flasker, du har rundt i huset, og gå i seng.

Eller du kan tage kontrol.

For enhver færdighed, du nogensinde vil ønske at lære, er der et gratis online kursus, der lærer det, bare venter på din opmærksomhed.

Folk undervurderer, hvor mange gratis læringsressourcer der er. Det er vanvittigt. Forestil dig et bibliotek i Alexandria på størrelse med Manhattan. Det ville stadig ikke rumme alt.

Du har ikke brug for penge. Hvis du har en telefon eller en computer med internetadgang - og et varmt sted at sidde - er du klar.

Du har bare brug for tid. Og med Coronavirus, der flyder rundt derude, har du sandsynligvis mere tid end nogensinde.

Jeg er selvlært softwareingeniør. Jeg arbejdede tidligere som engelsklærer.

Men i 2011 - i en alder af 31 - begyndte jeg at lære at kode ved hjælp af gratis online ressourcer.

I de 9 år siden har jeg arbejdet som softwareingeniør i tech startups og bygget hjemmesider til freelance klienter.

Jeg er ikke særlig. Der er millioner af mennesker som mig, der med succes har skiftet karriere til softwareudvikling i de sidste 5 år. Jeg ved dette, fordi jeg har hjulpet mange af dem med at gøre dette.

For fem år siden oprettede jeg et online læringsfællesskab kaldet freeCodeCamp.org. Ja - * kontrollerer logoet over denne artikel * - det freeCodeCamp.org.

Og fra 2020 har mere end 40.000 gratisCodeCamp-kandidater fået job hos teknologivirksomheder, herunder Google, Apple, Amazon, Twitter, Spotify og Microsoft.

De fleste af disse mennesker behøvede ikke at gå tilbage på college. De behøvede ikke at afslutte deres detailjob i 4 måneder for at deltage i et kodende bootcamp. De behøvede ikke engang at bruge penge. De lærte bare at kode i deres fritid - om natten efter at børnene gik i seng. Eller i weekenden, hvor de kunne have set sport eller spillet videospil.

Har du fritid lige nu? Har du blanke pletter i din kalender i de næste par uger?

Store. Så kan du også gøre dette.

Jeg vil fortælle dig hvordan.

Og husk - i modsætning til mange mennesker derude, prøver jeg ikke at sælge dig noget. freeCodeCamp er en 501 (c) (3) offentlig velgørenhed. Alt er gratis.

Du kan bruge freeCodeCamp, hvis du vil. Eller du kan også bruge nogle af disse andre ressourcer, som jeg anbefaler her.

Jeg vil bare have dig til at få succes.

Jeg vil have dig til at være i stand til at gå derude et par måneder fra nu og sparke et røv efter Coronavirus på jobmarkedet.

Så brug de læringsværktøjer, du finder passende til at nå det mægtige mål. Jeg er her og rodfæstede dig på begge måder.

Hvis du vil få et nyt job, efter at #coronavirus er sprunget over, skal du begynde at forberede dig nu.

? ️ Byg dine færdigheder.

? Opbyg dit omdømme.

? Opbyg dit netværk.

Din karrieresucces afhænger af alle disse 3.

Bliv hjemme. Men fortvivl ikke.

Brug online-værktøjer til at opbygge disse i dag.

- Quincy Larson (@ossia) 17. marts 2020

Gratis kurser og andre online læringsværktøjer

Der er tusindvis af kurser, jeg kan anbefale. Og jeg inkluderer nogle links til gigantiske lister over disse nederst i denne artikel.

I stedet vil jeg bare fokusere på et godt tværsnit af kurser, som jeg synes er en god brug af din tid.

De vigtigste færdigheder, jeg anbefaler alle at lære i 2020, er:

  • HTML, CSS og JavaScript
  • Computervidenskabskoncepter, algoritmer, datastrukturer og databaser
  • Python og grundlæggende datavidenskabelige biblioteker som NumPy
  • Kommandolinjeværktøjer som Linux, Git og Bash

Og nogle andre færdigheder, der ville være nyttige:

  • Grundlæggende om små virksomheder - hvordan man finder freelance kunder, hvordan man laver grundlæggende salg, regnskab, juridisk
  • Og grundlæggende jobansøgning - hvordan bestå tekniske interviews, hvordan man forhandler en høj løn
  • Sådan tjener du professionelle certificeringer, der kan gøre det lettere at få et udviklerjob

For hver af disse vil jeg anbefale en enkelt ressource. Og igen, i slutningen af ​​denne artikel, viser jeg dig nogle andre omfattende lister over læringsressourcer. Så mange gratis læringsressourcer, du kan Scrooge McDuck væk resten af ​​dit liv i at blive et vanvittigt geni, hvis du vil.

Lær HTML, CSS og JavaScript

Dette er de grundlæggende komponenter på World Wide Web.

For hvert websted, du besøger, er HTML knoglerne. Det giver strukturen.

CSS er huden. Det giver styling og æstetik.

JavaScript er musklerne og organerne. Det gør al bevægelse og funktionalitet.

Du kan lære det grundlæggende i disse - nok til at opbygge grundlæggende websteder - på bare et par dage med selvstudium.

At blive rigtig god med CSS og JavaScript vil tage dig år. Men det samme gælder alt, hvad jeg vil fortælle dig om her.

Bortset fra HTML. Du kan virkelig lære HTML på en dag eller to. Og ja - du kan oprette grundlæggende websteder, der kun bruger HTML. De vil ikke være smukke. Men de vil arbejde. (Vi taler om dig, Craigslist.)

Den bedste måde at lære denne treenighed på webudviklingssprog på er at optjene de første 2 certificeringer af freeCodeCamp's læseplan. Undervejs bygger du 10 websteder. Det burde være mere end nok praksis for dig at markere dette felt på din LinkedIn-profil.

Igen, som navnet antyder, er freeCodeCamp gratis. Det er også helt tempofyldt og kører i din browser, så du ikke behøver at installere noget. Du kan gøre det på din telefon eller tablet. Men da du skriver en masse kode, ville et tastatur gøre tingene meget hurtigere.

Du kan starte freeCodeCamp certificeringerne her.

Lær computervidenskabskoncepter, algoritmer, datastrukturer og databaser

En masse mennesker freak out om datalogi, fordi de "suger i matematik" eller fordi de tog et Java-kursus for 10 år siden og hadede det.

Nå, jeg har gode nyheder til jer alle - datalogi behøver ikke at være en grind. Det kan være ret sjovt. Og der er intet kursus, der gør det bedre at gøre det sjovt end Harvards fremragende datalogi-introkursus, CS50.

Vi har offentliggjort hele kurset ad-free på freeCodeCamp's YouTube. Her er den fulde afspilningsliste.

Kurset er cirka 17 timers foredrag. Og sammen med hver forelæsningsvideos beskrivelse er der et problem sæt, der kan downloades, som du kan gøre for at sikre, at du har forstået alt. Og der er også forelæsningsnotater, der kan downloades.

Lær Python og grundlæggende databehandlingsbiblioteker som Numpy

Python er det mest populære programmeringssprog for Scientific Computing - en betegnelse for statistik, datalogi, maskinindlæring.

Python er det naturlige valg til et andet programmeringssprog, når du først har lært noget grundlæggende JavaScript.

Dr. Chuck er professor ved University of Michigan, og han har undervist i programmering i årtier. Han skabte det fantastiske kursus Python for Everybody.

Og vi har offentliggjort hele hans 14-timers kursus uden annoncer her. (Sørg for at tjekke videobeskrivelsen for hans eksempler og forelæsningsnotater, der kan downloades.)

Python har et bibliotek til næsten enhver opgave. Og uden tvivl er det vigtigste bibliotek NumPy (udtales num-pie).

Her er et gratis, annonceringsfrit 1-timers kursus på NumPy, komplet med kode repos, som du kan bruge til at spille sammen derhjemme.

Lær kommandolinjeværktøjer som Linux, Git og Bash

Når du ser Mr. Robot og andre shows om udviklere eller hackere, vil du se mange kommandolinjegrænseflader, der ser sådan ud:

Udviklere bruger ofte kommandolinjegrænseflader, fordi du kan få tingene gjort meget hurtigere og mere præcist, end du kan i en grafisk brugergrænseflade (GUI).

Og der er flere kommandolinjeværktøjer, som udviklere bruger meget. Først og fremmest bruger de Linux til servere. Mange af disse servere har ikke engang en Windows-lignende GUI installeret på dem, så du sidder fast i kommandolinjen. Og kommandolinjens scriptværktøj, som de fleste Linux-computere bruger, hedder Bash.

Du kan bruge Bash som en prompt til at køre kommandoer. Her er nogle af de mest anvendte Bash-kommandoer forklaret (læsning i 10 minutter.)

Du kan også bruge Bash til scripting. (Skønt i disse dage foretrækker de fleste Python for at gøre dette.)

Her er et 2-timers introduktionskursus om en computersikkerhedsfokuseret version af Linux kaldet Kali Linux.

Men der er et andet vigtigt værktøj, som enhver udvikler bør kende i 2020. Det blev opfundet af den samme fyr, der oprettede Linux, og det hedder Git.

Git er et versionskontrolsystem, der hjælper dig med at gemme tilstanden på din kode. Hvis du laver en fejl, kan du nemt rulle tilbage til en ældre version af din kode. Og Git gør det nemt at samarbejde om større kodeprojekter med andre udviklere ved hjælp af websteder som GitHub.

Den bedste ressource til at lære Git er GitHubs egen dokumentation. Her er en god artikel, der forklarer, hvordan Git fungerer og leder dig gennem nogle af de mest almindelige kommandoer.

Lær grundlæggende om små virksomheder - Sådan finder du freelance-kunder og gør grundlæggende salg, regnskab og kontrakter

Det er svært at finde dit første udviklerjob. Du bliver muligvis nødt til at ansøge om hundredvis af job, før du i sidste ende gennemgår interviewprocessen og får et tilfredsstillende jobtilbud.

De fleste ansættelsesledere ønsker ikke at tage en chance for en ukendt ansøger, der aldrig har arbejdet som udvikler andre steder. Dette er ikke kun begrænset til selvlærte udviklere - jeg kender masser af datalogi-majors, der lige er uddannet og kæmper for at få jobtilbud (selv i et blomstrende marked for softwareudviklere).

Min personlige rådgivning er - opbyg dit omdømme og dit netværk.

Du kan forstærke dit omdømme ved at oprette værktøjer til lokale virksomheder.

Du kan starte med at udføre arbejde for lokale nonprofitorganisationer gratis. Du kan hjælpe en lokal kirke eller moske med at opbygge deres nye websted. Eller du kan hjælpe en lokal madbank med at opbygge et nyt beholdningssystem.

Men hvis du føler dig ambitiøs, skal du se, om du kan finde en betalende koncert lige uden for flagermusen. Det er ikke så svært, som du måske tror. Der er masser af jobbrædder derude med engangskontrakter. Du kan endda være i stand til at finde en koncert på en lokal klassificeret side. (Vi ser på dig igen, Craigslist.)

Ved at opbygge dit omdømme som freelancer har du allerede succesrige projekter under dit bælte, når du går til at ansøge om fuldtids udviklerjob.

Denne gratis guide til freelance-webudviklere indeholder dybdegående rådgivning fra en veteran-freelance-udvikler, en advokat med fokus på forretningsret og en revisor. Tænk på det som "din freelance-udviklervirksomhed i en kasse." Det er et 3-timers ur.

For så vidt angår opbygning af dit netværk - normalt vil jeg råde folk til at gå til lokale tekniske begivenheder og hænge ud på hackerspace og makerspaces.

Men med coronavirus derude, anbefaler jeg i stedet, at du bliver hjemme.

Gå på LinkedIn og tilføj hver enkelt person, du nogensinde har arbejdet med eller er gået i skole med.

Hvis du er en del af Facebook-grupper eller Discord-servere, kan du oprette en ny gruppe og opfordre dem til at deltage i den specifikt for folk, der planlægger at overgå til softwareudvikling.

Du kan også introducere dig selv på freeCodeCamp-forummet og begynde at opbygge et personligt netværk af ligesindede, der lærer at kode.

Lær grundlæggende jobansøgning - Sådan bestå tekniske interviews og hvordan man forhandler en høj løn

Min ven Haseeb Qureshi er en tidligere professionel pokerspiller, der blev softwareingeniør. Hans første udviklerjob nogensinde arbejdede hos Airbnb og tjente $ 250.000 om året. Det er ikke en skrivefejl.

Han var i stand til at få jobtilbud fra Google, Twitch, Stripe og andre store virksomheder og derefter spille disse tilbud mod hinanden.

Her er hans historie om, hvordan han gjorde dette, som er fyldt med masser af tip til, hvad man kan forvente under jobansøgningsprocessen.

Og Haseeb har også skrevet en omfattende guide til forhandling af en høj løn, når du først får jobtilbud. Disse er en must-read og kan tilføje $ 10.000 til din startløn:

  • Ti regler for forhandling af et jobtilbud (læsning på 20 minutter)
  • Sådan bomber du ikke dit tilbud (30 minutters læsning)

Lær hvordan du tjener professionelle certificeringer, der kan gøre det lettere at få et udviklerjob

De fleste rekrutterere og ansættelsesledere arbejder på mønstergenkendelse. De bruger berømt i gennemsnit 6 sekunder på at se på hvert CV.

Professionelle certificeringer er en nem måde at bevise over for arbejdsgivere, at du kender en teknologi. De øger også sandsynligheden for, at du kommer op i arbejdsgivernes cv-søgeværktøjer.

Du behøver ikke at få professionelle certificeringer. De koster penge (normalt omkring $ 100 til $ 200 pr. Eksamen). Men hvis du ønsker at tjene noget, anbefaler jeg, at du starter med cloudcertificeringer.

Næsten meget alle større virksomheder og regeringer på jorden er i færd med at flytte fra deres egne servere til cloud-servere. Og du kan blive en del af den enorme indsats for at gøre det sikkert. Hvis du vil arbejde i DevOps eller Site Reliability Engineering, er disse cloudcertificeringer en god vej at gå.

freeCodeCamp udgiver nye gratis cloudcertificeringskurser hver måned, og til sidst dækker vi også sikkerhedscertificeringer.

Men indtil videre anbefaler jeg at starte med Amazon Web Services (AWS) certificeringer. Amazon ejer mere end halvdelen af ​​den offentlige skyindustri, og stort set alle Fortune 500-virksomheder bruger AWS i en eller anden kapacitet.

Jeg skrev denne omfattende guide til AWS-cloudcertificeringer, som inkluderer flere omfattende gratis (og annonceringsfrie) kurser for at forberede dig til disse eksamener.

Og endelig nogle massive lister over gratis læringsressourcer

Som lovet er her nogle massive lister over gratis kurser til dig. Disse vedligeholdes aktivt. Og de vil holde dig travlt indtil slutningen af ​​dine dage.

Denne første liste inkluderer 450 gratis onlineuniversitetskurser fra de 8 Ivy League-universiteter - Harvard, Yale, Princeton, Brown, Columbia, Cornell, Dartmouth College og University of Pennsylvania.

Du kan gennemføre alle disse kurser fra din bærbare computer eller telefon, når det passer dig. Og igen er de alle gratis.

Her er 450 Ivy League-kurser, som du kan tage online lige nu gratis. De otte Ivy League-skoler er blandt de mest prestigefyldte gymnasier i verdenen. De inkluderer Brown, Harvard, Cornell, Princeton, Dartmouth, Yale og Columbia Universiteter og University of Pennsylvania. Alle otte skoler placeres i top-femten af ​​US News and World Reportnational u ... Dhawal Shah freeCodeCamp.org

Og næste, freeCodeCamp-kandidat Dylan Israel sammensatte denne fantastiske liste over kodningsressourcer, som også inkluderer mange samfund, som du kan deltage i for support, mens du lærer at kode.

Dylans liste har været populær på GitHub i de sidste par uger. Du kan endda øve dine Git-færdigheder og bidrage med dine egne yndlingsressourcer til denne liste.

PizzaPokerGuy / ultimate-coding-resources En samling af de bedste ressourcer til programmering, webudvikling, datalogi og meget mere. - PizzaPokerGuy / ultimative kodende ressourcer PizzaPokerGuy GitHub

Bliv sikker derude. Bedre endnu, bliv hjemme.

Jeg vil slutte med at ønske dig og din familie sikker passage gennem denne vanskelige tid.

Lad os alle håbe, at verden kan hoppe tilbage fra coronavirus.

Men lad os alle forberede os på den enorme mængde arbejde, vi bliver nødt til at udføre, når støvet lægger sig.

Ved at lære disse nye færdigheder og forberede dig på en post-coronavirus-økonomi kan du sætte dig selv i stand til at gøre det maksimale godt for dit samfund.

Bliv stærk, venner. Og glad kodning. ?