23 alternative karriereveje, som softwareudviklere kan vokse ind i

I løbet af de sidste fem år har jeg holdt snesevis af gæsteforelæsninger på mange af de kodende bootcampe i Chicago.

Et par spørgsmål kommer aldrig op: "Hvilket sprog skal jeg lære næste?", "Hvordan kan jeg forberede mig på tekniske interviews?", "Er du ansat?"

Men et spørgsmål, der kastede mig væk, var: "Hvad hvis jeg ikke vil være softwareudvikler?"

Jeg har tænkt meget på dette for nylig. Efter næsten et årti førende produkt- og ingeniørteam, indså jeg, at jeg var klar til en ny udfordring, så i sommer begyndte jeg freelance teknisk skrivning. Jeg vidste det ikke, da jeg fik min første klient, men jeg indså hurtigt, at teknisk skrivning er en af ​​mange gyldige karriereveje for tidligere softwareingeniører .

Hvad kan softwareudviklere gøre?

Denne erkendelse fik mig til at tænke: "Hvilke andre job kan softwareingeniører ud over at skrive software?"

Listen er overraskende lang.

Dette indlæg vil gennemgå mange af de karriereveje, der er tilgængelige for softwareudviklere, især nylige kandidater til bootcamp. Jeg forklarer, hvad hvert job gør, hvordan du kan få din fod i døren, og de langsigtede udsigter.

Uanset om du leder efter en alternativ karrierevej, fordi du ikke har fundet et job som ingeniør, eller fordi du indså, at softwareudvikling ikke var noget for dig, hjælper denne vejledning dig med at finde en karriere, der passer til din færdighed.

Alternative karriereveje for softwareudviklere

Kundemæssige roller

Mens softwareingeniører drager fordel af at have menneskers færdigheder, ser nogle bootcamp-kandidater, jeg har talt med, ikke frem til at sidde stille og skrive kode hele dagen. Hvis du ønsker en karrierevej, der giver flere muligheder for at interagere med mennesker, kan disse job måske passe dig.

1. Udviklerforhold, talsmand eller evangelisering

Da flere virksomheder stræber efter at opbygge relationer med udviklere, der er deres kunder, brugere eller advokater, vokser området for udviklerrelationer hurtigt.

Professionelle relationer til udviklere (nogle virksomheder kalder dem fortalere for udviklere, udviklerevangelister, community managers eller "DevRels") hjælper med at oprette og opbygge et community omkring deres virksomheds software.

De er ofte involveret i at oprette demo-applikationer, skrive blogindlæg, tale på konferencer og administrere sociale mediekonti for teknologifokuserede virksomheder. Mange af de store teknologivirksomheder (Facebook, Google, Amazon osv.) Ansætter teams af professionelle udviklerrelationer.

Hvis du er interesseret i dette felt, skal du læse om, hvad Mary Thengvall og PJ Hagerty laver. De er to af mine foretrukne influencer i rummet, og de udsender Community Pulse podcast sammen.

2. Udvikler Marketing

Mens der er en vis overlapning med udviklerforhold, er udviklermarkedsføring mere udad fokuseret.

Marketing til udviklere er især vanskelig, fordi vi ikke kan lide at blive solgt, så mange af de mere aggressive marketingtaktikker, der fungerer for andre markeder, er tabu her. Som en person med en teknisk baggrund vil du naturligvis forstå måden, som udviklere tænker på, og du får mere indflydelse, end en traditionel marketingmedarbejder kan.

SlashData udsender en masse godt indhold om Developer Marketing, herunder en bog om emnet i 2018. Hvis du gerne vil komme i gang inden for dette felt, kan du lære online marketing: SEO, sociale medier, content marketing, influencer marketing osv. Du kan øve mange af disse færdigheder på din blog for at demonstrere din viden, inden du ansøger om job.

3. Salgsingeniør

Mange ingeniører er slået fra af ethvert job med "salg" i titlen, men det er bare fordi vi alle har stødt på dårlige sælgere.

Sandheden er, at alle er i salg. Uanset om du "sælger" dig selv som jobkandidat under interviewprocessen eller fortaler for en ny ramme på dit teknikerteam, betyder salg at matche en kundes behov med den rigtige løsning.

Salgsingeniører er unikke, fordi de har en vis teknisk ekspertise. Dette kan være et glimrende match for udviklere, der ikke ønsker at skrive kode hele dagen, men som forstår software engineering.

Den anden gode del ved salg er, at du ikke har brug for nogen specialiserede certificeringer for at gøre det. Hubspot tilbyder en god introduktion til nogle færdigheder og ressourcer, du kan starte med. Da flere virksomheder bygger softwareværktøjer og -tjenester til ingeniører, vil salgsingeniører sandsynligvis blive endnu mere efterspurgte i det kommende årti.

4. Teknisk rekrutterer

Et andet erhverv, der får en dårlig rap blandt softwareingeniører, er teknisk rekruttering.

Jeg har mødt nogle ærlige, ægte tech-rekrutterere (f.eks. Taylor Dorsett og Matt Hoffman fra min hjemby Chicago), men jeg har også mødt nogle forfærdelige, ubesværede rekrutterere, der udelukkende er fokuseret på at kæmpe gennem kandidater for at nå deres kvote .

Den gode nyhed er, at med baggrund i softwareudvikling har du mere empati og troværdighed end mange andre tekniske rekrutterere derude. Ligesom salg kræver dette felt en mere udadvendt, relationsfokuseret personlighed, men det kræver ikke specialiserede certificeringer eller kurser.

Desværre er mange af de nybegyndte job inden for teknisk rekruttering hos virksomheder af lav kvalitet, så sørg for at kontrollere deres omdømme på Glassdoor, før du ansøger.

Produktroller

Hvis du vil forblive i produktteamet, men du ikke er sikker på, at du vil være softwareudvikler, er der mange felter, du kan overgå til. Disse roller arbejder tæt sammen med ingeniører, så din kodningskendskab hjælper dig, men de kræver også anden specialviden.

5. Kvalitetssikring eller testingeniør

Mens der er subtile forskelle mellem kvalitetssikring og testingeniører, beskæftiger begge sig med testsoftware, før den går live.

Hvis du har øje for detaljer, og du kan lide at komme med kreative måder til at automatisere gentagne opgaver, kan dette være en god karrierevej. Det vil sandsynligvis kræve noget kodning samt noget manuelt testarbejde.

Mindre virksomheder har deres softwareingeniører til at teste hinandens kode, så dedikerede test- og QA-roller er mest almindelige i store organisationer. Der er stor forskel mellem, hvordan virksomheder tester, så sørg for at spørge om de værktøjer, de bruger, hvor automatiserede deres tests er, og hvor meget din rolle vil indebære manuelle versus automatiserede tests.

6. Forretningsanalytiker

I den anden ende af produktudviklingslivscyklussen findes forretningsanalytikere. De fungerer typisk som en bro mellem forretnings- og tekniske teams for at sikre, at krav, begrænsninger og tidslinjer forstås. De kan også hoppe ind og hjælpe med test og kvalitetssikring, afhængigt af holdets struktur, så de skal have en bred vifte af produktviden.

Hvis du har en baggrund inden for forretning, produktudvikling eller design og nogle kodningsfærdigheder, kan du kvalificere dig til en forretningsanalytikerrolle på niveau. Hvis ikke, vil jeg anbefale at se på nogle online kurser for at hjælpe dig med at udvikle en grundlæggende forståelse af rollen og hvad den indebærer.

7. Projektleder

Ligesom forretningsanalytikere skal projektledere forstå deres produkts forretningskrav og tekniske begrænsninger.

Hovedforskellen er, at projektledere typisk går dybt ind i et enkelt projekt. De definerer ofte opgaver og ressourcer for de teams, der arbejder på projektet, og sporer projektets fremskridt, når det nærmer sig frigivelse.

Mindre virksomheder kan kombinere forretningsanalytiker, projektledelse, scrum master og produktchefroller på forskellige måder, men større virksomheder kan definere særskilte ansvarsområder.

Fremragende organisationsevner, forståelse af virksomheden og menneskers færdigheder er afgørende for at få succes som projektleder. Denne rolle hænger sammen med din evne til at styre forventninger og motivere mennesker, der måske er mere senior eller erfarne end dig, så du er nødt til at opbygge tillid hurtigt. Denne rolles mangesidede natur gør den til en god pasform for analytiske, tekniske folk, der ikke længere vil skrive kode.

8. Scrum Master

I agile teams hjælper Scrum Master med at sikre, at alle kender og køber sig ind i Scrum-teori, bedste praksis og regler.

Dette ender meget med projektledelse, men med særlig vægt på at betjene de andre teams, der er involveret i opbygningen af ​​produktet. Igen er dette ikke altid sit eget job, men i større organisationer kan det være.

Evnen til at styre forventninger og begrænsninger er afgørende for din succes som Scrum Master. Du bliver også nødt til at kende Agile bedste praksis, så jeg vil anbefale at finde et passende kursus eller en bog om emnet. Agile har set udbredt adoption i organisationer af alle størrelser, så denne karrierevej vil sandsynligvis fortsætte med at vokse i det kommende årti.

9. Produktchef

Jeg brugte meget tid i 2019 på at lære om produktstyring for at forbedre vores produktleveringsproces på The Graide Network.

Produktledere ser holistisk på virksomhedens produkter for at sikre, at de er ønskelige (kunder vil have det), levedygtige (giver forretningsmæssig mening) og gennemførlige (vi kan bygge det). Evnen til at tænke på et højt niveau som dette er sjældent, så hvis du har det og har en teknisk baggrund, kan du klare dig godt som produktchef.

Enhedsproduktledere kan starte med mindre dele af produktet eller som projektledere i nogle organisationer. Dette kan give dig en smag af produktudvikling og hjælpe dig med at opbygge relationer med alle de nødvendige interessenter, før du får tildelt dit eget produkt til at styre.

10. Designer

Hvis du kommer fra et design eller en kunstnerisk baggrund, er det en fantastisk måde at skille sig ud inden for dit felt at blive UI- eller UX-designer med nogle kodende koteletter. Denne kombination af færdigheder giver dig mulighed for at tale mere effektivt med ingeniører og oprette interaktive mockups i HTML / CSS snarere end blot statiske billedfiler.

Hvis du ikke har meget erfaring med design, skal du tage et kursus og begynde at opbygge en portefølje. Mange virksomheder vil ansætte folk uden en grad, hvis de kan fremvise deres viden og færdigheder. Dribbble er den mest almindelige porteføljeplatform, jeg har set, men du kan også bruge dit eget websted.

11. Ingen eller lavkodet udvikler

Eksplosionen af ​​no-code og low-code udviklingsværktøjer i de sidste par år har åbnet muligheder for virksomheder, der hurtigt vil bygge software uden at ansætte et udviklingsteam. Disse værktøjer giver dig mulighed for at oprette en mobil- eller webapp i timevis i stedet for uger, og fordi de bliver bedre hvert år, omfavner flere virksomheder no-code apps.

Makerpad og No Code Jobs er gode steder at begynde at lede efter denne slags job. Fordi dette er et nyt felt, finder du en bred vifte af krævede færdigheder og lønskalaer, men din baggrundsskrivningskode vil utvivlsomt vise sig at være et aktiv.

Supportroller

Mange nye softwareingeniører er ikke opmærksomme på de mange medarbejdere bag kulisserne, der hjælper med at holde servere, websteder og operationer kørende. Nogle af disse roller kræver, at du skriver automatiseringsskripter eller har indgående kendskab til serveradministration, men hvis du leder efter noget uden for den traditionelle produktudviklingscyklus, men med en teknisk bøjning, kan disse være en god pasform.

12. Sysadmin eller DevOps Engineer

Store softwarevirksomheder har hundreder eller tusinder af servere, der skal patches, opgraderes og roteres hele året rundt. Mens den udbredte vedtagelse af cloud computing har ændret dette job fra fysisk at tilslutte servere til at arbejde med software som Terraform og Kubernetes, er der ingen mangel på job inden for dette felt.

Traditionelt har systemadministratorer været ansvarlige for vedligeholdelse og administration af servere efter behov fra ingeniørholdene. Da organisationer er vokset og flyttet til cloudhosting, har mange vedtaget titlen DevOps engineer for at afspejle den øgede automatisering, der bruges i denne proces. I praksis er der meget overlapning mellem disse roller.

Uanset hvad har du brug for en grundlæggende forståelse af operativsystemer, hostingplatforme, automatiseringsværktøjer, bash-scripting og systemarkitektur. Det kan være svært at finde job på entry level inden for dette felt, fordi det kræver en så bred vifte af teknisk viden, men det er en stor rolle at overgå til, hvis du kan lide de problemløsende aspekter ved ingeniørarbejde uden de UI / UX-krav, som mest kundevendte produkter kræver.

13. Databaseadministrator

Nogle virksomheder klarer databaseadministratorer sammen med systemadministratorer, men dette kan være en særskilt rolle.

Databaseadministratorer beskæftiger sig med sikkerhed, klargøring, skalering og optimering af datalagringssystemer på lavt niveau. Du har brug for viden om SQL- og NoSQL-databaser, bedste praksis for sikkerhed og nogle grundlæggende scripting-færdigheder, men du skriver sandsynligvis ikke kode hele dagen. Du får også bekymre dig om virkelig optimeringsproblemer som fiksering af indekser og cacher.

Hvis du er ny inden for softwareudvikling, skal du starte med at lære alt hvad du kan om databaser. Du bliver nødt til at vide, hvilken database der passer til hvilken applikation, og hvordan du optimerer hver af dem i skala, så det kan være svært at øve dette alene. Hvis du vil finde nogle store datasæt til at arbejde med, skal du tjekke Kaggle.

14. Site Reliability Engineer

Site Reliability Engineers er ansvarlige for at reagere på og løse kritiske problemer, der opstår i produktionen. Ofte betyder det, at de roterer gennem en "vagt" -liste, så du kan arbejde nogle mærkelige timer. Opadrettede er, at du bliver rigtig god til at løse en bred vifte af usædvanlige problemer, opbygge automatiserede alarmer og læse serverlogfiler.

På grund af dette job er meget reaktivt, kan det være svært at holde erfarne softwareingeniører i pålidelighedsroller i lang tid. Når det er sagt, kan det være et godt sted at få din fod i døren, hvis du har problemer med at finde din første softwareudviklingsrolle. Jeg har kendt to bootcamp-kandidater, der startede i SRE-roller, inden de gik over til softwareudvikling. Du kan endda opleve, at du kan lide udfordringen og spændingen ved hurtig tempo-løsning.

15. Teknisk support eller kundesupport

Mens nogle ingeniører frygter interaktion med kunder, finder andre det energisk at hjælpe folk med at løse problemer hele dagen. Din erfaringskodning gør dig til en ideel kandidat til kundesupportroller hos softwarevirksomheder, der har brug for nogen med en teknisk baggrund for at besvare spørgsmål og foreslå rettelser.

Ulempen ved at arbejde med support er, at du muligvis bliver nødt til at interagere med mennesker som værst. Utilfredse eller frustrerede brugere er sandsynligvis ikke glade for at tale med teknisk supportteam, så du får brug for en masse tålmodighed og tyk hud for at forblive i denne rolle længe.

Undervisning og skrivning af roller

Jeg har altid elsket at undervise, så jeg befandt mig i at drage mod tekniske roller, der tillod mig at gøre dette. Hvis du kan lide at nedbryde komplekse emner og præsentere dem for andre ingeniører, er der et par karriereveje, du kan følge.

Undervisningsroller for softwareudviklere

16. Teknisk forfatter

Min tredje praktik på college var som teknisk forfatter i et stort selskab. Det var ret tørt at skrive, men jeg nød at lære nye ting hver dag.

Jeg har siden opdaget, at teknisk skrivning ikke kun betyder dokumentation. Du kan forfølge teknisk blogging eller copywriting; du kan oprette intern eller ekstern dokumentation; du kan oprette demo-apps og tutorials. Det er et af de bedst betalte felter for forfattere, så det er værd at overveje.

Hvis du går denne rute, skal du være god til at skrive (selvfølgelig), organisere komplekse ideer og lære nye ting. Jo mere du er i stand til at selvredigere, jo mere værdifuldt bliver dit arbejde, så invester i værktøjer, der hjælper dig med at gøre dig bedre og mere effektiv.

Du kan begynde at skrive til nogle af de betalte community-skriveprogrammer og parlay denne oplevelse i et fuldtidsjob, når du opbygger et netværk og en portefølje.

17. Lærer

Der er flere måder, du kan dreje fra en karriere inden for softwareudvikling til en som lærer. Du kunne få et job som underviser på et kodende bootcamp, du kunne undervise på et college eller en gymnasium, du kunne deltage i en platform som egghead.io, eller du kunne oprette dit eget kursuswebsted med Teachable eller Educative. Den vej du tager afhænger af din baggrund og risikotolerance.

Under alle omstændigheder skal lærere hurtigt lære nye oplysninger og præsentere dem i et fordøjeligt format for deres elever. Du skal møde dit publikum på deres niveau og opbygge tillid til dem for at få succes. Undervisning kan betale mindre end softwareudvikling, men det kan også være en meget tilfredsstillende karrierevej.

18. Træner

Virksomhedsuddannelse er en anden form for undervisning, men også værd at overveje. Trænere kan arbejde som uafhængige konsulenter eller ansatte i store virksomheder, hvor de typisk rejser til deres kunders kontorer for at levere praktisk træning til specialiseret software.

Trænere kan have dyb teknisk viden, men nogle er kun teknologisk kyndige kommunikatorer. Virksomhedstræning betaler normalt bedre end undervisning, men det kan også være mere salgsdrevet. Trænere taler ofte på konferencer, leverer workshops i samfundet eller rejser til mødegrupper mellem træningspasene.

Hvis du kan lide at være på scenen og præsentere tekniske koncepter, kan dette være en ideel karrierevej.

Analytiske roller

Mange roller inden for teknologivirksomheder kræver analytiske færdigheder. Mens mange af disse felter kræver specialuddannelse, er det værd at overveje dem, hvis du laver en karriere, der drejer væk fra software engineering. Du kommer til at arbejde i et andet tempo end de fleste produktfokuserede ingeniører, og som nogle af ovenstående supportroller kan du muligvis interagere med andre dele af virksomheden.

19. Dataforsker eller ingeniør

Disse to roller (nogle virksomheder kombinerer dem) indebærer at bruge store datasæt til at hjælpe virksomheden eller deres kunder med at træffe bedre beslutninger.

Dataingeniører arbejder normalt med dataindtagelses- og organisationsrørledningen, mens dataforskere designer eksperimenterne og algoritmerne, der knuser disse data til nyttige resultater. Datalogi (AI, maskinindlæring osv.) Er et kæmpe felt med rødder inden for matematik, software engineering og statistik.

Der er kurser, bootcamps og universitetsgrader til datalogi og teknik, men du kan muligvis lære nogle af de grundlæggende på egen hånd, hvis du har en stærk matematisk baggrund. Hvis ikke, skal du overveje at børste op med numerisk analyse, matrixalgebra og statistik først.

Fordi disse færdigheder tager lang tid at lære, og dataforskere er i høj efterspørgsel, betaler denne rolle godt og vil sandsynligvis ikke forsvinde når som helst snart.

20. Sikkerhedsanalytiker

Informationssikkerhedsroller flyver normalt under radaren, indtil noget går galt. Mens hver udvikler skal være opmærksom på sikkerhedssårbarheder og risici, hyres sikkerhedsanalytikere eksplicit til at finde, katalogisere og foreslå rettelser til sikkerhedsproblemer.

Nogle arbejder som uafhængige konsulenter, men i større virksomheder kan der være teams internt. Denne rolle er interessant, fordi den kræver en blanding af tekniske, compliance-, forretnings- og risikovurderingsfærdigheder.

Sikkerhedsjob er også blandt de sværeste for teknologiledere at udfylde, så du får jobsikkerhed her. Informationssikkerhed er et bredt felt, så tjek nogle af de mange veje, du kan tage, hvis du er interesseret i at forfølge den.

21. F&U

Arbejde inden for forskning og udvikling kan være en unik oplevelse for en person med software engineering-færdigheder. Store virksomheder som Google og Amazon afsætter en del af deres overskud til eksperimenter med høj risiko og potentielt høj belønning udført af forsknings- og udviklingsteams. Disse tværfaglige teams kan omfatte softwareudviklere, dataforskere, forretningsanalytikere og projektledere.

Det er svært at komme ind i et godt F & U-team. Disse roller har tendens til at være konkurrencedygtige og kræver højt specialiseret viden om emner, som du sandsynligvis ikke lærer i et kodende bootcamp. Når det er sagt, ansætter nogle virksomheder etiske hackere, grundlæggere eller polyglots for at hjælpe med at afrunde holdet og smide kreativ tænkning ind i blandingen.

Uafhængighed og fleksibilitet

Mens vores er et erhverv, der ofte tillader fjernarbejde og undertiden endda sabbatperioder, vil du måske have endnu mere fleksibilitet i dit liv. Hvis du har lyst til at starte din egen virksomhed, kan du muligvis arbejde 4 timer om ugen, bruge seks måneder af året på at rejse eller bruge halvdelen af ​​din tid på at arbejde på open source-projekter. Det er ikke let, men som softwareudvikler har du et stort ben på de fleste mennesker.

22. Freelancer eller konsulent

En måde at fange mere frihed på er at forlade dit 9-5 job og blive freelancer. Som freelancer ansætter du dig selv til en eller flere kunder, der betaler dig pr. Time for at skrive kode til dem. Virksomheder ansætter ofte freelancere til at arbejde på specifikke kortsigtede projekter, rydde op i teknisk gæld eller udfylde huller, når en medarbejder tager en pause.

Konsulenter er avancerede freelancere, der løser specifikke problemer for deres kunder. Mens de måske skriver kode, bringes de ofte ind på grund af deres ekspertise eller unikke baggrund. Grænsen mellem freelancere og konsulenter er temmelig sløret, så bliv ikke fanget for meget i semantikken.

At komme i gang som freelancer eller konsulent er den sværeste del. Hvis du ikke har et stort netværk, vil du sandsynligvis stole på platforme som Upwork eller Toptal for at finde klienter. Disse platforme tager en betydelig nedskæring af din indtjening og tvinger dig til at konkurrere direkte med mange andre freelancere rundt om i verden.

Når du opbygger et omdømme og en klientliste, vil du kunne få mere arbejde fra henvisninger. Henvisninger er gode, fordi klienten kommer til dig baseret på et betroet forhold snarere end internettets anonymitet. Hvis du bliver rigtig god til freelancing eller rådgivning, kan du skubbe din sats højt nok til at du kan tage lidt tid mellem hvert engagement.

23. Startup Grundlægger

Internettet er fyldt med historier om softwareingeniører, der starter virksomheder (1, 2, 3), så du kan få et indtryk af, at det er let eller endda en god idé.

Sandheden er, det afhænger.

Startups tager normalt lang tid at generere indtægter, så du bliver nødt til at leve uden en lønseddel i flere måneder eller år for at få dette til at fungere. Når det er sagt, hvis du vil opbygge din egen softwareforretning, er upside næsten ubegrænset.

Du kan muligvis også starte en virksomhed uden for din normale arbejdstid. Selvom dette er svært at gøre (og kan have juridiske konsekvenser), er det ikke ualmindeligt. Hvis du kan finde en eller to andre grundlæggere til at dele belastningen med, kan det øge din chance for succes.

Afsluttende tanker

Software engineering er et spændende felt, men det er ikke for alle. Selvom du går, går de færdigheder, du har fået, ikke til spilde, hvis du beslutter dig for at gøre noget andet.

Mange kandidater fra bootcamp er bange for at søge job uden for softwareudvikling, men jeg vil opfordre dig til at følge din egen vej. Balancer det praktiske (at tjene penge nok til at leve) med dine interesser, og forhåbentlig kan du finde en karrierevej, hvor arbejde ikke har lyst til "arbejde".

Jeg vil meget gerne høre dine tanker. Hvis du har taget en ukonventionel vej eller foretaget en karriereomskiftning, så lad mig vide, hvad du synes på Twitter.