Att vara en mjukvaruutvecklare är en lukrativ karriärplan. Det är människor med några allvarliga marknadsförbara färdigheter. Men vad gör de exakt? Eftersom du förmodligen inte kan slå dem, måste du gå med dem. Har du tech-saviness och publiken releability att utveckla en bra produkt? Med lite brainstorming - och, naturligtvis, börjar med steg 1 nedan - du vill!
Steg
Del 1 av 3:
Lära sig repen
1. Bestäm vilken grundläggande typ av programutveckling intresserar dig. Det finns två grundläggande typläger av mjukvaruutveckling: Applikationsutveckling och Systemutveckling. Applikationsutveckling är inriktad på att skapa program som uppfyller användarnas behov. Dessa kan sträcka sig från mobiltelefonappar, till högproduktion av videospel, till företagsnivå Accounting Software. Systemutveckling är inriktad på att skapa och upprätthålla operativsystem med hjälp av livscykelutveckling. Systemutveckling involverar ofta nätverksförvaltning och datasäkerhet.
2. Lär dig ett programmeringsspråk. Vem som helst kan komma med idéer, men en utvecklare kommer att kunna vända dessa idéer till något konkret. Även om du bara vill arbeta på designaspekterna av programvara, borde du ha en förtrogenhet med kodning och kunna skapa grundläggande prototyper. Det finns ett stort antal programmeringsspråk som du kan lära dig själv. Några av de mer användbara och viktiga är:
C - C är ett av de äldre språken som fortfarande används, och är grunden för de flesta andra språk på den här listan. C används för att utveckla program med låg nivå och fungerar mycket nära med datorns maskinvara.C++ - Detta är den objektorienterade versionen av C, och är det mest populära programmeringsspråket i världen. Program som Chrome, Firefox, Photoshop, och många andra är alla byggda med C++. Det är också ett mycket populärt språk för att skapa videospel. C ++ utvecklare är nästan alltid i mycket hög efterfrågan.Java - Detta är en utveckling av C ++ - språket, och används för att på grund av sin lätthet av bärbarhet. Nästan vilket system som helst kan köra en Java-virtuell maskin, så att den kan köra Java-programvaran. Det används i stor utsträckning i videospel och affärsprogram, och många rekommenderar det som ett viktigt språk.C # - C # är ett Windows-baserat språk som är en del av .NET Framework från Microsoft. Det är nära relaterat till Java och C ++, och om du lär dig Java kan du snabbt övergå till C #. Detta språk är särskilt användbart för utvecklare som arbetar med Windows eller Windows Phone-programvara.Objektiv-c - Detta är en annan kusin av C-språket som är speciellt utformat för Apples-system. Det ser enorm popularitet i iPhone och iPad Apps. Det är ett bra språk att lära sig som frilansare.Pytonorm - Detta är ett otroligt enkelt språk för att lära sig, en av de enklaste. Python specialiserar sig på webbutveckling.Php - Det här är inte exakt mjukvaruutveckling, men PHP är viktigt om du är intresserad av att komma in i webbutveckling. Det finns alltid mycket arbete för PHP-utvecklare, men det är inte lika lukrativt som mjukvaruutveckling.3. Hitta resurser som hjälper dig att lära dig. De flesta bokhandlar har hela sektioner dedikerade till programmeringsböcker, och det finns massor tillgängliga på Amazon och andra e-tailers. En välskriven programmeringsbok kommer sannolikt att vara den bästa resursen du kan ha, och låter dig snabbt referera den medan du arbetar med projekt.
Utöver böcker är internet en oändlig skattskede av guider och handledning. Sök efter guider på det språk du vill ha på webbplatser som kodkod, kod.org, bento, udacity, Udemy, Khan Academy, W3schools, och många fler.4. Ta några klasser. Medan du inte behöver en full-i examen för att komma in i mjukvaruutveckling, kan det inte skada för att ta några klasser på ditt lokala community college eller learning center. Detta ger dig fördelen med en-mot-en-instruktion, och du kommer att bli utmanad att lösa problem som du sannolikt inte skulle om du lärde dig själv.
Klasser kostar pengar, så se till att du anmäler dig till klasser som hjälper dig att lära dig vad du vill veta.Medan många utvecklare kan komma in i branschen baserat rent på förmånerna i sina färdigheter, hjälper du dig att sticka ut från förpackningen om du har en kandidatexamen i datavetenskap från ett fyraårigt universitet. En examen ger dig en bredare bakgrund av kunskap och ger dig tillgång till ytterligare hjälpsamma klasser som matematik och logik.5. Arbeta med PET-projekt. Innan du börjar försöka tillämpa dina nya programmeringsförmåga till verkliga jobb, arbeta med några projekt för dig själv. Utmana dig själv för att lösa problem med ditt programmeringsspråk. Inte bara kommer det här att hjälpa till att utveckla dina färdigheter, det kommer också att hjälpa till att bygga ditt CV.
Till exempel, istället för att använda datorns kalenderprogram för att vara organiserad, försök att utforma din egen!Om du är intresserad av videospelutveckling, Arbeta med enkla spel som inte fokuserar på grafik eller komplexa mekanik. Istället, fokusera på att göra dem roliga och unika. En samling små spel som du skapade dig kommer att se bra ut i din portfölj. Expertips
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
Startup Founder & Engineering Director
Hands-on Erfarenhet är ditt bästa lärandesverktyg. Enligt Gene Linetsky, en mjukvaruingenjör och uppstart grundare: "Att vara en mjukvaruingenjör har inte möjlighet att programmera - det är allt annat som krävs för att göra din kod till en verklig produkt som används av faktiska människor. Då, när du gör det, kommer dina kunder vanligtvis att komma tillbaka och säga, "det fungerar inte," eller "det fungerar inte.` Cykeln att behålla dina egna saker är den verkliga utbildningen av en mjukvaruingenjör."
6.
Fråga frågor. Internet är ett fantastiskt sätt att ansluta till andra utvecklare. Om du befinner dig stumped på ett av dina projekt, be om hjälp på webbplatser som stackoverflow. Se till att du
fråga på ett intelligent sätt och kan bevisa att du redan har försökt flera möjliga lösningar.
7. Öva varje dag. Arbeta på dina husdjursprojekt varje dag, även om det bara är en timme. Detta hjälper dig att hålla dig fräsch och ständigt lära sig nya tekniker. Många utvecklare har haft framgång att lära sig ett språk genom att se till att de utsätts för det dagligen.
Ställ in en tid varje dag som du kan ägna till kodning, eller ange en tidsfrist som du behöver vara klar med. Försök att arbeta på dina projekt varje dag under veckan så att du kan koppla av på din helg.Del 2 av 3:
Utveckla ett program
1
Brainstorma idéer. Ett bra program kommer att utföra en uppgift som gör livet enklare för användaren. Titta på den programvara som för närvarande är tillgänglig för den uppgift du vill utföra, och se om det finns sätt att processen kan vara lättare eller mjukare. Ett framgångsrikt program är en som användare kommer att hitta mycket nytta i.
- Undersök dina dagliga uppgifter på din dator. Finns det något sätt att du kan automatisera en del av dessa uppgifter med ett program?
- Skriv ner varje idé. Även om det verkar dumt eller outlandish vid den tiden kan det förändras till något användbart eller till och med lysande.
- Undersök andra program. Vad gör de? Hur kunde de göra det bättre? Vad saknas de? Att svara på dessa frågor kan hjälpa dig att komma med idéer för din egen ta på det.
2. Skriv ett designdokument. Detta dokument kommer att skissera funktionerna och vad du tänker uppnå med projektet. Med hänvisning till designdokumentet under utvecklingsprocessen kommer att hjälpa till att hålla ditt projekt på spår och fokuserat. Ser den här guiden För detaljer om att skriva dokumentet.
3. Skapa en prototyp. Detta är ett grundläggande program som visar på den funktionalitet som du syftar till att uppnå. En prototyp är ett snabbt program, och bör vara iterated till tills du hittar en design som fungerar. Om du till exempel skapar ett kalenderprogram, skulle din prototyp vara en grundläggande kalender (med rätt datum!) och ett sätt att lägga till evenemang till det.
Din prototyp kommer att förändras ofta under utvecklingscykeln när du kommer med nya sätt att ta itu med problem eller tänka på en idé senare som du vill införliva.Prototypen behöver inte vara söt. Faktum är att konst och design ska vara en av de sista sakerna du fokuserar på. Använda kalenderexemplet igen, din prototyp borde sannolikt bara vara text.4. Testa det om och om igen. Buggar är banan av varje utvecklare. Fel i kod och oväntad användning kan orsaka alla typer av problem i en färdig produkt. När du fortsätter att arbeta på ditt projekt, testa det så mycket som möjligt. Gör allt du kan för att bryta det, och försök sedan hålla det från att bryta i framtiden. Ha vänner och familjestet ditt program och rapportera tillbaka resultat. Hur som helst som du kan få feedback kommer att hjälpa din utvecklingsprocess.
Försök med inmatning av udda datum om ditt program handlar om datum. Riktigt gamla datum eller långt framtida datum kan orsaka udda reaktioner med programmet.Ange fel typ av variabler. Till exempel, om du har en form som frågar om användarens ålder, skriv in ett ord istället och se vad som händer med programmet.Om ditt program har ett grafiskt gränssnitt, klicka på allt. Vad händer när du går tillbaka till en tidigare skärm, eller klicka på knappar i fel ordning?5. Polska dina projekt. Medan det är bra att göra ett grovt projekt för prototyp- och utvecklingsfasen, om du vill att andra ska använda det kommer du att behöva spendera lite tid på polska. Det innebär att du att menyerna flyter logiskt, användargränssnittet (UI) är rent och lätt att använda, det finns inga glänsande eller showstopping buggar, och att den är belagd i en snygg finish.
UI-design och funktionalitet kan vara mycket svårt och komplex. Människor gör hela karriären ur utformningen av UIs. Se bara till att ditt personliga projekt är lätt att använda och lätt på ögonen. En professionell UI kanske inte är möjlig utan budget och ett lag.Om du har budgeten finns det många frilansgrafikdesigners som potentiellt kan utforma en UI på kontraktet för dig. Om du har ett solidt projekt som du hoppas blir nästa stora sak, hitta en bra UI-designer och göra dem en del av ditt lag.6. Sätt dina projekt på GitHub. GitHub är ett open source community som låter dig dela din kod med andra. Detta gör det möjligt för dig att få insikt i din egen kod och fördelar andra som letar efter lösningar som du kanske har kommit med. GitHub är en bra inlärningsresurs samt ett bra sätt att bygga din portfölj.
7. Distribuera din programvara. När du har en färdig produkt kan du välja om du vill distribuera det eller inte. Det finns en mängd olika sätt att göra det här idag beroende på vilken typ av programvara du skapade.
Ett av de vanligaste sätten för små lag eller oberoende utvecklare att distribuera sin programvara är via en personlig webbplats. Se till att alla dina funktioner är väl dokumenterade och inkluderar några skärmdumpar och handledning. Om du säljer din programvara, se till att du har ett bra digitalt betalningssystem och en server för att distribuera programvaran från.Om du utvecklar programvara för en viss enhet eller operativsystem, finns det flera digitala butiker som du kanske kan använda. Om du till exempel gör program för Android-enheter kan du till exempel sälja din app via Google Play Store, Amazon App Store, eller din egen personliga hemsida.Del 3 av 3:
Få jobb
1.
Ta kontraktsjobb. Även om dessa inte kommer att betala också och är mindre tillförlitliga än heltidsanställning, kan du betydligt bulk upp din portfölj genom att ta en rad kontraktsjobb. Kontrollera webbplatser som ELANCE och ODESK (även känt som "Upparbeta" nu) för att hitta arbete. Medan det kan vara svårt att bli övervägt för ett kontrakt, när du får din första blir det mycket lättare.
- Hacker News är en bra resurs för kontrakt och frilansjobb. Kontrollera "Fråga" sektion.
- Medan det kan vara frestande att bjuda lågt för att säkra ett kontraktsjobb, sälj inte dina tjänster korta. Inte bara kommer du att sluta arbeta mer för mindre än du förtjänar, du kommer också att ilska andra i ditt område, vilket leder till mindre nätverk.
- Bra arbete på ett kontraktsjobb kan ibland leda till en heltidsposition. Lägg alltid din bästa fot framåt!
2
Nätverk så mycket som möjligt. Delta som många konventioner och hack-a-thons som möjligt. Inte bara kommer detta att avslöja dig för mer kod och problem att lösa, det hjälper dig också att träffa andra människor i branschen. Trots vad du kanske tänker på programmerare som arbetar ensam i sin källare är majoriteten av heltidsutvecklare en del av ett lag och nätverk är lika viktigt som något annat fält.
3. Ansök om heltidspositioner. När du har några kontraktsjobb under ditt bälte kan du börja skicka ditt CV och portfölj ut till större organisationer för heltidsanställning. Förutom monster och faktiskt finns det en mängd olika utvecklarespecifika arbetsplatser som du ska titta på, inklusive Github jobb, stackoverflow jobbbräda, ängllist, crunchboard, hirelite och hacker nyheter.
4. Diversifiera din skicklighet. En bra mjukvaruutvecklare är vanligtvis skicklig på mer än ett språk. Medan mycket av det du lär dig kommer att vara på jobbet, använd en del av din fritid för att utöka din kunskap och lära sig grunderna för ett annat språk eller två. Detta kommer att övergå till nya projekt mycket enklare och kommer att göra dig till en mycket mer önskvärd jobbkandidat.
5. Oroa dig inte för lönen. Inte alla inbyggda programutvecklingsarbete kommer att betala sex siffror. Faktum är att ingen av dem kommer. Det bästa med mjukvaruutveckling är dock att arbetsmarknaden är otroligt stark. Om du känner att du inte tjänar tillräckligt där du är på, är det relativt lätt att flytta till en ny position i ett nytt företag (om du har färdigheter). Behandla dina första jobb som nödvändig erfarenhet istället för att fokusera på din pensionsplan.
Dela på det sociala nätverket: