At blive softwareudvikler er en lukrativ karriereplan. Det er mennesker med efterspurgte, værdifulde færdigheder. Men hvad gør de helt præcist?? Da du sandsynligvis ikke vil være i stand til at slå dem på deres eget græs, må du hellere slutte dig til dem. Er du tilstrækkelig teknisk funderet og forstår du kunden tilstrækkeligt til at kunne lave et godt produkt?? Med lidt brainstorming – og selvfølgelig ved at læse resten af denne artikel – vil du helt sikkert lykkes!
Trin
Del 1 af 3: At lære fagets tricks

1. Bestem, hvilken type softwareudvikling, der interesserer dig. Der er to lejre på dette område: Applikationsudvikling og Systemudvikling. Applikationsudvikling fokuserer på at skabe programmer, der opfylder et særligt behov hos kunder. Dette spænder fra mobiltelefonapps og videospil til virksomhedens regnskabssoftware. Systemudvikling fokuserer på at skabe og vedligeholde operativsystemer ved hjælp af livscyklusudvikling. Systemudvikling har også ofte at gøre med netværksprocesser og datasikkerhed.
2. Lær dig selv et programmeringssprog. Alle kan komme med en idé, men en udvikler er i stand til at omsætte disse ideer til noget konkret. Selvom du kun ønsker at arbejde med designaspekterne af software, bør du stadig være lidt fortrolig med kodning og være i stand til at skabe simple prototyper. Der er en enorm mængde programmeringssprog, som du selv kan lære. Nogle af de mere nyttige og vigtige sprog er følgende:
C – C er et af de ældre sprog som stadig bruges i dag og er roden til de fleste af de andre sprog på denne liste. C bruges til at lave programmer på lavt niveau og er tæt på computerens hardware.C++ – Dette er den objektorienterede version af C og det mest populære programmeringssprog i verden. Programmer som Chrome, Firefox, Photoshop og mange andre er alle programmeret i C++. Det er også et meget populært sprog til at skabe videospil. C++ udviklere er altid i høj efterspørgsel.Java – Dette er en udvikling af C++ og er meget udbredt på grund af dens høje grad af bærbarhed. Næsten alle systemer kan køre en Java Virtual Machine og derfor også Java-software. Det er meget udbredt til videospil og forretningssoftware og ses af mange som et væsentligt sprog.C# – C# er et programmeringssprog til Windows-miljøet og en del af .NET framework fra Microsoft. Det minder meget om Java og C++, og kender du Java kan du nemt skifte til C#. Dette sprog er specielt beregnet til udviklere af Windows-software eller Windows Phone-software.Objective-C – Dette er endnu en fætter til C og designet specielt til Apple-systemer. Det er uhyre populært til at lave iPhone- og iPad-apps. Det er et fantastisk sprog at lære som freelancer.Python – Dette er et meget nemt sprog at lære, et af de nemmeste. Python kan også bruges til webudvikling.PHP – Dette er ikke softwareudvikling i sin kerne, men PHP er afgørende, hvis du vil gøre mere med webudvikling. Der er altid mange værker for PHP-programmører, men dette er ikke så lukrativt som softwareudvikling.3. Ressourcer, der kan hjælpe dig med at lære et sprog. De fleste boghandlere og biblioteker har hele sektioner helliget programmeringssprog, og du kan selvfølgelig også finde materiale gennem Amazon og andre e-handlere. En velskrevet bog om programmering vil sandsynligvis være den bedste ressource, du kan have, og kan bruges som en hurtig reference, mens du arbejder med projekter.
Udover bøger har du også internettet, en endeløs skatkammer af manualer og guider. Søg efter materiale om det sprog du vælger på websteder som CodeAcademy, Code.org, Bento, Udacity, Udemy, Khan Academy, W3Schools.
4. Se om du kan få undervisning et sted. Du behøver ikke en gennemført, videregående uddannelse for at kunne opnå noget inden for softwareudvikling, men det kan ikke skade at tage et par kurser gennem et folkeuniversitet eller træningscenter. Dette giver fordelen ved personlig vejledning, og du bliver udfordret til at løse problemer, som du måske ikke nemt kan løse på egen hånd.
Lektioner koster penge, så sørg for at vælge kvalitet, så du lærer det, du gerne vil vide.Mens mange udviklere har været i stand til at komme ind i branchen alene baseret på deres færdigheder, kan du adskille dig selv fra mængden ved at kunne demonstrere en bachelorgrad i datalogi. En sådan grad vil give dig en bredere videnbase og adgang til yderligere fag som matematik og logik.5. Arbejde med hobbyprojekter. Før du forsøger at få et job som programmør, er det klogt at starte et par projekter af dine egne. Udfordr dig selv til at løse problemer ved at bruge et programmeringssprog efter eget valg. Dette vil ikke kun hjælpe med at udvikle dine programmeringsevner, det vil se godt ud på dit CV.
Eksempel: I stedet for at bruge dit operativsystems kalenderprogram til at organisere dit arbejde, kan du prøve at lave dit eget!Hvis du er interesseret i at udvikle videospil, så arbejd på simple spil, der ikke er afhængige for meget af grafik eller komplekse bevægelser. Fokuser i stedet på at lave et sjovt og unikt spil. En samling af små spil, som du selv har lavet, vil se godt ud i din portefølje.EKSPERDTIP
Gene Linetsky, MS
Startup grundlægger og teknisk direktør Gene Linetsky er en startup grundlægger og softwareudvikler i San Francisco Bay Area. Han har arbejdet i teknologibranchen i over 30 år og er teknisk direktør hos Poynt, en teknologivirksomhed, der skaber smarte transaktionssystemer til virksomheder.
Gene Linetsky, MS
Stifter af startups og teknisk direktør
At få praktisk erfaring er den bedste måde at lære på. Gene Linetsky, softwareingeniør og grundlægger af nystartede virksomheder: "Som softwareingeniør er det ikke den vigtigste færdighed at kunne programmere. Det handler om alle de andre ting, der er nødvendige for rent faktisk at gøre din kode til et produkt, som folk rent faktisk bruger. Når du gør det, vil dine kunder normalt give dig feedback og påpege, hvad der ikke virker. Cyklussen med at spore dit eget arbejde er den virkelige læringsproces for en softwareingeniør."
6. Stil spørgsmål. Internettet er en fantastisk måde at forbinde med andre udviklere. Hvis du går i stå i et projekt, så spørg om hjælp på websteder som StackOverflow. Sørg for, at dit spørgsmål stilles intelligent, og at du kan angive, at du allerede har prøvet flere løsninger.
7. Øv hver dag. Arbejd på dine hobbyprojekter hver dag, selvom det kun er en time. Dette hjælper med at holde dig frisk og konstant lære nye teknikker. Mange udviklere har med succes lært et sprog ved at sørge for, at de arbejder med det hver dag.
Sæt en bestemt tid af hver dag til at arbejde med kodning, eller sæt dig selv en deadline for, at du vil være færdig med det. Prøv at arbejde på dine projekter hver arbejdsdag, så du kan slappe af i weekenden.
Del 2 af 3: Udvikling af et program

1.
brainstorm. Et godt program vil udføre opgaver, der gør brugerens liv lidt lettere. Tag den software, der i øjeblikket er tilgængelig til denne opgave, som et eksempel, og se, om du kan forbedre den. Et vellykket program er noget, der gavner folk meget.
- Se hvilke daglige opgaver du udfører med din computer. Er der en måde du kan automatisere nogle af disse opgaver gennem et program?
- Skriv hver idé ned. Selvom det lyder lidt fjollet eller mærkeligt på det tidspunkt, kan det nogle gange udløse noget nyttigt eller endda genialt.
- Studer andre programmer. Hvilken funktion har de? Hvordan kan du gøre dem bedre? Hvad mangler der i softwaren? Ved at besvare disse spørgsmål kan du komme med ideer til at videreudvikle dig selv.
2. Opret et designdokument. Dette dokument giver et kort overblik over alle funktioner og hvad du ønsker at opnå med projektet. Ved at henvise til dette dokument under udviklingsprocessen kan du holde øje med, om du følger tidsplanen og holde dig mere fokuseret.
3. Lav en prototype. Dette er et simpelt program, hvor du indbygger al den funktionalitet, du ønsker at opnå. En prototype er et hurtigt program og noget man kan bygge videre på, indtil man finder et design der virker. Hvis du for eksempel vil oprette en kalender, vil din prototype bestå af en simpel kalender (med de korrekte datoer!) og en måde at indsætte aftaler på.
Denne prototype vil ændre sig flere gange i løbet af udviklingscyklussen, efterhånden som du finder på nye måder at løse problemer på eller får nye ideer til at tage med dig.Prototypen behøver ikke at se smuk ud. Faktisk burde grafisk design være det sidste du tænker på. For at citere kalendereksemplet igen, vil din prototype for det meste være tekst.4. Bliv ved med at teste konstant. Bugs er enhver udviklers bane. Fejl i koden og uforudset brug kan forårsage alle mulige problemer i det endelige produkt. Mens du fortsætter dit arbejde med projektet, bliver du nødt til at blive ved med at teste. Gør alt hvad du kan for at få dit program til at gå ned og forårsage fejl, og få derefter rettet disse fejl. Lad venner og familie teste dit program og angiv, hvor det går galt. Enhver feedback, der kan hjælpe dig med at forbedre udviklingsprocessen, er velkommen.
Prøv på forhånd mærkelige datoer, hvis dit program har brug for datoer som input. Virkelig gamle datoer eller datoer langt ude i fremtiden kan få programmet til at give mærkelige resultater.Indtast forkerte variable. Hvis du for eksempel har oprettet en formular, der spørger efter brugerens alder, skal du indtaste et ord i den og se, hvad der sker.Hvis dit program har en grafisk grænseflade, skal du klikke på noget, der er løst. Hvad sker der, hvis du går til den forrige skærm eller klikker på knapperne i den forkerte rækkefølge?5. Poler dine projekter. Selvom det er fint at lave et groft udkast til et projekt til prototyping og udvikling, skal du bruge lidt tid på at færdiggøre det, hvis du vil have andre til at bruge det. Det betyder, at man sørger for, at menuerne er logisk opbygget, at brugergrænsefladen (UI) er overskuelig og nem at bruge, at der ikke er flere mærkbare eller irriterende fejl, og at den ser smart ud.
UI design og funktionalitet kan være ekstremt vanskelig og kompleks. Det er et helt separat felt. Under alle omstændigheder skal du sørge for, at dine personlige projekter er nemme at bruge og ser godt ud. En professionel brugergrænseflade er muligvis ikke mulig uden et rimeligt budget og et team.Har du pengene, er der masser af freelance grafiske designere, der kunne designe en UI til dig. Hvis du har et solidt projekt, som du håber bliver et hit, så find en god UI-designer og gør ham/hende til en del af dit team.6. Post dine projekter på GitHub. GitHub er et open source-fællesskab, hvor du kan dele kode med andre. Dette giver dig mulighed for at få mere indsigt i din egen kode og lade andre få glæde af de løsninger, du har fundet på. GitHub er en fantastisk ressource at lære af og en god idé at fylde din portefølje med.
7. Distributionen af din software. Når dit produkt er klar, kan du vælge at distribuere det eller ej. Der er flere måder at gøre dette på, afhængigt af den type software, du har oprettet.
En af de mest almindelige måder for små teams eller uafhængige udviklere at udvikle deres software på er gennem en personlig hjemmeside. Sørg for, at alle funktioner er veldokumenterede og inkluderer skærmbilleder og selvstudier. Hvis du sælger softwaren, skal du sørge for at have et godt digitalt betalingssystem på plads og en server, hvorfra softwaren kan downloades.Hvis din software er udviklet til en bestemt enhed eller et bestemt operativsystem, er der flere digitale butikker, du kan bruge. Hvis du for eksempel laver software til Android-enheder, kan du sælge apps gennem Google Play Butik, Amazon App Store eller dit eget websted.Del 3 af 3: Få et job

1.
Find job som freelancer. Selvom disse ikke betaler så godt som et almindeligt job, kan du helt sikkert arbejde på at proppe din portefølje ved at udføre freelancejob. Tjek websteder som Elance og ODesk for at finde arbejde. Selvom det kan være svært at få en første opgave, bliver det meget nemmere, når det først er færdigt.
- Hacker News er en fantastisk ressource til at finde freelancejob. Se sektionen `Spørg`.
- Selvom det kan være fristende at satse lavt for at få en opgave, er det uklogt at tilbyde dine færdigheder for billigt. Ikke alene vil du så arbejde for mindre, end du er værd, du vil også irritere andre inden for dit felt, hvilket ikke er godt for dit netværk.
- Nogle gange kan godt bestillingsarbejde føre til en fast ansættelse. Sæt altid din bedste fod frem!

2.
Netværk så meget som muligt. Gå til så mange konventioner og hack-a-thons som muligt. Ikke alene vil du se mere kode og problemer, du skal løse, du vil også møde andre mennesker, der arbejder i denne branche. På trods af hvad du måske siger om programmører (der arbejder alene i en mørk kælder), er størstedelen af fuldtidsudviklere en del af et team, og netværk er lige så vigtigt for dem, som det er på ethvert andet område.
3. Søg faste stillinger. Når du har gennemført en række freelance-opgaver, kan du begynde at sende dit CV og portfolio til større organisationer, der leder efter et fast job. Ud over Monster og Indeed er der flere udviklerfokuserede jobsider, herunder GitHub Jobs, StackOverflow Job Board, AngelList, CrunchBoard, Hirelite og Hacker News.
4. Lær flere færdigheder. En god softwareudvikler er normalt dygtig til flere programmeringssprog. Selvom du vil lære meget ved at arbejde, er det godt at bruge noget af din tid på at studere og mestre det grundlæggende i 1 eller 2 flere programmeringssprog. Dette vil gøre overgangen til nye projekter meget lettere og vil gøre dig til en bedre kandidat til visse stillinger.
5. Du skal ikke bekymre dig for meget om belønningen. Ikke alle entry-level softwareudviklerstillinger vil betale dig i 6-cifrede beløb. Faktisk vil ingen af disse job give dig det. Den gode nyhed om softwareudvikling er dog, at det sætter dig i en meget stærk position på arbejdsmarkedet. Hvis du føler, at du ikke tjener nok, hvor du er nu, er det nemt at skifte job, hvis du har de rette kompetencer. Behandl dine første par jobs/opgaver som nødvendig erfaring i stedet for at fokusere på din pensionsordning.
Artikler om emnet "Udvikling af software"