Ta en titt på någon av dina kodande kamrater LinkedIn-sidor och du är säker på att se ”Full Stack Developer” på deras lista med färdigheter, med kanske liten eller noll förklaring om vad som är fullt om den här personens stack.

Arbetsstyrelser är också uppenbart rikliga med förfrågningar om Full Stack Developers. Kanske under den bredare noteringen är behov och villkor som du kanske vet. De kanske skriver ”behöver känna till Java” eller ”måste ha erfarenhet av att hantera en databas” men du, en erfaren programmerare, vet att dessa är väldigt olika programmerings färdigheter.

Så, vad ger?

Allt fler tekniska företag frågar efter programmerare som kan arbeta inom en rad olika discipliner. En Full Stack Developer är en speciell typ av programmerare genom att de kan göra allt.

Detta är ett av de mest aktiva områdena professionellt för utvecklare. Av de nästan 50 000 utvecklarna som granskades av kodningsplatsen Stack Overflow, rapporterade 28 procent av dem ”Full Stack Web Developer” som deras yrke.

Det här är män och kvinnor som arbetar inom en rad olika kompetensområden (eller ”stackar” som vi senare lär oss). De är bekväma med ”full” bredd av mjukvaran eller webbutvecklingsprocessen.

Så när vi pratar om vad som krävs för att bli en Full Stack Developer, frågar vi vad de viktigaste elementen i denna jack i alla branscher är.

Behöver jag veta allt?

Kommer du vara en Full Stack Developer efter att ha läst allt på den här sidan? Nej, men det är inte heller möjligt eller nödvändigt att bli en.

Full Stack Developer är den person som kan göra allt (och om de inte kan göra allt direkt, de vet hur man får fart och hitta de rätta resurserna så att de kan), men bättre tjänar sitt lag genom att integöra allt. De identifierar korsningar av företagskompetens, webbtillgångar, programmeringsresurser och befintligt kodarbete som kan slås samman för att skapa en programvarulösning.

Tänk på det som en dirigent av en symfoni. Medan konduktören kan veta hur man spelar en trumpet är det inte kritiskt för sitt jobb, vilket är att höra trumpeten i förhållande till orkestern och ändra prestanda som behövs för att kunna spela låten ordentligt.

Programmerare blir alltmer uppmanade att arbeta inom olika discipliner och hitta sätt att ansluta tidigare diskreta färdigheter, till exempel bygga upp en relation mellan databaser och bygga en med dina kollegor. Men det här är nästa steg i mjukvaruutveckling, en förmåga att se bortom de enskilda bitarna och identifiera stora saker som är möjliga genom tidigare ej kopplade element. Det kan inte ha varit uppenbart att du kunde sätta en trumpet och snare trumma tillsammans före en orkester. På samma sätt var det förmodligen inte klart hur kopplingen var mellan högkvalitativ video och molnleverans före äktenskapet med Netflix och Amazon Web Services. Det är något som du behöver hela sortimentet, hela staplarna för att kunna se först.

Vad är en stack?

Stacken i namnet är ett kluster av relaterade färdighetssätt, från programmeringsspråk till ramverk och förtrogenhet i gemensamma resurser, som utgör en del av webbproduktens förmågor.

Låt oss ta dessa kluster en efter en för att bryta upp dig:

  1. Vilka specifika färdighetssätt, programmeringsspråk, ramar etc. innehåller varje stapel
  2. Där kan du lära dig dem

Låt oss stapla med stapel så att du kan börja kartlägga din resa för att bli en Full Stack Developer.

Vilka är de viktigaste staplarna och hur lär jag dem?

Framsidans utveckling

Detta den klient-vända sidan av programmerare som kommer att användas för att skapa den offentliga sidan av en app eller webbplats. Det är, som namnet, projektets framsida. Dessa är teckensnitt, färger, reglage, videor och spel som Internet-användare ser. När rekryterare pratar om den här specifika stacken talar de om klientgränssnitt, saker som kan göras med HTML och CSS.

För att odla dessa färdigheter måste du:

  • Lär känna Git också, en slags Google Dokument för samarbetande programmering. Det här är det bästa sättet för programutvecklare att arbeta tillsammans.
  • Bli bekant med och kunna förklara HTML-semantik , HTML-språk som används för att ”prata” till webresurser för att få dem att visa en sida korrekt.
  • Lär dig hur du skriver ut funktionella resurser inom CSS , det språk som används för att skapa klientgränssnitt med dynamisk visning som skiljer sig beroende på vilken enhet som interagerar med programmet eller appen ( CSS Media Inquiries ).
  • Få fart på Bootstrap , vilket är ett bibliotek med premade funktioner som använder HTML, CSS och JavaScript för att hjälpa dig att arbeta snabbare och effektivare med hjälp av testat arbete.Bootstrap är en buffé av eleganta webbobjekt-glidare, karuseller, dynamiska menyer som gör att du verkar som en webbguiden.

Förutom att läsa och utveckla förståelse av ovanstående är dina nyckelresurser här:

Back-end utveckling

Appen eller webbplatsen finns inte i ett vakuum. Det är sannolikt att skapa användardata och lever på en server. Programmeringsarkitekturen som förenar var och en av de här kritiska administrativa funktionerna är känd som backend-utvecklingsstacken, baksidan eftersom den är ur offentlig synvinkel, till skillnad från fronten som förklarats ovan.

Som en fullstacksutvecklare med en bakgrundsutvecklingsbakgrund bör du börja bli bekant med:

  • Pytonorm. Vi föreslår en fundamental python kurs, som den här.
  • Rubin. Det finns massor av handledning för att komma igång med detta programmeringsspråk, men vi rekommenderar en interaktiv handledning som den här så att du kan se dina resultat i realtid.
  • Java. Denna handledning tar dig genom enkla och praktiska metoder samtidigt som du utvecklar en djup förståelse för programmeringsspråket.
  • De olika ramar som man kan använda för att skapa backendprogrammering som Ruby on Rails eller Symfony .

Databashantering

Här är dina färdigheter som hanterar lagrade data och en webbapplikation som kräver att den ska fungera. Det här är en stapel där din Microsoft Access och SQL-medierad databashantering är relevanta.

Som en Full Stack Developer med en databashanteringsbakgrund kan du bli frågad om:

  • Relationella databaser , lagring av data som relaterade tabeller snarare än som oberoende JSON-dokument.
  • Dygderna i SQL över ett annat programmeringsspråk (det är snabbt att få stora bitar av data och det överensstämmer med en industristandard till skillnad från andra databas språk).
  • Grunderna för webblagring : där cookies lagras, vilken typ av data en besökarsession skapar etc.

För att komma igång med grunderna är dina viktigaste resurser här: