trots populära myter kan du bli en mjukvaruutvecklare utan högskoleexamen.
oavsett om du återinför arbetskraften eller fastnar i en karriär som du ogillar (administration, verksamhet, bank, etc.), blir en mjukvaruutvecklare är helt inom räckhåll—så länge du är villig att sätta i det hårda arbetet.
enligt US News har mjukvaruutvecklare en medianlön på $ 107,510 per år och en arbetslöshet på 1.,4%, vilket gör det till en av de mest lukrativa teknik karriärer. Dessutom erbjuder yrket en över genomsnittet arbetslivsbalans.
ännu mer projicerar Bureau of Labor Statistics att mellan 2018-28 kommer det att finnas en 21% tillväxttakt. Under tiden är den genomsnittliga tillväxten för alla yrken 5 procent. Detta översätter till 284,100 lediga jobb.
och gissa vad? Trots den positiva utsikterna och överflöd i möjligheter studerar endast 3% av högskolegraderna dator-och informationsvetenskap. Som du kan se i bilden nedan var 2020 1.,4 miljoner datorjobb jämfört med 400,000 CS studenter.
du får bilden: programmeringsförmåga kan ge mer ekonomisk säkerhet samt flexibilitet i din dagliga verksamhet. Men hur får du dessa färdigheter, utan att sitta igenom fyra år av CS-klasser? Och ännu viktigare, hur landar du en av dessa efterfrågade och högt betalda karriärer?
här är de goda nyheterna: Det är helt möjligt!, Denna 11-stegs guide lyfter slöjan och visar dig hur man blir en mjukvaruingenjör utan CS-grad. Så läs vidare!
avslöjande: jag är en stolt affiliate för några av de resurser som nämns i den här artikeln. Om du köper en produkt via mina länkar på den här sidan kan jag få en liten provision för att hänvisa dig. Tackar!
Vad är en mjukvaruingenjör?
per definition är en mjukvaruingenjör någon som skriver koden bakom programvaruprodukter (videospel, operativsystem, appar, funktioner, robotar etc.).,
finns det en skillnad mellan en mjukvaruingenjör och en mjukvaruutvecklare? Egentligen inte. Villkoren används ganska mycket omväxlande, och företag tenderar att se dem som samma sak. När du är på jakt efter en software engineering jobb, se till att söka och titta på inlägg för både ”software engineer” och ”software developer” för att få mest resultat.,
hur man blir mjukvaruingenjör utan högskoleexamen
innan man börjar, förstå att följande steg är specifika för dem som söker ett heltidsjobb (jag förkortar som FTJ) som mjukvaruingenjör.,
de kommer att vara mindre hjälpsamma för den person som är:
- Dabbling med kod för första gången
- osäker på om kodning är rätt för dem
- vill driva webbdesign, UX, UI eller något annat designrelaterat fält
- vill frilansa heltid
- hoppas kunna starta eget företag
men de är alla bra saker att sikta mot, och resten av bloggen är full av innehåll om dessa ämnen också!
nu, låt oss dyka in i 11 steg om hur man blir en mjukvaruingenjör.,
Steg #1: var kristallklart om ditt slutmål i software engineering
det är inte lätt att övergå till en ny karriär. Men när du har en slutdestination i åtanke, Det hjälper oerhört när du träffar gupp i vägen. Ett kristallklart mål ser ut så här:
- ”jag vill arbeta som mjukvaruutvecklare på ett etablerat teknikföretag.”
- ” jag vill arbeta vid en helt ny start, som mjukvaruingenjör, i branschen Jag älskar.”
- ” jag vill bygga saker på ett lag och få betalt bra för det.,”
oavsett detaljerna i din dröm, om du vill göra det genom alla 11 steg, måste du vara engagerad i slutmålet att bli en heltidsprogramvaruingenjör. Det är vad som kommer att driva dig framåt när det blir tufft.
steg #2: Välj ett bra mjukvarutekniskt språk för att lära sig
När du börjar, fastnar många människor bestämma vilket programmeringsspråk (och ramverk) de ska lära sig. Ruby på räls? Python och Django? Menar stack? Så många alternativ, så lite tid.,
här är saken: när du vet ett visst språk / stack väl är det inte svårt att övergå till en ny. Det innebär att när du blir en mjukvaruingenjör, vad du vill fokusera på är att förstå programmeringsgrunder. I huvudsak lär du dig att lära dig.
När du har en solid grund kan du enkelt övergå till nya språk, ramar och tekniker., Som grundare av Flatiron School Avi Flombaum säger, ” den viktigaste aspekten av det är att du lär dig att tänka som en utvecklare.”
börja koda nu
sluta vänta och börja lära dig! Få mina 10 tips om att lära dig hur du kodar.
allt detta sa att du borde fokusera på ett språk / ramverk för att starta.
med så många språk där ute kan det vara svårt att veta vilken man ska välja. Jag rekommenderar att du tar dig tid att lära dig om de olika språken. Denna guide till att välja ett programmeringsspråk är ett bra ställe att börja.,
För många är Ruby ett utmärkt sätt att gå.
Ruby är läsbar och effektiv, vilket gör det mycket lättare att få bekväm med än några andra språk. Det är också öppen källkod, så du har tillgång till massor av verktyg och en gemenskap av andra utvecklare, allt gratis. Och kanske viktigast av allt är det flexibelt: språket används av många företag (Airbnb, GitHub, Hulu, Kickstarter, etc.) och ger dig en solid grund att filial ut till andra språk senare.,
steg # 3: Öva mjukvaruutveckling…och öva lite mer
medan stacken du lär dig spelar ingen roll mycket, vad spelar det för roll att lära sig genom att göra. Det innebär att ägna lite realtid för att finslipa ditt nya hantverk. Du måste avsätta en betydande tid varje dag, varje vecka, till lärande.
Du kan inte bli mjukvaruutvecklare efter 10 timmars träning. Det är inte möjligt.
vissa säger att det tar 10 000 timmar att bli expert., Nu behöver du inte 10,000 timmars träning för att få ditt första mjukvaruutvecklingsjobb. Men du måste ägna lite seriös tid.
För att ge ett exempel tar datavetenskapens Essentials for Software Development curriculum på edX cirka 4 månader (7-9 timmar per vecka) för att klara det.
steg # 4: Använd verktyg som verkliga programutvecklare använder
medan fria resurser som Codecademy är bra, är du inte i en verklig miljö när du använder dem., Istället skriver du direkt i webbläsaren och får en poäng baserat på en frågesport eller någon annan typ av interaktiv aktivitet.
detta är verkligen användbart som ett sätt att vänja sig vid kodning och stelna begreppen i ditt sinne. Men i den verkliga världen kommer du inte att arbeta så här. Så, vad du vill göra från början är att bygga hur riktiga ingenjörer bygger. Du vill använda de verktyg som de använder. På vägen kommer det att göra det mycket lättare att övergå till en heltidsroll och gå med i ett lag.,
men det är svårt att bygga hur verkliga devs bygga, och använda verktyg verkliga devs använder, när du först börjar. (Om du är något som jag var, är det svårt att ens veta var du ska börja.)
den goda nyheten är att det finns program där ute som lär dig hur du använder dessa verktyg—som versionskontroll med Git, en online-kurs genom Coursera.,
dess läroplan berör verktyg och processer verkliga ingenjörer använder varje dag, som:
- Git/GitHub
- kommandoradsgränssnittet
- Bitbucket
detta gör att du kan justera mycket snabbare när du är i ett riktigt jobb, snarare än att ha ännu en brant inlärningskurva att behärska.
en annan Git-kurs för att kolla in är den ultimata Git-Mästerkursen med kod med Mosh, som lärs av en mjukvaruingenjör med över 20 års erfarenhet i branschen.,
Steg # 5: Läs kod skriven av andra mjukvaruingenjörer
en annan viktig aspekt av att bli en mjukvaruingenjör är att lära sig läsa andras kod. Du kan göra detta genom att bläddra igenom GitHub-arkiv och titta igenom dokumentation.
Ibland kan dokumentation vara fel…men källkoden ligger aldrig. Genom att lära sig att läsa den koden, kommer du att kunna förstå vad som händer och hur ett program fungerar., (Denna färdighet är också viktig när det gäller felsökning, eftersom du kommer att kunna identifiera vilken del av koden inte borde vara där.)
detta är ofta en förbisedd skicklighet, men det kan verkligen gynna dig att se hur erfarna utvecklare gör saker. Inte bara göra en flyktig skumma av koden, heller. Gräva djupt, lär dig ins och outs, kartlägga funktionaliteten och slutligen återskapa den om du kan. På så sätt kommer du att kunna rekonstruera ett befintligt program, vilket hjälper dig att förstå det mycket bättre hur du skapar en av dina egna.,
steg # 6: hitta en stödjande software engineering community
att hitta en gemenskap att lära sig med kan göra eller bryta din framgång som mjukvaruingenjör—speciellt när du bara börjar. När du är omgiven av en gemenskap av likasinnade människor, har du ett automatiskt stödsystem: en grupp individer som du kan ringa på när du fastnar, eller förlora motivation. (Båda kan hända med de bästa av oss!,)
personliga grupper finns, men kan vara svåra att samordna med och är inte tillgängliga i alla områden. Men vem som helst kan gå med i en online community, och de är lika hjälpsamma.
När du lär dig med Launch School, en online-skola för programvaruingenjörer, till exempel, får du tillgång till ett gemenskapsforum, vilket är där Starta skolelever dela studera tips, skapa studiegrupper, hjälpa varandra med problem, och allt annat du kan förvänta dig från en dedikerad skola., Du får också tillgång till deras Slack chattrum, där studenter och personal hangout hela dagen. För att inte nämna, en månatlig meetup-stil webinar serie som heter ”Tech Talks.”
noll till Mastery är likartat – med över 150 000 studenter, alumner, TAs, mentorer och instruktörer som är registrerade på deras Discord-server har de gott om möjligheter att nätverk och hitta det stöd du behöver medan du studerar!,
Steg #7: Bygg faktiska kodningsprojekt
läs inte bara handledning och titta på videor—sätt dina färdigheter i bruk. Lös problem längs vägen, precis som vardagliga mjukvaruutvecklare gör. När du gör detta, du inte bara vidare din lärande, du visar också potentiella arbetsgivare att du kan hacka den. (Eftersom slutmålet är att få ett jobb, eller hur!?)
Du kan bygga projekt solo, eller med en grupp.,
till exempel, i slutet av Mammoth Interactive Hello Coding: vem som helst kan lära sig att koda (170 timmar), du har gott om projekt att visa upp. Du kommer att bygga flera applikationer under hela kursen. Och de är inte bara tråkiga ”fyll i ämnena” projekt: de inkluderar en Flappy Bird spel klon, 3D ping pong spel, väder app för iOS, och en Finans kalkylator app för webben.,
med Team Treehouse Techdegree, kommer du att bygga 9-12 verkliga projekt som ger dig chansen att öva vad du har lärt dig, inklusive en basket statistik verktyg, nummer gissningslek, lagra inventering app, och mer. Dessa projekt kommer att granskas och graderas av branschfolk eller Treehouse studenter att se till att du håller dig på rätt spår.
och om JavaScript är din väska har Zero to Mastery 20 projekt som du kan bygga och lägga till i din portfölj., Dessa projekt är ett bra sätt att öka dina kunskaper, tar dig från en nybörjare till en säker utvecklare – och att kunna ha avslutat projekt att lägga till din portfölj är en extra bonus.
steg #8: odla ditt professionella tekniska nätverk
När du lär dig att koda, bygga projekt etc., du bör vara långsamt men säkert odla ditt professionella nätverk., För när det gäller att hitta ett bra jobb tar det mer än att bara söka jobb online (vilket dessa dagar bara kan vara slöseri med tid).
istället vill du bygga ett starkt nätverk. Till att börja med, lita på dina befintliga anslutningar. Enligt Jobvite kommer 40% av nya anställningar via anställd remiss, vilket gör det till det vanligaste sättet.
utöver att knacka in i ditt första graders nätverk kan du också få intron till dina andra graders anslutningar (vänner till vänner)., Målet är att inrätta informella kaffemöten med personer som är anslutna till företag som du vill arbeta för, vilket bygger anslutningar och ibland leder till verkliga intervjuer.,
några andra sätt att skapa nya anslutningar utan att ha en gemensam vän:
- gå till meetups
- underhålla en blogg (som ger dig exponering)
- volontär
- tala vid händelser
engagera dig och bidra till tech / software engineering community, och nästan oundvikligen kommer möjligheter att komma din väg.,
det snabbaste sättet att landa ett tekniskt jobb är en kurs som lär dig nätverksstrategier, inklusive varför du bör delta i meetup grupper och de bästa sätten att marknadsföra dig själv som en techie.
ett annat bra alternativ? Bryta sig in Techs Land det perfekta jobbet med LinkedIn masterclass. Det går över hur man bygger en armé av anhängare + sätta dem att arbeta för dig, få en remiss som får dig en garanterad intervju och utnyttja insider info till ace din intervju + förhandling.,
steg # 9: behärska din pre-interview essentials
Efter att ha börjat bygga anslutningar med kamrater och influencers i fältet, det ’ ll vara dags att göra sig redo att ansöka om jobb själva. (Men om du gör en solid anslutning – kan du hoppa över det här steget helt och hållet!)
men innan du skickar ut program eller ber om direkta hänvisningar måste du behärska tre saker: återupptas, följebrev och din närvaro online.
även i en moderniserande Värld, återupptas är nödvändiga., Anställa chefer fortfarande titta på dem för att få en ögonblicksbild av dina kunskaper och erfarenheter. På samma sätt, följebrev behövs när du ansöker om jobb på nätet; de är din möjlighet att få någons uppmärksamhet och göra ett intryck.
det är grunderna i olika branscher. Men bortom meritförteckningar och följebrev, det finns också din online-närvaro att överväga.
detta är oerhört viktigt för alla inom teknikbranschen, och det är något du bör bygga och underhålla över tiden., Ditt digitala fotavtryck är viktigt eftersom det är vad rekryterare och rekryterare kommer att se när de googlar ditt namn innan du bjuder in dig till en intervju.
din närvaro online, som mjukvaruutvecklare, består av några saker:
- LinkedIn profil
- GitHub
- personlig webbplats (eller portföljwebbplats)
- Blogging (vilket kan vara ett tillägg till din personliga webbplats)
arbetsgivare kommer att kontrollera dessa och bilda intryck av dig baserat på vad de ser. Så se till att dessa intryck är bra!,
steg #10: Ace din software engineer anställningsintervju
slutligen finns intervjun själv. De flesta företag börjar med en screening intervju, vanligtvis gjort online, hemma. Efter det kommer en telefonintervju. Om du tar dig igenom de två, kommer du att landa på plats intervjun.
utöver standarden ”största styrka / svaghet etc. osv.,”frågor, du måste vara redo för tekniska och beteendemässiga frågor. Du kan bli ombedd att bygga ett projekt eller arbeta genom en kod utmaning, eller beskriva hur du har hanterat svåra situationer i det förflutna.
en användbar resurs att konsultera är boken knäcka Kodningsintervjun. En annan är lära sig att koda med mig egen djupgående teknisk intervju guide.
lyckligtvis behöver du inte förbereda dig själv. Till exempel har Intervju kaka en hel kurs på acing tech intervju, inklusive 50+ timmars övningsfrågor., Du lär dig knep för att snabbt lösa problem du aldrig sett tidigare (och få $30.000+ högre lön erbjudanden).
Läs min recension av Intervju kaka.
AlgoExpert är en annan online-plattform som hjälper dig att förbereda för kodningsintervjuer, med 85+ handplockade frågor (på 7 olika språk) och 55+ timmars videoförklaringar.
ett annat bra alternativ för intervjuprep?, Byte av Byte, med praxis kodning Intervju Frågor, beteende intervju råd, och allt annat du behöver för att ess din kodning intervju.
steg # 11: Acceptera jobberbjudandet och officiellt bli en mjukvaruingenjör!
Grattis-du har knäckt hur man blir en mjukvaruingenjör och har en spännande karriär framför dig!
När du har gjort det genom en serie intervjuer och demonstrerat dina nya färdigheter är det bara en tidsfråga innan du får ett erbjudande. Och ja, det kan vara ingångsnivå först,men du måste börja någonstans!, Var noga med att kolla in våra 5 lön förhandling tips för mjukvaruingenjörer.
När du fortsätter att lära dig och växa som utvecklare fortsätter du att klättra karriärstegen till större och bättre positioner.
är det svårt att bli mjukvaruingenjör?
kort svar: Ja. Det är inte lätt, och jag kan alla men garantera att du blir frustrerad ibland. Men det är absolut genomförbart. Och du kan förmodligen även uppnå allt på egen hand, genom självundervisning och nätverk., Många människor har framgångsrikt övergått till mjukvaruutveckling på detta sätt.
tre gäster på lära sig att koda med mig Podcast har berättelser som visar just detta!
- Clément Mihailescu gick från nybörjare coder till Google software engineer på bara 6 månader.
- Christina Gorton var en hemma mamma i fem år innan hon blev intresserad av teknik. Hon lyckades nivå upp sina färdigheter och landa ett jobb som en avlägsen junior utvecklare på bara nio månader.,
- Josh Kemp gick från smed och farrier till junior utvecklare på drygt 9 månader (827 timmars studie totalt).
saken är, för de flesta människor, att lära sig på egen hand gör allt svårare, oavsett om det är att behärska färdigheter eller söka efter jobb.
det är därför det är vettigt att ha hjälp.
Starta skolan, till exempel, gör det möjligt att snabbt spåra din karriär som mjukvaruingenjör., Vad som verkligen skiljer lanseringen skolans program är att det lär dig att behärska de viktiga begreppen mjukvaruutveckling som håller fast och konsekvent även när tekniken utvecklas snabbt, så du kommer att bygga livslånga vanor som hjälper dig att lyckas.
i slutändan är deras mål inte bara för att hjälpa dig att hitta ett jobb, utan för att hjälpa dig att starta en karriär. Utexaminerade från Lanseringsskolan har anställts på branschledande företag, inklusive Intel, Peloton, HP och LinkedIn, samt snabbt stigande startups.
och siffrorna ljuger inte., Under de senaste 3 åren har 100% av programmets akademiker accepterat jobberbjudanden inom 180 dagar efter examen. I 2018, Capstone akademiker tjänade i genomsnitt $ 122,316 inom 12 veckor.
bortsett från siffrorna är ett av de bästa sätten att få en känsla för ett program att höra från dem som har gjort det tidigare. Majoriteten av tidigare Lanseringsskolestudenter rapporterar stora erfarenheter med programmet., Här är vad några av dem har sagt:
- ”Launch School gjorde inget annat än att radikalt förändra mitt liv och hoppa-starta min karriär.”- Tannr
- ”jag kan inte rekommendera starta skolan tillräckligt. Jag ärligt talat inte skulle vara i den karriär Jag är idag, eller lika passionerad om det som jag är idag, utan allt hårt arbete och engagemang de lagt in utforma programmet och kontinuerligt förbättra det.”- Steve
- ” Launch School gav mig alla de kärnverktyg jag behövde för att börja bygga meningsfulla, användbara program., Om du menar allvar med att lära sig att programmera och kan sätta Tid i under en längre tid, detta program är för dig!”- Charlie
om du har en dröm om att bli en mjukvaruutvecklare och vill ha den mest direkta vägen för att uppnå det målet är det definitivt värt att kolla in Lanseringsskolan.
börja koda nu
sluta vänta och börja lära dig! Få mina 10 tips om att lära dig hur du kodar.
letar du efter något lite mindre intensivt än lanseringen skolans 8-16+ månader läroplan?,
i steg #2 valde du ditt programmeringsspråk. Nu, sparka saker av genom att välja en kurs som lär det språket.
- Pluralsight har kurser som täcker Python, Java, C# och mer.
- Team Treehouse har kurser i Java, Ruby on Rails, PHP, Python och mer.
- Udacity har kurser i JavaScript, Java, Kotlin, Python och mer.
Så, här har du det — 11 steg för att bli en mjukvaruingenjör. Allt du behöver göra nu är att sätta i arbetet!
Obs: Det finns affiliate länkar i det här inlägget.