Vi er nået til den sidste del af vores serie.
Vi har allerede talt om de første skridt i faget.
Om hvad det virkelig er værd at lære. Om Code Review, Clean Code og det daglige arbejde i et team.
Der er ét spørgsmål tilbage: Hvornår holder du egentlig op med at være junior?
Det spørgsmål dukker meget ofte op.
Efter et år? Efter to år? Efter fem? Eller måske når du lærer et nyt framework?
Svaret kan overraske dig. - Der findes ikke et enkelt rigtigt tal.
Vi har set udviklere med ti års erfaring, som stadig havde brug for vejledning i mere komplekse projekter. Vi har også set folk med tre års erfaring, som selvstændigt designede løsninger, støttede yngre kolleger og tog ansvar for hele moduler i systemer.
Det er netop derfor, at år i IT kun er et af brikkerne i puslespillet.
En senior ved ikke alt
Det er nok den største myte i branchen.
Mange juniorer forestiller sig en Senior Developer som en person, der kender svaret på alle spørgsmål. Virkeligheden ser helt anderledes ud.
En god senior siger meget ofte: "Jeg ved det ikke."
Men tilføjer straks: "Vi finder ud af det."
Det er en enorm forskel.
En senior behøver ikke at huske hele dokumentationen. Behøver ikke kende hvert bibliotek. Behøver ikke kunne skrive alt på rygraden.
Til gengæld ved han eller hun:
- hvor man finder information,
- hvordan man verificerer en løsning,
- hvilken risiko en given beslutning indebærer,
- hvornår man skal sige "jeg ved det ikke" i stedet for at gætte.
Det er en af de vigtigste egenskaber ved en moden udvikler.
Programør eller ingeniør?
I starten af karrieren fokuserer de fleste på koden.
Hvordan skriver man en funktion? Hvordan laver man et API? Hvordan kobler man en database sammen?
Med tiden begynder du at se, at koden kun er et værktøj.
Det rigtige mål er at løse et forretningsproblem.
Kunden køber ikke en applikation fordi den er skrevet i et bestemt sprog. Kunden køber en løsning på et problem.
Det er præcis det øjeblik, hvor en programmør begynder at tænke som en ingeniør.
Den bedste funktion er nogle gange den, du ikke skriver
Lyder mærkeligt? Og dog.
Forestil dig, at en kunde beder om at få lavet et nyt modul. Du kan straks begynde at designe en løsning. Men du kan også stille nogle spørgsmål.
Hvad skal funktionaliteten bruges til?
Hvor ofte vil den blive brugt?
Findes der allerede en lignende løsning?
Kan samme effekt opnås på en enklere måde?
Meget ofte viser det sig, at problemet kan løses uden at skrive hundreder af nye linjer kode. Og det er præcis den slags beslutninger, kunden betaler for. Ikke for antallet af commits.
Ansvar begynder, hvor koden slutter
En senior er ikke kun ansvarlig for sin del af projektet. Han ser bredere.
Han overvejer:
- hvordan ændringen vil påvirke andre moduler,
- om løsningen vil være skalerbar,
- om den nye funktionalitet vil være let at vedligeholde,
- hvilken risiko implementeringen medfører,
- om brugerne virkelig vil få gavn af det.
Det er en helt anden måde at tænke på.
En god senior skaber nye seniorer
Det er en af de smukkeste ting i vores branche.
De bedste udviklere, vi har mødt, var aldrig bange for at dele deres viden. Tværtimod.
De blev glade, når nogen i teamet udviklede sig hurtigt. For et stærkt team vinder altid over en enkelt helt.
I over tyve år har vi haft mulighed for at observere, hvordan folk, der startede som praktikanter hos os, blev fuldgyldige teammedlemmer. En af sådanne historier beskrev vi i den første del af denne serie.
I dag leder den person selvstændigt krævende opgaver, designer løsninger og støtter yngre udviklere.
Skete det fra den ene dag til den anden? Selvfølgelig ikke. Det er resultatet af hundreder af timers læring. Treds Code Reviews. Utallige spørgsmål. Begåede fejl. Og en enorm nysgerrighed på verden.
AI vil ikke erstatte en god udvikler
Dette emne måtte med. Ændrer kunstig intelligens vores branche? - Ja. Meget.
Betyder det, at udviklere bliver overflødige? - Tværtimod.
Arbejdsopgaverne ændrer karakter. Vi bruger mindre tid på at skrive gentagende kode.
Mere tid går til:
- analyse af problemer,
- design af arkitektur,
- verificering af løsninger,
- samtaler med kunder,
- at træffe beslutninger.
AI er en fremragende assistent. Men ansvaret for projektet ligger stadig hos mennesket. Og sådan vil det forblive længe endnu.
Hvad du ikke skriver i dit CV
Et CV viser:
- programmeringssprog,
- frameworks,
- certifikater,
- erfaring.
Men det viser ikke de ting, som ofte afgør succes.
Kan du indrømme en fejl?
Kan du bede om hjælp?
Respekterer du andres tid?
Holder du aftaler?
Kan du løse konflikter roligt?
Tager du ansvar for dine beslutninger?
Det er netop disse egenskaber, der gør, at et team vil arbejde sammen med dig.
Hvis vi kun måtte give ét råd...
Efter over tyve år med at udvikle software kunne vi tale om teknologier.
Om arkitektur. Om frameworks. Om kunstig intelligens.
Men hvis vi kun måtte give dig ét råd, ville det lyde sådan: Hold op med aldrig at blive nysgerrig.
Teknologier vil ændre sig. Programmeringssprog vil udvikle sig. Frameworks vil opstå og forsvinde.
Men nysgerrighed, ydmyghed, lysten til at lære, evnen til at stille spørgsmål - det er kompetencer, der altid vil være nødvendige.
Ordlisten
Senior Developer
En erfaren udvikler, som ikke kun skriver kode af høj kvalitet, men også designer løsninger, træffer tekniske beslutninger, støtter teamet og tager ansvar for leverede projekter.
Softwarearkitektur
Måden en applikation og forholdet mellem dens komponenter er designet på, hvilket påvirker udvikling, ydeevne og vedligeholdelsesvenlighed.
Skalerbarhed
Systemets evne til at håndtere et stigende antal brugere, data eller processer uden tab af ydeevne.
Commit
Registrering af ændringer i versionsstyringssystemet Git, som gør det muligt at spore projektets udviklingshistorik.
Mentoring
Processen med at overføre viden og erfaring til mindre erfarne teammedlemmer for at støtte deres faglige udvikling.
Resumé af hele serien
Hvis du har læst alle fire dele, har du måske bemærket, at vi sjældent skrev om konkrete frameworks.
Med vilje.
For teknologier ændrer sig hurtigere end nogensinde før.
Det, der er mest populært i dag, kan om nogle år blot være en kuriositet.
Til gengæld forbliver en god udviklers måde at tænke på uændret; Analyse. Ansvar. Kommunikation. Teamarbejde. Nysgerrighed.
Det er netop disse ting, der gør, at du går fra junior til mid developer, og med tiden til senior.
Hos Web24 har vi i over 20 år udviklet software for kunder fra forskellige brancher. I løbet af den tid har vi overbevist os om én ting. De bedste udviklere kendes ikke på hvor mange programmeringssprog de kender. De kendes på, hvordan de løser problemer, samarbejder med mennesker og hvor meget de går op i kvaliteten af det, de skaber.
Hvis du lige er begyndt din vej i IT, ønsker vi dig, at du aldrig mister din nysgerrighed.
For det er netop den, som enhver god karriere begynder med.
