Crossing The Bridge: Sådan overføres til en karriere inden for softwareudvikling

Foto af Mark Basarab på Unsplash

Jeg har lært at kode i nogen tid, mest som en hobby om aftenen og weekenderne. Det gik fra et par timer om måneden til at erstatte min Sudoku-afhængighed.

En lørdag sad jeg på vores kontor (jeg plejede at gå ind og gøre brug af de behagelige sofaer, ubegrænset te og stabil wifi). Jeg havde et af de øjeblikke, hvor du ser på dig selv udefra og indså, at i stedet for at gøre normale ting på en varm sommer eftermiddag, var jeg alene, på et kontor, limet til min computer.

Det var dengang, jeg besluttede at gøre spranget for at blive en fuldtidsudvikler. Jeg havde aldrig haft noget, jeg nød og kunne markedsføre som en færdighed på arbejdspladsen.

Efter et par måneders jonglering af læring og arbejde forlod jeg mit job ved en software-opstart for at fokusere på læring på fuld tid. Folk omkring mig sagde, hvor modig jeg var for at forfølge min drøm, men udseendet på deres ansigter sagde tydeligt, at jeg var skør over at give alt op for en ukendt. Jeg ville lyve, hvis jeg sagde, at jeg ikke var ** meget ** bange.

Plussiden er, at det at fjerne din faldskærm pludselig fokuserer dig. Det er ikke et tilfælde af "dette kan fungere," det er et tilfælde af "dette skal fungere." Der var ingen plan B.

Det tog lidt over tre måneder at acceptere min første rolle som softwareudvikler.

Dette er nogle af de ting, jeg ville ønske jeg havde kendt før, og forhåbentlig vil hjælpe alle, der ønsker at gå i gang med en lignende rejse.

Ved din hvorfor

Hvorfor vil du have dette? Dette skal være det vigtigste spørgsmål. Ja, alle ved om enhjørninger, børsnoteringer, ubegrænset øl og en række frynsegoder. Dette er ikke nok til at holde dig i gang, når du har stirret på den samme fejl i de sidste 15 minutter eller ramt en vejblokering og skal finde en anden løsning.

Hvad er det ultimative slutspil? Ønsker du til sidst at drive dit eget firma? Eller freelance? Eller gå op i et udviklingshold? Vil du have flere katte online? (Hvilket er helt fint). Eller vil du ændre verden? Uanset hvad din motivation er, skal du sørge for, at du virkelig forstår det og hold fast i det for det kære liv.

Gør arbejdet

Det fantastiske ved software er, at det for det meste er meritokratisk. Det betyder mindre og mindre, hvad dine akademiske kvalifikationer er, (fornuftige) arbejdsgivere er kun interesserede, hvis du har de rette færdigheder eller evnen til at lære disse færdigheder på jobbet. Brug dette til din fordel.

Billede fra UKBlackTech

Uanset om du vælger front-end eller back-end, skal du tage dig tid til virkelig at forstå kernekoncepterne. Fokuser på at lære vaniljesproget i stedet for at stole på rammer. En solid forståelse af noget som JavaScript vil udstyre dig til at lære enhver JavaScript-ramme, men det modsatte er ikke sandt. Du bliver fanget med dine bukser nede, når det er tid til fejlsøgning, og du ved ikke, om det er rammen eller din kode, der forårsager problemet.

Vis dit arbejde

Du skal have arbejde for at vise. Hvis du kommer fra en computervidenskabelig baggrund, har du en kvalifikation til at vise, hvad du har gjort. Hvis du ikke har nogen formelle kvalifikationer, er dette endnu vigtigere. Bare dukker op for at bede om et job vil ikke skære ned på det. Du skal være i stand til at vise den kode, du har skrevet, (ideelt set noget mere omfattende end en tutorial på en blog).

Vis, hvordan du har taklet reelle problemer, og den sti, du tog for at komme til din slutløsning. Du behøver ikke at have snesevis af projekter - kvalitet er vigtigere end kvantitet. Det første interview, jeg landede, var udelukkende baseret på, hvad de havde set fra to projekter på min GIT. Det var en dampende bunke, men jeg kunne forklare hver linje, hvad den gjorde, og hvorfor jeg tog visse beslutninger.

Vær ikke bange for interviews

Billede fra UKBlackTech
Den eneste måde at blive bedre på interviews er at lave interviews.

Dette er et råd, jeg fik fra en udviklervenn af mig i begyndelsen. Det lyder som en kylling-og-æg-situation, men du kan starte med at øve ved enhver lejlighed.

Der er tjenester som interviewing.io, som hjælper dig med at træne. Tal med folk, du kender, og find almindelige interviewspørgsmål til juniorudviklere online. Der er endda YouTube-videoer, som kan hjælpe.

Det forventes ikke, at du foretager en whiteboard-test som junior, men du bliver bedt om at forklare koncepter eller adressere forskellige scenarier med dine egne ord. De prøver ikke at få dig ud, de giver dig muligheden for at skinne og vise, hvad du ved. Hvis de spørger dig om noget, du ikke ved, skal du notere det. (Ja, jeg havde faktisk en notesblok / min bærbare computer med mig under interviews for at notere tingene).

I slutningen af ​​interviewet, spørg dem om nogle af de ting, du ikke var helt sikker på. Dette viser, at du er ivrig efter at tackle huller i din viden og hjælpe din egen forståelse. De bedste interviews, jeg er kommet væk fra, har altid forladt mig at vide mere, end jeg gik ind med.

Det er en tovejsgade

Du skal vurdere dem, da de vurderer dig. Hvis du skulle arbejde der, ville du være lykkelig og vellykket? Hvor tydeligt skrevet er jobspecifikationen? Besvares dine e-mails rettidigt? Er de glade for at besvare spørgsmål, eller er de defensive over for visse emner? Synes folk på kontoret glade for at være der, eller har de et øje på uret?

Målet er ikke blot at få et job, det er at få et job, som du vil elske, hvilket giver dig mulighed for at vokse og blive bedre til at skrive software. Jeg endte med at afvise et tilbud om at gå videre til anden fase af en samtaleproces, fordi jeg ikke troede, de kunne støtte mig som junior. Tre år +, og det ville sandsynligvis have været fint, men jeg fik ikke indtryk af, at de havde tid eller ressourcer til at støtte min læring som en ny udvikler. Dette er den type ting, du skal tage i betragtning.

Bed om feedback

Bed om feedback ved enhver lejlighed. Det er usandsynligt, at du får feedback bare for at indsende en ansøgning, men du burde have som mål at få feedback på hvert interview. Dette vil hjælpe med at tilslutte dine svagheder. Skriv en e-mail med spørgsmålet om dem, hvis de ikke tilbyder noget. Når du endelig lander din første rolle, har du brug for konstant feedback for at forbedre dig, så dette er en god vane at komme ind på i starten.

Vi ser ud til at være genetisk programmeret til at være skadelig for enhver form for social interaktion, der involverer potentiel akavhed / negativitet. Denne form for tænkning dræber din karriere og din vækst. Du ville ikke forvente at slå sammen uden en kodegennemgang, så hvordan kan du forvente, at du kommer ud i den anden ende uden at gennemgå en lignende gennemgangs- og feedbackproces?

Lær hvordan du arbejder med en eksisterende codebase.

Denne er særlig smertefuld at tale om, men jeg gør det i ånden med at hjælpe andre.

Et af mine interviews var med et fantastisk agentur, der gjorde arbejde for mærker, jeg kun kunne drømme om. De nævnte, at de arbejder meget med SASS, så jeg brugte timer på at læse op og øve.

Da jeg kom til interviewet, var kodeudfordringen temmelig enkel: Opret en funktion inden for en eksisterende kodebase. Dette lyder måske vanvittigt, men redigeringskode, som andre har oprettet, kræver et andet kvalifikationssæt til redigering af din egen kode. Det er som at åbne en bog, der er halvt skrevet og forsøge at afslutte historien selv.

Jeg var klar over, at første gang jeg nogensinde havde arbejdet med kode, som en anden havde skrevet, var der og derefter ved interviewet, og det fangede mig uden for at skifte gear. Det er som det mareridt, du har, når du skal tage en engelsk eksamen og indse, at du har studeret den forkerte bog og vågnet op i en sved. Men i stedet for at vågne op, har du en time, hvor du skal indtaste noget. Hvad som helst. Der er bogstaveligt talt ingen vej ud, ikke engang en brandflugt eller et dårligt konstrueret vindue.

Prøv at øve dig på at arbejde med eksisterende kode så meget som muligt. Gør hackathons, deltage i open source-projekter eller endda gå sammen med andre programmerere, du kender, og find noget lille at arbejde på. Ironien er, at efter at jeg var kommet tilbage og tørret mine øjne, var det ret let at oprette fra bunden, jeg kunne bare ikke få hovedet rundt omkring noget, der allerede var startet.

Det er ok at ikke vide det

Vær ikke bange for det, du ikke ved. En interviewer bad mig om at vurdere mig selv på en skala fra 1 til 10 på min frontend-viden. Jeg var ærlig og sagde, at i begyndelsen af ​​processen ville jeg sandsynligvis have sagt om 4. Men efter alt det arbejde, jeg havde udført, ville jeg sandsynligvis sætte det til 1.

Dette var ikke til at afskrive, det var fordi hvert dokument eller artikel, jeg læste, introducerede mig for ca. 10 nye koncepter. Så jo mere jeg lærte, jo mere indså jeg, hvor meget mere der var at lære. Som udvikler skal du stille din ro med den idé, at du aldrig ved alt. Der fødes nye sprog, rammer og teknologi hver dag. Du kunne læse 24/7 og stadig ikke ridse overfladen.

Har den rigtige holdning

I sidste ende var den feedback, jeg fik fra det job, jeg accepterede, at jeg var den mindst kvalificerede af alle kandidater (for sandt, for da jeg havde nøjagtigt 0 års erfaring). Men jeg kompenserede mere end det med entusiasme, og jeg virkede som den type person, de faktisk ville ønske at arbejde med.

Der er lidt, du kan gøre ved din oplevelse eller kvalifikationer i starten, men hvad du kan gøre er at give dig selv den bedst mulige chance for at sætte din bedste fod frem. Tal om ting, du har gjort, og vis din lidenskab for rollen. Dette kan omfatte artikler, du har skrevet, begivenheder, du har været i, bøger, du har læst, eller endda podcasts, du elsker, der er relateret til feltet.

Glem fordelene, køb dine egne donuts

En masse softwareroller vil tilbyde adskillige frynsegoder for at lokke udviklere. Jeg vil ikke foregive, at de ikke er relevante. Men på dette stadie i din karriere burde de være det. Det vigtigste skal være det egentlige team, du arbejder med, og mulighederne for træning og udvikling. Gør de kodeparring? Peer anmeldelser? Er der afsat tid til personlig udvikling?

I de kommende år, når det er tid til at tage din næste træk, skal du være i stand til at demonstrere, hvad du ved, nu når du er en udvikler med X års erfaring. De giver ikke en klud, hvad du blev betalt i din tidligere rolle, eller hvor mange frynsegoder, du spiste. Men de vil blive imponeret, hvis du kan vise alle de nye teknologier, du har lært, hvordan du arbejdede for at løse forskellige problemer, og hvad du har gjort for at hjælpe din læring i din første rolle.

Ved at fokusere på frynsegoder, når det er tid til at acceptere et tilbud, sælger du dig selv kort og fungerer måske lige så godt som magiske bønner.

Lav dit netværk.

Billede fra UKBlackTech

Jeg var heldig at komme fra en software-opstart og at leve og arbejde omkring London-software-huben. Det er fyldt med møder og grupper. Codebar er sandsynligvis den bedste ting, jeg har været en del af. De parrer dig ikke kun med udviklere for at lære, men det er gratis, de har fantastiske samtaler, du får adgang til industriens insidere, og det er et helt ikke-dømmende miljø, hvor du kan spørge hvad som helst.

Hvis du bor et lignende sted, skal du udnytte den fulde fordel og komme derude og møde mennesker. Ja for netværkssamarbejdet, men endnu vigtigere, fordi det, du opsuge i disse omgivelser, vil betale udbytte flere gange. Ansættelse af ledere elsker også at være involveret i samfundet, og din næste arbejdsgiver kan muligvis præsentere ved det næste møde, du deltager i.

Vi har brug for dig så meget, som du ønsker det

Imposter-syndromet er veldokumenteret og bestemt noget, jeg led af i de øjeblikke af selvtvivel. Der er tusinder af mennesker, der studerer fra CS-grader og bootcamps - var jeg urealistisk til og med at prøve dette på en karriere kun ved, hvad jeg lærte mig selv?

Sandheden er, at der ikke er næsten nok udviklere til at imødekomme efterspørgslen efter åbne job. Så længe du har kernefærdigheder, den rigtige holdning og en vilje til at lære, har du et skud. Arbejdsgivere har ikke råd til at ansætte baseret på kvalifikationer alene.

Denne næste del er lidt generende - mangfoldighedsproblemet. Enhver, der ikke bor under en klippe, ved, at tech har et enormt mangfoldighedsproblem. Da jeg begyndte at ansøge, kunne jeg ikke lade være med at lægge mærke til, at hvert hold, jeg søgte op på LinkedIn, var mand.

Sandheden er, at jeg ikke engang følte, at jeg ikke var velkommen eller ikke ville blive respekteret som et lige medlem af holdet. Hver interaktion, jeg havde, følte jeg mig som om hvert af disse hold rakte en hånd ud og ville have mig til at få succes. Jeg tror nu virkelig, at de fleste virksomheder ønsker at øge mangfoldigheden i deres teams og er aktive i at gøre det.

Hvis du ikke passer til den stereotype form for, hvordan en udvikler skal se ud - så hvad? Teknologi ønsker og har brug for dig. Det er et stort bord, og der er plads nok til alle.

Hvis du har haft glæde af dette indlæg, skal du klappe for at vise din påskønnelse.

Du er også velkommen til at give en kommentar nedenfor.

Find mig på twitter: Marilyn Magnusen