Hur man blir en bra programmerare

Uppdatering: En lista med grymma programmeringspoddar har lagts till för att lära sig på språng.

Nu, bättre än någonsin, har tekniken blivit en av de mest grundläggande delarna för innovation i alla branscher. Detta resulterade i en enorm efterfrågan på programmerare och utvecklare över hela världen. Det fina med tekniken är att den är mycket lättillgänglig, så…

Du behöver inte vara en raketforskare för att bli en bra programmerare.

Det kan tyckas svårt, men sanningen är… Det kan vara lättare än vad du tror, du behöver bara läsa, öva och anstränga dig. Men… Är det inte detta som du gör dagligen?

Första sak är den första. Innan du ens börjar oroa dig för ett semikolon (Du kanske inte förstår det här nu, men tro mig. Du kommer att förstå det senare 😂 ) behöver du en bra resurs för datavetenskapliga grunder och en bra textredigerare. Även om det finns en hel del av dem där ute ska jag ge dig de mest trendiga.

Teach Yourself Computer Science

Denna webbplats ger dig en ganska bra utgångspunkt för att lära dig om datavetenskap och programmering. Den täcker många viktiga grundläggande ämnen och hjälper dig att få en bra bakgrund till datavetenskap.

Git

Git är ett versionskontrollsystem för att… Ja, för att upprätthålla versioner av din kod. Det gör att du kan gå tillbaka till en annan version om du någonsin ändrar något och något går fel på den nya versionen. Den här webbplatsen är ett bra ställe att börja lära sig git.

Github

Det här är en mycket viktig resurs. Nästan alla programmeringsföretag ber dig att ha erfarenhet av något slags versionskontrollsystem. GitHub är en webbaserad webbhotellstjänst för versionskontroll med git. Den används främst för datorkod. Den erbjuder all funktionalitet för distribuerad versionskontroll och källkodshantering från Git samt lägger till egna funktioner. Det gör det också möjligt att samarbeta med andra programmerare. Du kan också använda den som ett statiskt HTML-hotell för att lagra filerna i ditt personliga projekt. Du kan faktiskt betjäna en webbplats från Github.

Bitbucket

Bitbucket är samma sak som Github, minus den sociala plattformen. En annan stor skillnad mellan dessa två är också att Bitbucket låter dig skapa privata repositories och i Github måste du betala för denna funktion. Du kan också använda det som ett statiskt HTML-hotell för att lagra personliga projektfiler. Du kan faktiskt betjäna en webbplats från Bitbucket.

Lär dig kommandoraden

Kommandoraden är där det mesta av magin sker. Så det är verkligen viktigt att skaffa sig kunskaper om kommandoraden.

Textredigerarna:

Söta gamla Sublime. Enligt min mening är denna editor en av de bästa som finns. Den har en massa plugins och kodutdrag. Den är också riktigt pålitlig när det gäller prestanda och produktivitet. Jag använder den fortfarande, men jag älskar att prova nya saker så jag bytte nyligen till Visual Studio Code. Stöds på: Windows, Mac OS och Linux

Visual Studio Code

Visual Studio Code utvecklades av Microsoft, även om det är ganska nytt har det tagit sig till de bästa textredigerarna 2017. Så bra att det slutade med att jag bytte från Sublime text och jag måste säga att det är en ganska fantastisk textredigerare. Hittills har jag inte ångrat något. Stöds på: Windows, Mac OS och Linux

Atom

Denna textredigerare från Github var mitt favoritval. Den är verkligen snygg och det är väldigt lätt att ställa in den. Det enda som fick mig att byta tillbaka till Sublime är att den kan bli ganska långsam ibland och att den brukade krascha när jag öppnade en minifierad fil. Men på det hela taget är det en hygglig textredigerare. Stöds på: Windows, Mac OS och Linux

Notepad++

Notepad++ är en grundläggande textredigerare med de funktioner som behövs för att skriva ett anständigt program. Vissa människor föredrar denna på grund av dess enkelhet. Personligen tycker jag att jag är mer produktiv med djärvare textredigerare som VS code eller Sublime. Stöds på: Windows

VIM

Hacker, den här är för dig. Den här textredigeraren är mer teknisk och kräver mer konfiguration. Den finns som standard på Mac OS och de flesta UNIX-baserade system. Stöds på: Mac OS, Linux och nyligen på Windows

Håll dig i minnet: Du kan alltid använda en valfri textredigerare. Dessa är bara de bästa baserat på trender och min erfarenhet.

Med detta sagt, här är några lärresurser som hjälper dig att utveckla dina programmeringskunskaper:

Free Code Camp är en gratis inlärningsväg för programmering för webbutvecklare och utvecklare av hela stacken. Detta är en av de första resurserna jag använde för att starta min karriär inom webbutveckling. Och jag gillade den verkligen. De ger dig till och med verkliga ideella projekt för att finslipa dina färdigheter.

Code Academy

Code Academy är faktiskt en av de bästa resurserna för att börja. Den erbjuder en övergripande grundläggande programmeringserfarenhet. Den har också en levande textredigerare direkt på lektionssidan så att du kan öva medan du lär dig.

Ruby Monk

Ruby Monk är en mycket bra starthandledning för att lära sig Ruby. Den erbjuder en enkel och rak kurs för nybörjare och är verkligen lätt att följa.

CodeWars

Code Wars är ett riktigt coolt sätt att lära sig kodning. Den ger dig möjlighet att vässa dina färdigheter genom att interagera med andra människor i verkliga kodutmaningar.

Railsforzombies.org

Det här är ett annat häftigt sätt att lära sig programmera, även om jag rekommenderar att du har några grundläggande kunskaper om Ruby innan du provar den här webbplatsen. På den här webbplatsen kan du lära dig Ruby med hjälp av ett interaktivt spel.

CodeSchool

CodeSchool erbjuder ett rikt utbud av kurser med en inlärningsväg som gör det möjligt för dig att bestämma vilket programmeringsspår du vill följa utifrån dina intressen.

Egghead.io

Den här resursen är en av mina favoriter. Den fokuserar mer på teknik för webbutveckling. Den erbjuder verkligen högkvalitativa kodningshandledningar och kurser för att bättre utveckla dessa Javascript-färdigheter.

Udacity

Jag har bara använt Udacity några få gånger, men jag har läst en hel del om det och det är ganska häftigt. De erbjuder gratis kurser för nybörjare och vad de kallar ”Nanodegrees”. Nanodegrees ser ganska lovande ut, de är i princip en kurerad lista med kurser för nybörjare till avancerade kurser inom ett visst ämne. Full Stack Web Developer Nanodegree täcker till exempel allt från front-end webbutveckling till back-end webbutveckling. Jag måste påpeka att dessa Nanodegrees skapas i samarbete med stora företag som Google, Amazon, IBM med flera. Nu vet jag inte om dessa kurser faktiskt är värda pengarna (för de är dyra) men jag planerar att ta en så när jag kommer till den ska jag se till att skriva en artikel om den.

Udemy

Nästan glömde jag bort den här. Udemy är kanske en av de mest populära inlärningsplattformarna. De har över 15 000 kurser och de är oftast ganska billiga. Denna resurs är ganska bra när du har bråttom och behöver lära dig en viss färdighet snabbt. Jag använde den här resursen mycket när jag gick på college (har för närvarande över 80 kurser). Även om jag måste erkänna att jag inte har avslutat varenda en av dem 😂.

Devslopes

Devslopes började som en Kickstarter-kampanj och jag blev genast förälskad i den. Det erbjuder en mängd högkvalitativa programmeringskurser med projekt som du kan använda i din portfölj. Som en tidig backer fick jag chansen att bidra till deras projekt och i utbyte har jag livstidstillgång till alla kurser och versioner de släpper, gratis. Om du vill ha den här förmånen kan du kanske få den eftersom de är på väg att lansera Devslopes 2.0 och de hade en kampanj på det. Jag är dock inte säker på om det fortfarande är tillgängligt. Men det är ett av de bästa erbjudandena jag har fått. Kunskap är trots allt ovärderlig.

Treehouse

Frigt talat har jag aldrig övervägt den här förut, men efter att ha blivit föreslagen av Tomáš Vorel och efter att i flera veckor ha dykt upp på Facebook & Youtube-annonser, bestämde jag mig för att ge den ett försök. Jag måste säga att denna lärresurs är mycket välorganiserad och jag älskar absolut undervisningsmetoderna. De har alltid någon visuell representation för ämnena och jag älskar verkligen visuellt innehåll.

BrainFood

Ja, du måste fortfarande läsa om du vill bli riktigt bra på detta. Detta är det mest traditionella och ibland det mest effektiva sättet att lära sig nya färdigheter.

Detta är en lista över böcker som jag har funnit användbara:

Den här boken är kanske lite ”tråkig” men den täcker grunderna i datavetenskap och algoritmer. Den här boken är ett måste om du verkligen vill förstå hur kod och algoritmer fungerar.

Cracking the Coding Interview

Den här boken täcker en allmän översikt över programmeringsfrågor som du kan få på en anställningsintervju. Och hur du ska närma dig dem.

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

Denna bok handlar mer om innovationens och teknikens historia. Den täcker i princip alla människor som på ett eller annat sätt bidrog till den teknik som gjorde dagens innovation till verklighet.

Learn Python the Hard Way

Denna bok är i princip en arbetsbok. Du lär dig genom att öva. Den ger dig utmaningar som du kan öva på daglig basis. Den täcker de mycket grundläggande ämnena om Python.

Soft Skills: The developer’s life manual

The software developer’s life manual är en unik guide som erbjuder tekniker och metoder för ett mer tillfredsställande liv som professionell mjukvaruutvecklare. I den tar författaren upp ett stort antal viktiga ”mjuka” ämnen, från karriär och produktivitet till privatekonomi och investeringar och till och med friskvård och relationer, allt utifrån en utvecklarcentrerad synvinkel.

Get Involved in the Community

Det här är en av de viktigaste delarna för att bli en bra utvecklare. De flesta hoppar över den här delen eftersom de tror att den är värdelös, men sanningen är att den hjälper en hel del. Du kommer att bli förvånad över hur mycket du kan lära dig av en timme eller två av att prata med andra utvecklare. Bara för att ge dig ett exempel: vid mitt första möte fick jag chansen att träffa en av utvecklarna av Advanced Custom Fields (ett globalt hyllat WordPress-plugin för utvecklare) Jag använder faktiskt detta plugin mycket. Och jag lyckades också bli en medarbetare för Wordcamp Miami 2018 WordPress Conference.

Med det sagt, här är några av de plattformar jag använder för meetups och konferenser:

Den här appen låter dig leta efter kodningskonferenser i närheten.

Meetup

Denna app låter dig leta efter kodningskonferenser i närheten.

Co-working spaces

Du kan enkelt hitta ett närliggande co-working space bara genom att söka upp ”Co-working space <YourCity>” . På samverkansplatser kan du dela kunskap med andra utvecklare och få riktig feedback på din kodbas.

Spelplatser

Spelplatser är i princip virtuella redaktörer som du kan öva med när du är på språng, utan att behöva överbelasta din bärbara dator eller PC. Detta hjälper dig att spara tid och bli bättre på alla programmeringsspråk. Det bästa med dessa virtuella lekplatser är att du kan komma åt dem överallt.

Cloud9

Denna virtuella lekplats är faktiskt en fullfjädrad IDE baserad på Linux. vad innebär detta? Det betyder att du kan göra allt du gör på en Linux-maskin via terminalen, till och med installera bibliotek. Den här hjälpte mig mycket i college.

Codepen

Jag använder den här mycket. Codepen är den heliga graalen för webbutvecklare. Det är mer av en onlinegemenskap för att testa och visa upp användarskapade HTML-, CSS- och JavaScript-kodutdrag.

Glitch

Glitch är nästan samma koncept som Codepen. Förutom att det är lite mer ”vänligt”. Den är också ganska kraftfull. Jag gillar fortfarande mer Codepen tho.

Orion

Orion är ett online IDE för att leka med Java.

Python Fiddle

Python har vunnit mycket popularitet under de senaste åren. Detta är en kodningsmiljö för dig som vill lägga till python till dina färdigheter (du bör lära dig åtminstone grunderna).

Codeanywhere

Codeanywhere är ett plattformsoberoende IDE i molnet. Det gör det möjligt för användare att omedelbart skriva, redigera, samarbeta och köra webbutvecklingsprojekt från en webbläsare och vilken mobil enhet som helst.

Reply.it

Detta föreslogs av Vic A. och jag måste säga att det ser ganska lovande ut. Denna virtuella programmeringsplattform gör det möjligt att skapa virtuella lekplatser för att utveckla, testa och till och med distribuera applikationer. Den innehåller också en ganska häftig 🔥 undervisningsplattformfunktion med ett eget betygssystem.

Codesandbox.io

Jag kom på den här snygga resursen när jag deltog på den 10:e Miami Wordcamp. En av talarna använde för en levande kodningsdemonstration och jag blev förälskad i den. Det är en annan snabb och pålitlig molnbaserad lösning för att skapa applikationsprototyper på resande fot.

Har du fastnat? Fråga någon

Skönheten med att vara en utvecklare som bor i 2018, är att det finns många människor som redan gått igenom de flesta av de strider du kommer att ha. Det finns en stor chans att någon annan har haft samma problem som du har med ett stycke kod. Såvida du inte arbetar med en proprietär kod. Och även då bör du kunna hitta tips på hur du kan ta itu med dessa otäcka buggar. Allt detta är baserat på min erfarenhet.

Här är en lista över webbplatser och resurser som kan hjälpa till med kampen så att du inte hamnar i en existentiell kris och gråter i ett hörn. (Jag har aldrig gjort detta 😅🤣):

Stack Overflow

Också känd som programmerarnas bibel. Stack overflow är ett, om inte det största onlinegemenskapen för programmerare för att lära sig, fråga, dela med sig och till och med hitta ett jobb. Så se till att ha den här på din favoritflik.

Stack Exchange

Stack Exchange är en enkel webbplats för frågor och svar. Ett slags forum som hjälper dig att reda ut dina kodningsdubbelheter.

Quora

Jag ser Quora mer som en proffsversion av Stack Exchange. Quora är en plats för att få och dela kunskap. Det är en plattform för att ställa frågor och komma i kontakt med människor som bidrar med unika insikter och kvalitetssvar. Detta ger människor möjlighet att lära sig av varandra och att bättre förstå världen.

Github

Tillbaka till Github är en av de mest använda onlinegemenskaperna där ute. Använd det, lär dig, dela det och bidra till det.

Twitter

Jag slår vad om att du redan har hört talas om den här. Men har du tänkt på att använda den som en resurs för att lära dig och besvara frågor? Låt mig berätta för dig att Twitter, med sitt stora antal användare, har en god mängd experter på området. Det är bara att twittra din fråga och hashtagga #### it

Reddit

No, it’s not just for Meme’s and gifs. Reddit kan också vara en viktig resurs för att hitta lösningar eller lära sig ny teknik. Den har ett trådsystem för att bättre organisera ämnen.

Hacker News

Den här resursen är ett mycket enkelt flöde med viktiga uppdateringar och nyheter inom teknikbranschen. Verkligen användbar.

Producthunt

Nu, Producthunt… Jag kan inte uttrycka hur mycket jag älskar den här webbplatsen. Jag använder den bokstavligen dagligen. Den släpper ständigt en kurerad lista över nya verktyg, appar, ramverk, webbplatser och till och med prylar att leta efter. För det mesta är allt teknikrelaterat! Så man får alltid prova och lära sig nya saker. Den har också en jobbsökning och en sektion för frågor och svar.

Podcasts

Jag började lyssna på podcasts för nästan två år sedan och det är en av de bästa resurserna jag har haft. Jag kör mycket bil och genom att lyssna på podcasts kan jag lära mig i farten, så jag slösar aldrig tid.

Syntaxfm

Detta är min personliga favorit. Syntaxfm, som drivs av Full Stack Developers, Wes Bos och Scott Tolinski, är en podcast med ”läckra webbbehandlingar” med många användbara resurser och tips för webbutvecklare. De täcker allt från JavaScript-ramverk som React, till de senaste framstegen inom CSS och förenkling av webbverktyg.

Shop Talk Show

ShopTalk är en podcast om front-end webbdesign, utveckling och UX. Varje vecka får Chris Coyier och Dave Rupert sällskap av en speciell gäst för att prata affärer och svara på frågor från lyssnarna.

The Web Ahead

En ganska bra resurs för att hålla sig uppdaterad med de senaste webbtrenderna. Samtal med världsexperter om förändrad teknik och webbens framtid. Värd är Jen Simmons.

Code Pen Radio

Chris Chris Coyier, Alex Vazquez och Tim Sabat, medgrundarna av CodePen, pratar om hur det går till att driva ett webbprogramvaruföretag. Denna podcast är ett måste.

Learn to Code with Me

Podcasten Learn to Code With Me, skapad av Laurence Bradford, är avsedd för blivande tekniker och självlärda kodare som vill övergå till den tekniska industrin.

Slutsats

Läs, öva, dela med dig, fråga…upprepa

Det hela är en inlärningsväg. Det är bara att engagera sig och ha mycket tålamod. Ingen föddes som expert på det man gör. Jag har fortfarande mycket att lära mig också. Kom ihåg att en av de viktigaste delarna av att bli en bra utvecklare är att faktiskt bli en del av gemenskapen. Så ge dig själv chansen att prova något annorlunda, gå på ett möte, träffa nya människor, få lite feedback, kritisera lite kod och ha lite roligt.

Lämna ett svar

Din e-postadress kommer inte publiceras.