Å finne en apputvikler som gjør jobben bra er komplekst og tidkrevende. Det krever en del forskning for å finne den ideelle kandidaten for jobben. Med vår ansettelsesguide får du en klar forståelse av verdifull statistikk angående apputvikling, hvordan du raskt finner de riktige kandidatene til jobben og hvilke kostnader du må forvente.
Å investere tid og ressurser for grundigere undersøkelser før du ansetter en utvikler, gir flere fordeler enn å ansette den første og beste. Først og fremst vil du ha gitt ditt beste for å finne den rette personen og den best kvalifiserte blant søkere. For det andre vil ikke bedriften din ha store utgifter og fortsatt ikke motta førsteklasses kvalitetsarbeid fra utviklerne.
Vi dekker aspekter rundt rekrutteringsprosessen. Fra hvordan du starter prosessen og hvilke forberedelser som trengs for rekruttererne til spørsmål som kan være lure å stille. Tross alt er rekrutterere uvurderlige, spesielt når du har behov for å ansette de beste kvalitetsutviklerne.
Om mobilapp-utvikling
Mobilapputvikling er en prosess der en utvikler lager programvare for trådløse og små enheter, som smarttelefoner, nettbrett, håndholdte enheter, EDA (enterprise digital assistants) og PDA (personal digital assistants).
Når mobilapper opprettes, har utvikleren alltid mobilspesifikke funksjoner som kan brukes unikt for den mobile enheten, i tankene. Utvikling av mobilapper er tett koblet opp til tradisjonell programvareutvikling.
Når og hvorfor ansette en mobilapp-utvikler
Er det å ansette en mobilutvikler den rette tilnærmingen for din organisasjon? Her er noen ting du bør vurdere før du ansetter en mobilapplikasjonsutvikler:
- Lavere driftskostnader ettersom inntektene øker
- Behovet for nye, verdifulle, innovative apper for bedriften din
- Engasjementet lønner seg i det lange løp med selvadministrerende utviklere
- Store fordeler i det lange løp med selvadministrerende utviklere
- Fokusert gruppeinnsats fra utviklerne fremskynder resultatet
- Utnytte mest mulig ut av teknologien gjennom personalisering funksjoner
- Løsningene for appforsinkelser og utfordringer skjer umiddelbart
- En innovativ tilnærming til din merkevare/virksomhet
Statistikk rundt mobilapp-utvikling
Lønnen til en mobilapputvikler vil variere i henhold til type ansettelse (heltid, deltid, kontrakt, per prosjekt og lignende), erfaringsnivå og dokumentert merittliste samt om appene er Android eller iOS.
Gjennomsnittslønnen til en mobilapputvikler varierer mellom $84,365 og $101,761 årlig. Den laveste lønnen er $36,000 og den høyeste ligger på $157,000 årlig.
For en Android-apputvikler ligger gjennomsnittslønnen på $125,773 per år, og for iOS-apputviklere er den $129,611 per år.
De mest kjente og brukte teknologiene og rammeverkene for apputvikling er: Kotlin, Swift, React Native, Java, Flutter og Python.
Varianter av mobilapper
Det er 3 varianter av mobilapplikasjoner:
- Native apps – Bygget ved hjelp av IDEer (Integrated Development Environment) og med språk som brukes for Android og iOS som mobile operativsystemer. De tilbyr mange tilpasninger og funksjoner, men kan være kostbare å lage.
- Progressive web apps – Disse appene oppfører seg, og ser ut, som mobilapper. For disse er Facebook React en standardteknologi.
- Hybrid apps – På samme måte som native apper, er disse nettapper laget med teknologier som JavaScript, CSS og HTML. Disse appene er ikke dyre å lage; de er kostnadseffektive, men har få flotte funksjoner.
Intervjue en mobilapp-utvikler
Når du overlater rekrutteringsprosessen til rekrutterere eller spesialister på talentanskaffelse, er det mindre risiko for feilaktig ansettelse av en apputvikler. Disse fagpersonene er bedre forberedt enn andre når det gjelder å finne og ansette passende kandidater.
De vil se nøye etter en dokumentert merittliste og flere års erfaring. I tillegg er de like oppmerksomme på kandidatenes ferdigheter i engelsk, soft skills, tekniske testferdigheter og kommunikativitet.
Teknisk kunnskap hos en mobilapp-utvikler
En god mobilapputvikler vil ha følgende teknisk kunnskap og rikelig erfaring innen:
- Backend computing – Med slik kunnskap kan utvikleren sjekke alt før det frigis for offentlig bruk. I backend computing har vi databaseadministrasjon, maskinvareinteraksjon, bruk av rammeverk og lignende.
- Kunnskap om frontend-utvikling – Oppretting og koding av funksjoner og elementer som brukeren ser.
- Bruk av programmeringsspråk – En utvikler av mobilapper må kunne C++, C# og JavaScript, samt deres tilsvarende rammeverk og biblioteker som Dlib, Boost, APR og andre.
- UI-design – En utvikler som også håndterer designdelen vil kunne lage visuelt imponerende app-grensesnitt for brukerne.
- Cybersikkerhet – Utviklere av mobilapper må kjenne til nettsikkerhet for å gi sikker tilgang til informasjon og en sikker måte å bruke appen på.
- Utvikling på tvers av plattformer – Nye plattformer dukker opp regelmessig, og det å vite hvordan man utvikler apper på tvers av plattformer viser seg å være nyttig for å holde tritt med den progressive og raske utbredelsen av nye plattformer.
- Utmerket kunnskap og erfaring med UX/UI beste praksis
- Agile utvikling – Med Agile-metoden kan utviklere øke, og forbedre, effektiviteten og hastigheten til hele apputviklingsprosessen.
- IoT-ferdigheter – Dette omfatter sikkerhet, enhetstilkobling og tilkobling av appene til nettet.
Ikke-tekniske ferdigheter hos en mobilapp-utvikler
Husk at ikke-tekniske ferdigheter alltid er like viktige som tekniske. Personlighetstrekkene er like verdifulle som den tekniske kunnskapen og kompetansen. Du kan prøve å gjennomføre denne prosessen alene, men det kan være slitsomt, kostbart og tidkrevende i det lange løp.
En talentanskaffelsesspesialist kan ta på seg den store, komplekse prosessen og hjelpe til når du trenger å ansette en mobilapputvikler. Hos Proxify kan vi stolt si at spesialistene våre utfører prosessen upåklagelig til enhver tid. De sjekker nivået på engelskkunnskaper for å se om kandidaten vil ha noen hindringer for å kommunisere med klienter. De fokusere også på oppmerksom lytting, om kandidaten unngår spørsmål eller er uoppmerksom, og på generell interesse fra kandidaten under intervjuprosessen.
Ved online intervju legges det også merke til miljøet (rom, belysning) og utstyret til kandidaten. Kandidaten må være tilstrekkelig forberedt (profesjonelt eller tilstrekkelig antrukket, ha god belysning, kvalitetsmikrofon og kamera, og lignende).
Det grunnleggende og vurderingen av en mobilapp-utvikler
Vi diskuterte med Arthur Pasqualon, en React Native-utvikler, som kunne fortelle at dette er de grunnleggende og tekniske egenskapene en mobilapp-utvikler bør ha:
“Mobilapputvikleren bør mestre kunnskapen om miljøene og vite en del om Hybrid og Native utvikling. Når det gjelder Hybrid (React Native og Flutter) bør de ha god kjennskap til JavaScript og TypeScript, og angående Flutter bør de kunne Dart på et tilfredsstillende nivå. For Native utvikling bør de kunne Swift og C for iOS, deretter Kotlin og Java for Android."
Arthur Pasqualon
Intervjuspørsmål for å vurdere mobilapp-utviklere
Her er noen eksempler på intervjuspørsmål du kan bruke når du vurderer kandidater for mobilapp-utvikler stillingen:
- Fortell oss om noen apper du utvikler/har utviklet
Forventet svar: Her finnes selvsagt ikke et spesifikt svar. Kandidaten skal snakke så presist som mulig om apputviklingen de er mest stolt av.
De bør starte med sine egne apper fordi dette er den beste måten å bekrefte at de lager funksjonelle apper på. De kan vise deg telefonappene sine, og til og med koble deg til Play Store eller App Store. Men prøv å koble konteksten til disse appene med bedriftens behov og merkevaren din, for å se om kandidaten har erfaring innen retningen du har behov for.
- Sammenlign og utdyp om manuelle og automatiserte tester
Forventet svar: Manuelle tester er en vanlig praksis når vi skal gjennomføre mange testrunder for en app. La oss si at vi har en app og må teste en ny funksjon for den. I dette tilfellet er manuell testing det beste valget.
Til sammenligning er en automatisert test en praksis for å utføre mange regresjonstester (testing for å sikre at enhver form for endring ikke endrer eller bryter den generelle funksjonaliteten) for mobilappen. Disse testene er tidsbesparende, og det beste alternativet for presserende situasjoner.
- Hva er hybrid apper? Forklar
Forventet svar: Hybridappene representerer apper laget med en blanding av innebygd kode (Java eller Objective-C) og nett-teknologier (JavaScript, HTML og CSS). Når utviklere lager hybridapper, lager de apper som kan publiseres på nettet, såvel som i begge typer appbutikker (iOS og Android).
- Hva er ANR? Utdyp rundt dette
Forventet svar: ANR betyr ‘app not responding' og kan tidvis skje med Android-apper. Den kommer i form av en dialogboks, som umiddelbart vises etter at appen har forsøkt å laste i 10 sekunder uten hell. Det betyr at appen ikke reagerer, og krasjer. Dette er selvfølgelig ikke en gunstig situasjon, men det kan forhindres ved å redusere antall aktiviteter som den primære UI-tråden utfører.
Grunner for ANR kan være:
- I/O primærtrådoperasjoner
- Langsom kodekjøring (for hovedtråden)
- Deadlock (en tråd låser en ressurs, men den ressursen skal komme i hovedtråden)
- Feil håndtering av låsetilstander
- Langsom hastighet hos mottakere.
- Utdyp om vanlige problemer eller oppståtte situasjoner under testing av mobilapper
Forventet svar: Det mest hyppige problemet er langsom lasting og generelt treg ytelse som påvirker den umiddelbare praktiske funksjonen og driften av en app. I dette tilfellet må vi alltid være oppmerksomme på tiden det tar før appen starter; da fokuserer vi også på lastetiden for forskjellige skjermer.
Alt over 2 sekunder er lang tid for en oppgave i appen. Vi må arbeide med utviklerteamet og jobbe for å forbedre lastehastigheten.
- Utdyp om brukertesting
Forventet svar: I de siste teststadiene av en app gjennomfører vi brukervennlighetstesting. Dette er en prosess der vi samler en liten gruppe sluttbrukere og ber dem teste appen for å gi oss tilbakemelding.
Med dette kan vi raskt finne mulige oversette problemer og sikre oss at appen vil ha enkel tilgang på flere enheter. Denne prosessen gjør appen mer brukbar, praktisk, fleksibel og lett tilgjengelig.
- Kan du kort forklare hva ‘sandboxing’ av apper er?
Forventet svar: Sikkerhetsmekanismen for app-isolering og skjerming, som alt skjer på kjernenivå, kalles sandboxing. Dette beskytter appen mot skadelig programvare, trusler eller inntrenging.
Utviklerne beskytter appene med en "app security policy wrapper", eller deler opp appen i separate, individuelle virtuelle maskiner. Med dette oppnår vi begrensede kodekjørende miljøer, og brukerne vil ikke få tilgang til et spesifikt ubrukelig eller skadelig miljø. Google og Apple bruker denne metoden for sikkerhet i in-app environments.
- Forklar mer om dataene som er lagret i iOS og Android – løsninger og databaser.
Forventet svar: Begrepet for innebygd datalagring på Android-enheter er SharedPreferences. Den brukes for å lagre data i små mengder, for eksempel innstillinger eller brukerpreferanser, og disse dataene holdes alltid i formatet til en XML-fil.
For iOS-enheter er det ganske likt, og det kalles UserDefaults. Tidligere ble disse UserDefaults kalt NSUserDefaults, og formatet er alltid .plist
Vi kan bruke SQLite med begge. I tillegg har vi med Android Room persistence-biblioteket for tilgangen til SQLite-databaser og mindre standardkode. Med iOS har vi Core Data for håndtering av objektgrafer.
- Hva er emulatorer og simulatorer?
Forventet svar: Emulatoren representerer et program som ikke er avhengig av et line handset, men som tester mobilapper effektivt.
Simulatoren representerer et verktøy som brukes til testing av mobilapper, men simulerer et elektronisk nettverk. Dette verktøyet brukes ofte for å hjelpe brukere med hjemmenettverket deres (latching) som ikke er avhengig av roaming-tjenester.
Både emulatorer og simulatorer er kostnadseffektive, så vi trenger ikke å kjøpe disse enhetene for app-testing.
- Utdyp om feilsøking når appen allerede er utgitt og klar for bruk
Forventet svar: Når vi trenger å få informasjonen for appkrasj og rette den, kan vi bruke Firebase Crashlytics, en tredjepartsprogramvare for krasjanalyse beregnet for både Android og iOS. Den gir oss informasjon om enhetens produsent, brukerens språk, operativsystemets versjon med mer. Noen verktøy som ligner på FC inkluderer Appsee, Instabug, Raygun og Sentry (bra når vi har JavaScript-skrevne apper, som React Native). Det er mange verktøy som brukes til feilsøking og rettelser av utgitte apper; dette er bare noen eksempler.
Hva skiller en dyktige mobilapp-utvikler fra en god en?
En dyktig mobilapp-utvikler vil prioritere brukeropplevelsen. De vil også være ivrige etter å lære og forbedre sine ferdigheter, kunnskaper og ekspertise på enhver relevant måte. En proaktiv holdning når langt når det gjelder det profesjonelle aspektet av en dyktig mobilapputvikler.
I tillegg vil de ønske å lage en unik app (i motsetning til andre), eller allerede har gjort det.
Den ideelle kandidaten kan administrere arbeidstiden sin, administrere oppgaver godt og prioritere dem også. De skal kunne engasjere seg i kritisk tenkning og vurdere om arbeidet deres er av god kvalitet (så langt) eller trenger forbedring og ekstra engasjement.
Pasqualon tilføyde her:
“De vil ha en bevisst og sterk portefølje, og vil alltid fokusere på brukeropplevelsen og brukerproblemer om det er noen. Den ideelle kandidaten vil ønske å forbedre kunnskapen sin, det vil si at de aldri slutter å lære nye teknologier og implementere oppgraderinger. Et øye for detaljer er en annen sterk egenskap å se etter. I tillegg vil de ha god kjennskap til hvordan brukere samhandler med ulike grensesnitt, og de vil være godt informert om alt som er å vite om programvare, maskinvare, juridiske aspekter og begrensninger for Android- og iOS-miljøer. Sist, men ikke minst, kan de vise frem en app de har laget som viste seg å være ekstremt nyttig for bedrifter og enkeltbrukere.”
Hvilke egenskaper gjør en mobilapp vellykket?
Det er kjekt å vite hva som er en ideell app, samt å vite hva du skal være oppmerksom på når du vurderer kandidatenes søknad. Hvordan appen «oppfører seg», hvilke utmerkede og praktiske funksjoner den tilbyr, og hvor godt den er optimalisert, vil gi deg et godt inntrykk av kvaliteten på arbeidet til utviklerne.
Noen trekk ved en optimalisert, effektiv og potensielt vellykket mobilapp er:
- Enkelhet for brukeren – God UI og funksjonalitet gjør en app utmerket, men også den lokale navigasjonen må være på topp.
- Høy ytelse – Lastetid og rask ytelse er avgjørende. Lasting på et sekund gjør appkvaliteten nesten utmerket.
- Offline arbeid – Det er ikke noe mer irriterende enn at alle appfunksjoner stanser på grunn av hindringer ved internettforbindelsen. Selv noen få, tilgjengelig ting gjør funksjonaliteten umiddelbart bedre.
- Funker for både iOS og Android – Den ideelle appen kan brukes i begge operativsystemene.
- Personalisering og tilpasning – Brukeren kan bestemme hvordan appen skal tilpasses eller tilpasses der det er aktuelt.
- Regelmessige, raske oppdateringer – Når en app oppdateres regelmessig, er det færre hindringer som gjør at appen fungerer tregere.
- Raskt og enkelt søk – Nettlesingen må være enkel og rask for den beste brukeropplevelsen.
- (Sosial) medieintegrasjon – Den beste måten å beholde brukere på er med integrering av sosiale medier. Denne prosessen er den som gjør det mulig for brukere å bruke ulike interessante funksjoner som er koblet sammen og synkronisert med media og de ulike plattformene/profilene til brukeren. Her har vi alt fra å koble sosiale medieprofiler med appen, dele innhold, legge det til lister og lignende.
- Analytics – Administratoren skal kunne motta informasjon om brukerens oppførsel raskt, så lenge det er i samsvar med alle lokale og regionale personvernlover.
Forretningsfaktorer for mobilapp-utvikling
Mobilapplikasjonsutvikling er drevet av flere viktige forretningsfaktorer, blant annet:
- Styrket og bedre kundeengasjement – Fornøyde brukere avinstallerer ikke en app. Konsistent kvalitet sees når antall appbrukere ikke reduseres, men økes og beholdes over tid.
- Bedre og betydelig verdi for kundene – Kunder kan raskt dekke behovene sine for nettjenester og aktiviteter når det passer dem.
- Etablering av merkevaren – Jo mer verdi du skaper, jo flere kunder vil ønske å bruke merkevaren din.
- Bedre, mer spesifikk og raskere støtte – Enkel innsamling av tilbakemeldinger, økt støtte og forbedret åpenhet om forretningsinformasjon.
- Økt konkurransefortrinn – Jo mer kreativ og praktisk appen er, jo bedre potensiell suksess i forhold til konkurrentene.
- Mer dyptgående kundeinnsikt – informasjon som hvor mange brukere du har per dag/uke/måned, avinstallasjoner, oppbevaringsrater, nedlastinger, brukerdemografi, type enhet og lignende.
- Personlig tilpasset markedsføring – Med bedre tilgang til brukerinformasjon kan du markedsføre appen bedre og forbedre markedsføringen også.
- Innovative tjenester/produkt – Når du introduserer noe nytt, vedrørende apper, gjør det ikke bare brukerens liv enklere, men du øker og etablerer merkevaren din også.
Mulige utfordringer ved ansettelse av en mobilapp-utvikler
Det er betydelige utfordringer med prosessen for å ansette en mobilapp-utvikler før du setter igang.
Først og fremst gjelder det kostnadene ved å ansette en utvikler. Konkurrentene dine kan prøve å gå for den samme utvikleren som du vil ansette. Vær forberedt på å "åpne pengesekken" mer hvis du ønsker å ansette en utvikler med høy etterspørsel fra en liten mengde kandidater.
Deretter kan tidssoner være et hinder for arbeidsdynamikken. Hvis du eller kundene dine er i én tidssone, mens utvikleren er i en annen, må du finne måter å overlappe timene på. En løsning vil være å stole på at utvikleren leverer toppkvalitetsarbeid i løpet av arbeidstiden.
En annen mulig utfordring er hvis du ønsker å danne et app-utviklingsteam, men mangler nok kvalitetskandidater til dette. Du kan du prøve å sette sammen de best mulige valgene, eller forlenge prosessen til de foretrukne kandidater er tilgjengelige.
Og selvfølgelig kan en mulig utfordring være å ikke finne gode kandidater. Det kan bli veldig vanskelig å sette sammen et mobilapp-utviklingsteam om du ikke har god nok støtte, ikke lar rekrutterere gjøre jobben for deg eller gjør en grundig vurdering av kandidatene.
Konklusjon
Å ansette en utvikler for mobilapper trenger ikke å være altfor komplisert. Du kan alltids se på ansettelsesguider (som denne!) for å forberede et team som skal finne og ansette den beste kandidaten.
For å slippe å risikere feil ansettelse eller dårlige apper, bør du forberede deg bra. Da sparer du ressurser og tid, og kan skryte av funksjonelle apper og de riktige utviklerne senere. Lykke til med ansettelse!