Sådan bliver du en god programmør

Opdatering: Tilføjet en liste over fantastiske programmerings-podcasts, som du kan lære på farten.

Nu, bedre end nogensinde før, er teknologi blevet en af de mest grundlæggende dele for innovation i alle brancher. Dette resulterede i en enorm efterspørgsel efter programmører og udviklere over hele kloden. Det smukke ved teknologi er, at den er meget tilgængelig, så…

Du behøver ikke at være raketvidenskabsmand for at blive en god programmør.

Det kan virke svært, men sandheden er… Det kan være nemmere, end du tror… Du skal bare læse, øve dig og gøre en indsats. Men… Er det ikke det, du gør dagligt?

Første ting er først og fremmest. Før du overhovedet begynder at bekymre dig om et semikolon (Måske vil du ikke forstå det nu, men tro mig. Du vil forstå det senere 😂 ) skal du bruge en god grundbog i datalogi og en god teksteditor. Selv om der er en hel del af dem derude, vil jeg give dig de mest trendy af dem.

Teach Yourself Computer Science

Denne hjemmeside giver dig et ret godt udgangspunkt for at lære om datalogi og programmering. Det dækker en masse vigtige grundlæggende emner, og det hjælper dig med at få en god baggrund for CS.

Git

Git er et versionsstyringssystem til at… ja, vedligeholde versioner af din kode. Det giver dig mulighed for at gå tilbage til en anden version, hvis du nogensinde ændrer noget, og noget går galt på den nye version. Dette websted er et godt sted at starte med at lære git.

Github

Det er en meget vigtig ressource. Næsten alle programmeringsfirmaer beder dig om at have erfaring med en eller anden form for versionsstyringssystem. GitHub er en webbaseret hostingtjeneste til versionsstyring ved hjælp af git. Det bruges mest til computerkode. Den tilbyder alle Git’s funktioner til distribueret versionsstyring og kildekodeadministration samt tilføjer sine egne funktioner. Det giver dig også mulighed for at samarbejde med andre programmører. Du kan også bruge det som et statisk HTML-hosting til at gemme dine personlige projektfiler. Du kan faktisk betjene et websted fra Github.

Bitbucket

Bitbucket er det samme som Github, minus den sociale platform. En anden stor forskel mellem disse to er også, at Bitbucket giver dig mulighed for at oprette private repositories, og i Github skal du betale for denne funktion. Du kan også bruge det som en statisk HTML-hosting til at gemme personlige projektfiler. Du kan faktisk betjene et websted fra Bitbucket.

Lær kommandolinjen

Kommandolinjen er der, hvor det meste af magien sker. Så det er virkelig vigtigt at få nogle færdigheder i kommandolinjen.

Tekstredaktørerne:

Sød gammel Sublime. Efter min mening er denne editor en af de bedste derude. Den har en masse plugins og kodestumper. Den er også virkelig pålidelig med hensyn til ydeevne og produktivitet. Jeg bruger det stadig, men jeg elsker at prøve nye ting, så jeg skiftede for nylig til Visual Studio Code. Understøttet på: Windows, Mac OS og Linux

Visual Studio Code

Visual Studio Code er udviklet af Microsoft, og selv om det er ret nyt, har det gjort sin vej til de bedste tekstredigeringsprogrammer i 2017. Så godt at jeg endte med at skifte fra Sublime text, og jeg må sige at det er en ret fantastisk tekst editor. Indtil videre har jeg ikke fortrudt noget. Understøttet på: Windows, Mac OS og Linux

Atom

Denne teksteditor fra Github var mit foretrukne valg. Det er virkelig smukt, og det er meget nemt at sætte det op. Det eneste, der fik mig til at skifte tilbage til Sublime, er det faktum, at den kan blive ret langsom nogle gange, og den plejede at gå ned på mig, hver gang jeg åbnede en minificeret fil. Men generelt er det en anstændig teksteditor. Understøttet på: Windows, Mac OS og Linux

Notepad++

Notepad++ er en grundlæggende teksteditor med de funktioner, der er nødvendige for at skrive et ordentligt program. Nogle mennesker foretrækker denne på grund af dens enkelhed. Personligt synes jeg selv, at jeg er mere produktiv på mere dristige teksteditorer som VS code eller Sublime. Understøttet på: Windows

VIM

Hacker, denne er til dig. Denne teksteditor er mere teknisk og kræver mere konfiguration. Den leveres som standard på Mac OS og de fleste UNIX-baserede systemer. Understøttet på: Mac OS, Linux og for nylig på Windows

Husk: Du kan altid bruge en teksteditor efter eget valg. Disse er blot de bedste baseret på tendenser og min erfaring.

Med dette sagt, er her et par læringsressourcer, der vil hjælpe dig med at udvikle dine programmeringsfærdigheder:

Free Code Camp er en gratis programmeringslæringsvej for webudviklere og full stack-udviklere. Dette er en af de første ressourcer, jeg brugte til at starte min webudviklingskarriere. Og jeg kunne virkelig godt lide det. De giver dig endda reelle nonprofitprojekter til at finpudse dine færdigheder.

Code Academy

Code academy er faktisk en af de bedste ressourcer til at starte. Den tilbyder en generel grundlæggende programmeringserfaring. Den har også en live tekst editor direkte på lektionssiden, så du kan øve dig, mens du lærer.

Ruby Monk

Ruby Monk er en rigtig god startvejledning til at lære Ruby. Den tilbyder et simpelt, ligetil kursus for begyndere og er virkelig let at følge.

CodeWars

Code Wars er en virkelig fed måde at lære kodning på. Den giver dig mulighed for at skærpe dine færdigheder ved at interagere med andre mennesker i forbindelse med rigtige kodeudfordringer.

Railsforzombies.org

Dette er en anden fed måde at lære programmering på, selv om jeg anbefaler, at du har en vis grundlæggende viden om Ruby, før du prøver dette websted. Dette websted giver dig mulighed for at lære Ruby med et interaktivt spil.

CodeSchool

CodeSchool tilbyder et rigt udvalg af kurser med en læringssti, der giver dig mulighed for at bestemme, hvilket programmeringsspor du vil følge ud fra dine interesser.

Egghead.io

Denne ressource er en af mine favoritter. Den fokuserer mere på webudviklingsteknologier. Den tilbyder kodningsvejledninger og kurser af virkelig høj kvalitet for bedre at udvikle disse Javascript-færdigheder.

Udacity

Jeg har kun brugt Udacity et par gange, men jeg har læst en masse om det, og det er ret fantastisk. De tilbyder gratis kurser for begyndere og det de kalder “Nanodegrees”. Nanodegrees ser ret lovende ud, de er dybest set kurateret liste af begynder til avancerede kurser for et specifikt emne. F.eks. dækker Full Stack Web Developer Nanodegree alt fra front-end webudvikling til back-end webudvikling. Jeg er nødt til at påpege, at disse Nanodegrees er skabt i samarbejde med store virksomheder som Google, Amazon, IBM og mange flere. Nu ved jeg ikke om disse kurser rent faktisk er pengene værd (for de er dyre), men jeg har planer om at tage en, så når jeg kommer til det, skal jeg sørge for at skrive en artikel om det.

Udemy

Næsten havde jeg glemt denne. Udemy er måske en af de mest populære læringsplatforme. De har over 15.000 kurser, og de er som regel ret billige. Denne ressource er ret god, når du har travlt og har brug for at lære en bestemt færdighed hurtigt. Jeg brugte denne ressource meget, da jeg gik på universitetet (i øjeblikket har jeg over 80 kurser). Selvom jeg må indrømme, at jeg ikke har afsluttet hver eneste af dem 😂.

Devslopes

Devslopes startede som en Kickstarter-kampagne, og jeg blev straks forelsket i det. Det tilbyder en række programmeringskurser af høj kvalitet med projekter, som du kan bruge på din portfolio. Som en tidlig backer fik jeg mulighed for at bidrage til deres projekt, og til gengæld har jeg livstidsadgang til alle kurser og versioner de udgiver, gratis. Nu, hvis du vil have denne frynsegode kan du måske få den, fordi de er ved at lancere Devslopes 2.0 og de havde en promo på det. Er dog ikke sikker på om det stadig er tilgængeligt. Men det er et af de bedste tilbud jeg har fået. Efter alt Knowledge is priceless.

Treehouse

Frankly, jeg har aldrig overvejet dette før, men efter at være blevet foreslået af Tomáš Vorel og uger af at dukke op på Facebook & Youtube annoncer, besluttede jeg at give det et forsøg. Jeg må sige, at denne læringsressource er meget velorganiseret, og jeg er helt vild med undervisningsmetoderne. De har altid en vis visuel repræsentation for emnerne, og jeg elsker virkelig visuelt indhold.

BrainFood

Ja, du skal stadig læse, hvis du vil blive rigtig god til dette. Det er den mest traditionelle og nogle gange den mest effektive måde at lære nye færdigheder på.

Dette er en liste over bøger, som jeg har fundet nyttige:

Denne bog er måske lidt “kedelig”, men den dækker det grundlæggende inden for datalogi og algoritmer. Denne bog er et must, hvis du virkelig ønsker at forstå, hvordan kode og algoritmer fungerer.

Cracking the Coding Interview

Denne bog dækker et generelt overblik over programmeringsspørgsmål, som du kan blive stillet til en jobsamtale. Og hvordan du skal gribe dem an.

The Innovators: How a group of Hackers, Geniuses, and Geeks Created the Digital Revolution

Denne bog handler mere om historien om innovation og teknologi. Den dækker dybest set alle de mennesker, der på den ene eller anden måde bidrog til den teknologi, der gjorde dagens innovation til en realitet.

Learn Python the Hard Way

Denne bog er dybest set en arbejdsbog. Du lærer, mens du øver dig. Den giver dig udfordringer, som du skal øve dig på daglig basis. Den dækker de helt grundlæggende emner om python.

Soft Skills: The developer’s life manual

Softwareudviklerens livshåndbog er en unik guide, der tilbyder teknikker og praksis til et mere tilfredsstillende liv som professionel softwareudvikler. I den behandler forfatteren en lang række vigtige “bløde” emner, fra karriere og produktivitet til personlig økonomi og investering og endda fitness og relationer, alt sammen ud fra et udviklercentreret synspunkt.

Get Involveret i fællesskabet

Dette er en af de vigtigste dele af at blive en god udvikler. De fleste springer denne del over, fordi de tror, at den er ubrugelig, men sandheden er, at DEN HJÆLPER MEGET. Du vil blive overrasket over, hvor meget du kan lære af en time eller to med at tale med andre udviklere. Bare for at give dig et eksempel, i mit første meetup havde jeg chancen for at møde en af udviklerne af Advanced Custom Fields (et globalt anerkendt WordPress-plugin for udviklere) Jeg bruger faktisk dette plugin en masse. Og det lykkedes mig også at blive medarbejder på Wordcamp Miami 2018 WordPress Conference.

Med det sagt, er her nogle af de platforme, jeg bruger til meetups og konferencer:

Denne app giver dig mulighed for at søge efter kodningskonferencer i nærheden.

Meetup

Denne app giver dig mulighed for at lede efter kodningskonferencer i nærheden.

Co-working spaces

Du kan nemt finde et co-working space i nærheden blot ved at slå op på “Co-working space <YourCity>” . Samarbejdspladser giver dig mulighed for at dele viden med andre udviklere og få reel feedback på din kodebase.

Spillesteder

Spillesteder er dybest set virtuelle redaktører, som du kan øve dig på farten, uden at du behøver at overbelaste din bærbare computer eller pc. Dette hjælper dig med at spare tid og blive bedre til ethvert programmeringssprog. Det bedste ved disse virtuelle legepladser er, at du kan få adgang til dem overalt.

Cloud9

Denne virtuelle legeplads er faktisk et fuldt udstyret IDE baseret på Linux. hvad betyder det? Det betyder, at du kan gøre alt det, du gør på en Linux-maskine, via terminalen, selv installere biblioteker. Denne hjalp mig meget i college.

Codepen

Jeg bruger denne meget. Codepen er den hellige gral for webudviklere. Det er mere et onlinefællesskab til test og fremvisning af brugerskabte HTML-, CSS- og JavaScript-kodesnipsler.

Glitch

Glitch er næsten det samme koncept som Codepen. Bortset fra at det er lidt mere “venligt”. Den er også ret kraftfuld. Jeg kan dog stadig bedre lide Codepen tho.

Orion

Orion er en online IDE til at lege med Java.

Python Fiddle

Python har vundet meget popularitet i de seneste år. Dette er et kodningsmiljø for dig, der gerne vil tilføje python til dine færdigheder (du bør i det mindste lære det grundlæggende).

Codeanywhere

Codeanywhere er et cross-platform cloud IDE. Det giver brugerne mulighed for øjeblikkeligt at skrive, redigere, samarbejde og køre webudviklingsprojekter fra en webbrowser og enhver mobilenhed.

Reply.it

Dette blev foreslået af Vic A., og jeg må sige, at det ser ret lovende ud. Denne virtuelle programmeringsplatform giver dig mulighed for at oprette virtuelle legepladser til at udvikle, teste og endda implementere applikationer. Den indeholder også en ret fantastisk 🔥 undervisningsplatformfunktion med sit eget karaktergivningssystem.

Codesandbox.io

Jeg fandt frem til denne pæne ressource, mens jeg deltog på den 10. Miami Wordcamp. En af talerne brugte til en live kodningsdemo, og jeg blev forelsket i det. Det er en anden hurtig og pålidelig cloud-baseret løsning til at skabe applikationsprototyper på farten.

Got Stuck? Spørg nogen

Det smukke ved at være en udvikler, der bor i 2018, er, at der er en masse mennesker, der allerede har gennemgået de fleste af de kampe, du vil have. Der er en stor chance for, at en anden har haft det samme problem, som du har med et stykke kode. Medmindre, du arbejder på en proprietær kode. Og selv i så fald burde du kunne finde tips til, hvordan du kan tackle de grimme fejl. Nu er alt dette baseret på min erfaring.

Her er en liste over websteder og ressourcer, der kan hjælpe dig med kampen, så du ikke ender med en eksistentiel krise og græder i et hjørne. (Jeg har aldrig gjort det 😅🤣):

Stack Overflow

Også kendt som programmørens bibel. Stack overflow er et, hvis ikke det største onlinefællesskab for programmører, hvor de kan lære, spørge, dele og endda finde et job. Så sørg for at have denne på din favorit-fane.

Stack Exchange

Stack Exchange er et simpelt spørgsmål og svar-websted. En slags forum, der kan hjælpe dig med at afklare din tvivl om kodning.

Quora

Jeg ser Quora mere som en pro-version af Stack Exchange. Quora er et sted, hvor man kan få og dele viden. Det er en platform, hvor du kan stille spørgsmål og komme i kontakt med folk, der bidrager med unik indsigt og kvalitetssvar. Dette giver folk mulighed for at lære af hinanden og for bedre at forstå verden.

Github

Github er igen et af de mest brugte onlinefællesskaber derude. Gør brug af det, lær det, del det og bidrag til det.

Twitter

Jeg vil vædde med, at du allerede har hørt om denne. Men har du tænkt på at bruge det som en ressource til at lære og besvare spørgsmål? Nå, men lad mig fortælle dig, at Twitter med sit store antal brugere har en god mængde eksperter på området. Bare tweet dit spørgsmål og hash hash tag #### it

Reddit

Nej, det er ikke kun for Meme’s og gifs. Reddit kan også være en effektiv kilde til at finde løsninger eller lære nye teknologier. Den har et trådsystem til bedre organisering af emner.

Hacker News

Denne ressource er et meget simpelt feed med vigtige opdateringer og nyheder om den teknologiske industri. Virkelig nyttig.

Producthunt

Nu, Producthunt… Jeg kan ikke udtrykke, hvor meget jeg elsker dette websted. Jeg bruger det bogstaveligt talt dagligt. Det frigiver konstant en kurateret liste over nye værktøjer, apps, frameworks, websites og endda gadgets, som man skal kigge efter. For det meste er alt teknisk relateret! Så du får altid mulighed for at prøve og lære nye ting. Den indeholder også en jobsøgning og en sektion for spørgsmål og svar.

Podcasts

Jeg begyndte at lytte til podcasts for næsten to år siden, og det er en af de bedste ressourcer, jeg har haft. Jeg kører meget i bil, og ved at lytte til podcasts kan jeg lære på farten, så jeg aldrig spilder tiden.

Syntaxfm

Det er min personlige favorit. Syntaxfm, der er hostet af Full Stack Developers, Wes Bos og Scott Tolinski, er en podcast med “velsmagende webbehandlinger” med en masse nyttige ressourcer og tips til webudviklere. De dækker fra JavaScript frameworks som React, til de seneste fremskridt inden for CSS til forenkling af webværktøj.

Shop Talk Show

ShopTalk er en podcast om front end webdesign, udvikling og UX. Hver uge får Chris Coyier og Dave Rupert selskab af en særlig gæst for at tale om faget og besvare spørgsmål fra lytterne.

The Web Ahead

En ret god ressource til at holde sig opdateret med de nyeste webtrends. Samtaler med eksperter fra hele verden om skiftende teknologier og webets fremtid. Vært er Jen Simmons.

Code Pen Radio

Chris Chris Coyier, Alex Vazquez og Tim Sabat, medstifterne af CodePen, taler om hvordan det er at drive en web-softwarevirksomhed. Denne podcast er et must-have.

Learn to Code with Me

Podcasten Learn to Code With Me, der er skabt af Laurence Bradford, er for håbefulde teknikere og autodidakte kodere, der ønsker at skifte til den teknologiske industri.

Konklusion

Læs, øv dig, del, spørg…gentag

Det hele er en læringsvej. Du skal bare forpligte dig til det og have en masse tålmodighed. Ingen blev født som ekspert i det, de laver. Jeg har også stadig en masse at lære. Husk, at en af de vigtigste dele af at blive en god udvikler, er faktisk at blive en del af fællesskabet. Så giv dig selv chancen for at prøve noget andet, tag til et meet up, mød nye mennesker, få noget feedback, kritiser noget kode og hav det sjovt.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.