Hva er en seniorutvikler?
I Novanet har vi tidligere sagt at en utvikler må ha minimum syv års erfaring for å kunne kalle seg seniorutvikler og bli ansatt hos oss, men dette kravet har vi gått bort fra. Det handler ikke om hvor lenge en utvikler har jobbet, men hva vedkommende har jobbet med. Nå fokuserer vi utelukkende på kompetanse og holdninger når vi rekrutterer. Vi har gjennom 12 års erfaring med rekruttering av utviklere kommet opp med et sett kompetanser og holdninger vi mener er avgjørende for å bli en utvikler med seniorferdigheter. På bakgrunn av våre erfaringer er vi nå i gang med å utarbeide et LevelUp-program for de kandidatene som nesten er gode nok for ansettelse, men trenger litt veiledning for å kunne kalle seg seniorutvikler. Vi leser stadig at det er kritisk mangel på utviklere i Norge, og spesielt mangel på ekspertene. Men hva er egentlig en ekspert- eller seniorutvikler?
Gjennom vårt LevelUp-program ønsker vi å kunne ansette flere av de som har potensiale til å bli dyktige utviklere. I programmet avdekker vi områder hvor kandidaten har mangelfull kompetanse og skreddersyr et LevelUp-program for hver enkelt. Noen av områdene vi dekker i LevelUp-programmet er: LevelUp-programmet
Vi ser at en del av de vi intervjuer har litt for smal kompetanse. Med det mener vi at de har jobbet med den samme tech stacken i prosjektene de har vært del av. Kanskje man har brukt Angular, ASP.NET WebAPI og SQL-database i alle sine prosjekter? Dette er jo godt etablerte teknologier som man kan bygge gode løsninger på, men kanskje ikke riktig valg for alle løsninger. En seniorutvikler bør ha kunnskap og gjerne erfaring med flere alternativer når man skal bygge en løsning. Da er det mer sannsynlig at de rette teknologivalgene tas tidlig i et utviklingsprosjekt. I tillegg vil en seniorutvikler med erfaring i flere forskjellige tech stacker kunne bruke denne kunnskapen til å kjenne igjen feilsituasjoner og utfordringer, og løse disse raskere enn hvis man må starte fra scratch. En seniorutvikler bør også ha evnen å se systemet man lager i en helhet. Man bør ha interesse for å få innsikt i arkitekturen, tilstøtende løsninger og andre deler av utviklingsprosjektet. Dette kan f.eks. være kjennskap til Devops, sikkerhet, smidig metodikk eller et tilstøtende fagsystem. Forståelse for disse omkringliggende delene av et utviklingsprosjekt gjør at en seniorkonsulent kan bidra i prosjektet på disse delene, men også ta bedre valg når det gjelder kode og arkitektur. #1: Kompetansebredde
Som utvikler kan man relativt raskt sette seg inn i et nytt programmeringsspråk eller rammeverk. Med denne kunnskapen kan man sette i gang å utvikle løsninger som fungerer. Men for å bygge sikre, robuste løsninger som enkelt kan vedlikeholdes og videreutvikles, er det viktig at utviklingen baserer seg på best practices. Best practices er regler og anbefalinger som er utarbeidet av bransjens beste basert på erfaringer fra tidligere utviklingsprosjekter. En seniorutvikler må sørge for å holde seg oppdatert på disse og basere de valgene man gjør i kode og arkitektur på disse. Det finnes best practices både for frontend-utvikling, backend-utvikling og for hele arkitekturen til et system. I tillegg til best practices for Devops, sikkerhet og til og med enkelte rammeverk (som f.eks. React). Det er svært krevende å holde seg oppdatert på alle disse. Men det vi ser igjen hos skikkelig gode seniorutviklere er at de virkelig har forstått de mest kjente og grunnleggende prinsippene, som for eksempel SOLID. Kanskje man også har forståelse for design patterns som CQRS eller har prøvd seg på Domain Driven Design. Disse seniorutviklerne tar med seg denne forståelsen og benytter seg av den når de utvikler, uansett om de utvikler med moden teknologi eller noe helt nytt.#2: Best practices
De senere årene har det blitt enda tydeligere at for å utvikle gode IT-systemer, må man også sørge for god kommunikasjon innad i utviklerteamet og ut mot prosjektledelse, brukere og andre stakeholders i prosjektet. Dette har ført til at flere ønsker seg utviklere med gode kommunikasjonsevner. Dette er en egenskap Novanet ser etter hos en seniorutvikler, men alle må ikke nødvendigvis ha et ønske om å lede kommunikasjonen i prosjektet. Noen fungerer best som del av et team, og synes det er greit at andre tar seg av dette. Det som er viktig er at en seniorutvikler kan forklare, argumentere og stå for de valgene han eller hun ønsker å ta når det kommer til kode og arkitektur, slik at prosjektet har et godt beslutningsgrunnlag for å ta de riktige valgene.#3: Kommunikasjon
Er du en utvikler som kjenner at du mangler bredde? Eller det er litt tynt når det gjelder best practices? Å jobbe som utvikler krever kontinuerlig læring og utvikling. I Novanet tilbyr vi utviklere som ønsker å ta steget videre i sin kompetanseutvikling et sterkt fagmiljø med mye erfaring. Hva nå?
Ønsker du å vite mer om LevelUp-programmet?
Ta kontakt med
Lars Alexander Jakobsen
laj@novanet.no
414 71 717