Hur man blir en mjukvaruingenjör

Som teknik utvecklas och blir en större del av vardagen, så gör det också behovet av teknikpersonal. Software Engineers design och styra utvecklingen av program som datorer använder för att göra livet lite lättare för resten av oss.

Steg

Metod 1 av 2:
Ange datavetenskap som din första karriär
  1. Bildtiteln Bli en mjukvaruingenjör Steg 1
1. Tjäna en examen i datavetenskap eller ett relaterat fält. De flesta mjukvaruingenjörspositioner kräver en kandidatexamen. Att huvudämne i datavetenskap ger den mest användbara bakgrunden för att designa och perfekta programvara. Oftast kommer intervjuare att ställa frågor som fokuserar på datastrukturer och algoritmer, så den teoretiska bakgrunden som tillhandahålls av traditionella datavetenskapliga grader förbereder dig bäst för detta. Du kommer dock sannolikt att behöva spendera lång tid utanför klassrummet skrivprogramvara för att lära dig hur de teoretiska koncepten du lärde dig kan ansöka om att skriva verklig programvara.
  • Det är möjligt att bli anställd med en associerad examen eller till och med med inget annat än självlärd erfarenhet. Förfölja denna rutt bör du ha en stark samling av färdiga och funktionella projekt som visar dina färdigheter på en webbplats som Github. Du kan också driva Open Source-projekt för att bidra med korrigeringar och nya funktioner till om du inte har ett eget begrepp. Open Source innebär att koden (källan) för en mjukvara är offentligt synlig (öppen). Ofta gör det möjligt för alla att skicka kod till ett projekt, väntar på godkännande av projektet underhållare. Att hitta ett open source-projekt med ett välkomnande samhälle av utvecklare kan kraftigt påskynda dina färdigheter efter att du har etablerat en baslinjeförmåga.
Expertips
Gene Linetsky, MS

Gene Linetsky, MS

Startup Founder & Engineering Direktorgen Linetsky är en Startup grundare och mjukvaruingenjör i San Francisco Bay Area. Han har arbetat inom teknikindustrin i över 30 år och är för närvarande direktör för teknik på Poynt, ett teknikföretag som bygger smarta försäljningssterminaler för företag.
Gene Linetsky, MS
Gene Linetsky, MS
Startup Founder & Engineering Director

Att studera någon vetenskaplig disciplin kan hjälpa dig att koda bättre. Gene Linetsky, som hanterar ett team av mjukvaruingenjörer, säger: "Några av de bästa ingenjörerna kommer ut ur elteknikprogram, eftersom det lär dem mental disciplin. Programvaruteknik är en konst som inte tolererar en konstnärs tankegång - det kräver verkligen den disciplinen."

  • Bildbetaget blir en mjukvaruingenjör Steg 2
    2. Börja programmera. Även om du fortfarande är i klassskolan, kan du ge dig ett stort huvudstart av Undervisa dig själv programmering.
  • Programvaruteknik är inte inriktad på kodning, men du måste veta minst ett par språk och en djupare förståelse för hur de fungerar. Det finns inget utbrett avtal om vilka språk som är mest användbara, men det är alla populära val:
  • Pytonorm
  • Rubin
  • jаvascript
  • C #
  • Java
  • C++
  • Var medveten om att vissa språk är bättre för att lösa vissa problem än andra. Inget språk är bättre än en annan. Inget ett språk är objektivt lättare än en annan. De flesta språk skrivits med vissa typer av problem i åtanke och är bättre att lösa dem medan de är svagare att lösa andra. Experimentera och få en känsla för din stil. Först, fokusera bara på att få de mest grundläggande program som körs på ett språk. När du väl har blivit bekväm med en, börja experimentera med en sekund. Det finns inget behov av att lära sig alla språk. Hitta din nisch och bli fantastisk på den!
  • För ungdomar skapade MIT (Massachusetts Institute of Technology) webbplatsen och programmeringsverktyget, Repa. Detta verktyg beskriver programmeringskoncept med hjälp av visuella köer istället för att skrämma text. Det är också användbart för vuxna som skulle känna sig bekvämare med fokus på visuella element snarare än abstrakta begrepp och text.
  • Bildtiteln Bli en mjukvaruingenjör Steg 3
    3. Studie datastrukturer och algoritmer. "Algoritm" helt enkelt betyder en formel eller process för att lösa ett problem. Vanliga exempel är sökväg för att hitta det kortaste avståndet mellan två punkter, söker efter att hitta ett specifikt data i en stor uppsättning data och sortering för att ordna data i viss ordning. A "datastruktur" är ett visst sätt att organisera data för att göra det lättare att lösa vissa problem. Vanliga exempel är arrays som helt enkelt innehåller uppgifter om data en efter en i någon order och hash-tabeller som lagrar data av vissa "nyckel-" istället för en position i en lista. Fokusera på att utveckla och behålla dina färdigheter för att göra ditt bästa när du har fått en position som en mjukvaruingenjör.
  • (Valfritt) Studie Math. Matematik kommer att vara en del av någon datavetenskaplig major, och många algoritmer och datastrukturer kunskap stammar från matematik. Medan det inte är absolut nödvändigt, att ha en stark bakgrund i matematik, ger dig starkare kärnkunskaper för att analysera och designa nya algoritmer. Om du riktar sig till företag som gör banbrytande forskning och utveckling, kommer Math ett måste. Om du vill ha ett cushy företagsjobb, kan du troligen skumma igenom matte med högre nivå.
  • Diskret matematik är ett särskilt användbart studieområde, liksom någon matematik kurs som involverar programvara.
  • Bild med titeln Definiera ett problem Steg 4
    4. Komplettera dina studier. Utbildningssystem är ofta föråldrade. Läroböcker revideras långsammare än programvara är uppdaterad. Utbildningsinstitutioner ger teoretiska begrepp och sätt att tänka som kan vara kritiska för din framgång, och bör därför inte diskonteras. Men vad får dig att betala är att kunna tillämpa teorin till verklig programvara. Det är där du kompletterar dina studier i.
  • Bläddra igenom Stackoverflow. Stackoverflow är en fråga och svar webbplats för utvecklare. Du kan söka efter tag för att identifiera tekniken, problemutrymmet eller språk du vill förbättra. Att se andras svar ger dig inblick i hur ingenjörer löser problem. Bookmarking Clever Solutions hjälper dig också att bygga upp din problemlösningsverktyg.
  • Använd praktikplatser för kodning. Webbplatser som Codewars och Codingame erbjuder tusentals problem för dig att testa dina färdigheter mot.
  • Hitta ett verkligt samhällsgemenskap för att hålla dig inspirerad, utveckla anslutningar och ge dig vägledning om var du ska fokusera på ditt lärande. Platser som möte kan vara bra ställen att hitta programvaruingenjörer och lära dig mer om yrket. Om du har problem med att hitta General Engineering Meetups, försök att fokusera på specifika språk eller tekniker. Kolla in sociala medier, liksom.
  • Bild med titeln Bli en mjukvaruingenjör Steg 4
    5. Bygga programvara. Det bästa sättet att förbättra dina färdigheter är att använda dem. Huruvida professionella projekt eller personliga, design och kodning programvara kommer att lära dig en hel del. För många arbetsgivare, praktiska prestationer betyder mer än GPA eller teoretisk kunskap.
  • Om du inte planerar att monetisera den programvara du bygger, lägg den online! Tillåter potentiella arbetsgivare att se de projekt du har skapat och koden som driver dem tillåter dem att bedöma dina färdigheter. Det är också ett bra sätt att få feedback för att förbättra dina färdigheter.
  • Bild med titeln Bli en mjukvaruingenjör Steg 5
    6. Söka en praktikplats. Många programvaruingenjörer arbetar som praktikanter medan de slutför sina studier. Detta kan vara ett utmärkt sätt att få praktisk träning och nätverk med potentiella arbetsgivare. Leta efter praktikmöjligheter genom jobb som skickar webbplatser och nätverk.
  • Bild med titeln Bli en mjukvaruingenjör Steg 6
    7. Hitta jobbmöjligheter. Programvaruteknik är ett snabbt växande fält. Du har en bra chans att omedelbar anställning, även om du kan börja som programmerare och arbeta dig upp till programutveckling. Börja söka innan din examen är upp:
  • Högskolor hjälper ofta sina alumner att få en position. Prata med dina professorer, avdelningspersonal och karriärjänsterskontor om att hitta jobbmöjligheter.
  • En stor andel jobb händer genom nätverk. Använd dina personliga kontakter och träffa människor på fältet genom karriärmöten och konferenser.
  • Kontrollera regelbundet jobbsökningswebbplatser. Skapa en profil och skicka ditt CV till professionella webbplatser och använd dem för nätverk och jobbapplikationer.
  • Bild med titeln Bli en mjukvaruingenjör Steg 7
    8. Tänk på dina karriärmål. Programbranschen förändras alltid. Fortsätt genom att förbättra dina kunskaper och praktiska färdigheter, och du har många chanser att forma riktningen för din karriär. Här är några sätt att förbättra dina jobbutsikter:
  • Gå med i en professionell organisation för nätverksmöjligheter.
  • Tänk på en magisterexamen om du har långsiktiga planer på fältet. Även om det inte är ett krav på de flesta positioner, förbättrar en mästare mycket dina chanser att arbeta för en branschledare, i en ledningsposition eller i inbäddad programvara. En magisterexamen kan också ge dig en betydande lönebump tidigt i din karriär.
  • Certifiering kan vara användbar i vissa delfält och regioner, men kan minska Din önskvärt i andra. Prata med andra ingenjörer i ditt kompetensområde innan du anmäler dig till ett av dessa program. Ofta gynnar traditionella företagsmiljöer certifikat, men nystartade företag och mycket progressiva företag kan hitta dem som slöseri med tid. Det finns dock alltid undantag. Vissa länder ser också certifikat på olika sätt, så försök att ansluta till programvaruingenjörer och förstå hur industrin i ditt område fungerar.
  • Metod 2 av 2:
    Byter till en karriär med mjukvaruingenjör
    1. Bild med titeln Bli en mjukvaruingenjör Steg 8
    1. Känn dina arbetsutsikter. Fältet Programvaruutveckling har utmärkt jobbtillväxt. Programvaruteknik är ett särskilt önskvärt fokus jämfört med grundläggande programmering. Median-programvaruutvecklaren är ungefär 80 000 dollar - $ 100.000 per år i USA.
  • Bildtiteln Bli en mjukvaruingenjör Steg 9
    2. Lära sig programmering. Praktisk mjukvaruutveckling och kodning bör vara dina första prioriteringar. Det finns en mängd olika sätt att tjäna denna erfarenhet:
  • Lär dig själv programmering genom online-handledning eller vänner som är villiga att lära dig.
  • Ta en massiv öppen online kurs (MOOC).
  • Om du redan har erfarenhet, samarbeta med andra programmerare på GitHub.
  • En kodande bootcamp är ett av de snabbaste sätten att lära, om du är villig att investera pengar och fritid. Var noga med att göra din forskning, eftersom vissa bootcamps har dåligt rykte inom industrin och kanske inte är värt pengarna.
  • Bildbeteckningen blir en mjukvaruingenjör Steg 10
    3. Rita på din erfarenhet. Programvaran kan vara ett specialiserat ämne, men din tidigare karriär behöver inte involvera datorer för att ge dig en kant. Programvaruteknik kan lita starkt på analytiska färdigheter, problemlösning och lagarbete. Dessutom kan förtrogenhet med en bransch hjälpa dig att designa programvara för den industrin.
  • Även hobbyer och sidointressen kan öppna upp nätverksmöjligheter, eller åtminstone lägga till passion för ditt jobb. Spelappar, Digital Music Suites eller Business Software är alla exempel
  • Om möjligt, automatisera portioner av ditt jobb. Byggverktyg för att påskynda uppgifterna och göra det enklare. Programvaruteknik vid kärnan är problemlösning. Skriva programvara är bara en mjukvaruingenjörens valda metod för att lösa problem. Det finns problem runt dig redan! Det finns ingen anledning att du inte kan börja nu.
  • Bild med titeln Bli en mjukvaruingenjör Steg 11
    4. Anmäl dig i ett examensprogram (valfritt). Det är mycket möjligt att landa ett programmeringsjobb efter ett år eller två av sidan erfarenhet, eller till och med några månader med tillräckligt med engagemang. Om du redan har en kandidatexamen i något ämne, tillsammans med några kodande färdigheter, överväga att gå rakt mot en mästare i programvaruteknik.
  • Var medveten om att detta är ett otroligt dyrt alternativ. Men om du har svårt att vara självmotiverad och gå med i ett samhälle eller försöker en hobby inte sticka, kan det vara det mest effektiva alternativet.
  • Bild med titeln Bli en mjukvaruingenjör Steg 12
    5. Nätverk din väg till ett jobb. Nästan varje bransch behöver mjukvaruutvecklare, så ditt nätverk från en tidigare karriär kan vara ovärderligt. Överväga även att ansluta till en professionell förening, till exempel IAENG Society of Software Engineering, IEEE Dator Society Technical Councily On Software Engineering, eller Association for Computing Machinery. Titta också på lokala möten eller online-samhällen. Programvaruvärlden kan vara överraskande liten, och att hitta rätt anslutning kan öppna en myriad av möjligheter.
  • Karriärvägsflödesschemat

    Karriärvägsflödesschemat för programvaruingenjörer

    Stöd WikiHow och Lås upp alla prover.

    Tips

    Jobbtitlar i denna bransch är inte standardiserade. "Mjukvaruutvecklare" är en bred paraply term. Medan "mjukvaruutveckling" är tänkt att involvera mer design och specialkunskap, vissa företag använder den här titeln för att spruta upp ett programmeringsjobb på lägre nivå.
  • Om du vill arbeta för ett visst företag, kolla deras hemsida direkt.
  • Go old school! Öva skrivkod på papper innan du hoppar in i datorn!
  • Jobbintervjuer kommer ofta att äga rum på en whiteboard, så hitta några vänner och få bekväm skrivkod på en whiteboard. Vissa företag kan bryr sig om att din kod kommer att köras exakt som skrivet, men många kommer inte.
  • Dela på det sociala nätverket:
    Liknande