Det er komplekst og tidskrævende at finde en dygtig app-udvikler, og det kræver en masse research at finde frem til den ideelle kandidat til jobbet. Med vores ansættelsesguide får du en klar forståelse af de værdifulde statistikker om app-udvikling, hvordan du hurtigt finder de rigtige kandidater til jobbet, og hvad de forventede omkostninger og forventningerne til rollen er.
Hvis du investerer tid og ressourcer, før du besætter stillingen, vil det give en masse fordele i forhold til blot at ansætte den første udvikler, der ansøger. For det første ved du, at du har gjort dit bedste for at ansætte den rigtige person og valgt de bedste kvalifikationer blandt alle ansøgerne. For det andet vil din virksomhed ikke blive hæmmet af forhindringer som f.eks. genansættelse eller for store udgifter, som stadig ikke giver dig et stykke kvalitetsarbejde fra udvikleren.
Vi vil også dække rekrutteringsprocessen, hvordan den starter, hvilke forberedelser der er nødvendige for rekrutteringsmedarbejderne og lignende. Når alt kommer til alt, er rekrutteringsfolk uvurderlige aktiver, især når du har brug for udviklere af den bedste kvalitet.
Om udvikling af mobilapps
Udvikling af mobilapps er en proces, hvor en udvikler skaber software til trådløse og små enheder som f.eks. smartphones, tablets, håndholdte enheder, EDA (Enterprise digital assistants) og PDA (personal digital assistants).
Når der oprettes mobilapps, har udvikleren altid de mobilspecifikke funktioner i tankerne, som kan anvendes unikt til den pågældende mobilenhed. Ellers er udvikling af mobilapps sammenflettet med traditionel softwareudvikling.
Hvorfor og hvornår du skal ansætte en udvikler af mobilapps
Er det den rigtige fremgangsmåde for din organisation at ansætte en mobiludvikler? Her er nogle ting, du skal overveje, før du ansætter en mobilapp-udvikler:
- Færre driftsomkostninger i takt med, at indtægterne stiger
- Behov for nye, værdifulde og innovative apps til din virksomhed
- Engagementet er en fordel i det lange løb med selvforvaltende udviklere
- Gruppens og den fokuserede indsats fra udviklerne fremskynder resultatet
- Udnytte teknologien bedst muligt gennem personliggørende funktioner
- Løsningerne på forsinkelser og udfordringer med app'en kommer med det samme
- En innovativ tilgang til dit brand/din virksomhed
Statistik om udvikling af mobilapps
Lønnen for en mobilappudvikler varierer alt efter ansættelsesform (fuldtid, deltid, kontrakt, pr. projekt og lignende), deres erfaringsniveau og dokumenterede resultater, og om der er tale om Android- eller iOS-apps.
Gennemsnitslønnen for en mobilappudvikler ligger mellem USD 84.365 og 101.761 om året. Den laveste løn er ca. USD 36.000, mens den højeste er ca. USD 157.000 årligt.
Til gengæld er gennemsnitslønnen for en Android-appudvikler USD 125.773 om året, og for iOS-appudviklere er den USD 129.611 om året.
De mest kendte og almindeligt anvendte teknologier og frameworks til app-udvikling er: Kotlin, Swift, React Native, Java, Flutter og Python.
Typer af mobilapps
Der findes 3 typer af mobilapplikationer:
- Native apps - Bygget ved hjælp af IDE'er (Integrated Development Environment) og med sprog, der anvendes til Android og iOS som mobil-styresystemer. De tilbyder en masse customizations og features, men de kan være dyre at lave.
- Progressive webapps - Disse apps opfører sig som mobilapps og ser også sådan ud. Facebook React er en standardteknologi til disse.
- Hybride apps - Ligesom native apps er disse webapps lavet med teknologier som JavaScript, CSS og HTML. Det er ikke dyrt at lave disse apps; de er omkostningseffektive, men en ulempe er, at de generelt ikke har så mange funktioner.
Interview med en mobilapp-udvikler
Når du overlader det til rekrutteringsspecialisterne, er der ikke plads til fejlbehæftede, kedelige ansættelser af en app-udvikler. Disse fagfolk er bedre forberedt end nogen anden på at finde og ansætte egnede kandidater.
De vil omhyggeligt søge efter en dokumenteret track record og mange års erfaring. Men de vil også være lige så opmærksomme på deres engelskkundskaber, deres bløde færdigheder, deres tekniske testfærdigheder og deres kommunikative evner.
Tekniske færdigheder hos en mobilapp-udvikler
En god udvikler af en mobilapp vil have følgende tekniske færdigheder og stor erfaring inden for:
- Backend computing - Med denne viden kan udvikleren kontrollere alt, før han frigiver det til offentlig brug. I backend computing har vi databaseadministration, hardwareinteraktion, brug af frameworks og lignende.
- Viden om frontend-udvikling - Oprettelse og kodning af funktioner og elementer, som brugeren ser.
- Brug af programmeringssprog - En udvikler af mobilapps skal kende C++, C# og JavaScript samt de tilhørende frameworks og biblioteker såsom Dlib, Boost, APR og andre.
- UI-design - En udvikler, der også tager sig af designdelen, vil også være i stand til at skabe visuelt fantastiske app-interfaces for brugerne.
- Cybersikkerhed - Udviklere af mobilapps skal kende til cybersikkerhed for at give sikker adgang til oplysninger og en sikker måde at bruge appen på.
- Udvikling på tværs af platforme - Der kommer jævnligt nye platforme til, og det er en fordel at vide, hvordan man udvikler apps på tværs af platforme, for at kunne følge med den progressive og hurtige udbredelse af nye platforme.
- Fremragende viden om og erfaring med UX/UI best practices.
- Agile udvikling - Med den agile metode kan udviklerne øge og forbedre effektiviteten og hastigheden af hele app-udviklingsprocessen.
- IoT-færdigheder - Dette omfatter sikkerhed, enhedsforbindelse og tilslutning af apps til internettet.
Ikke-tekniske færdigheder hos en mobilapp-udvikler
Husk på, at ikke-tekniske færdigheder altid er lige så vigtige som tekniske færdigheder. Personlighedstræk er lige så værdifulde som de tekniske færdigheder og kompetencer. Du kan forsøge at gennemføre denne proces alene, men det kan være meget trættende, dyrt og tidskrævende i det lange løb.
En rekrutteringsekspert kan tage sig af den store bunke af kompleksitet og hjælpe dig, når du skal ansætte en udvikler til en mobil app. Hos Proxify kan vi med stolthed sige, at vores rekrutteringsspecialister til enhver tid udfører processen upåklageligt. De tjekker niveauet af engelskkundskaber for at se, om kandidaten vil have svært ved at kommunikere med kunderne. Derefter vil de fokusere på opmærksom lytning, om kandidaten undgår spørgsmål eller er uopmærksom, og måske om han/hun spørger meget eller ikke er interesseret i samtalen under interviewet generelt.
Derudover er det også vigtigt at være opmærksom på ansøgerens omgivelser (rum, belysning) og udstyr. Kandidaten skal være tilstrækkeligt forberedt (professionel eller passende påklædning, god belysning, mikrofon og kamera af god kvalitet og lignende).
Essentials og vurdering af en mobilapp-udvikler
Vi diskuterede med Arthur Pasqualon, en React Native-udvikler, og han sagde, at dette er de vigtigste tekniske kvaliteter, som en udvikler af en mobilapp bør have:
"Udvikleren af mobilapps skal have kendskab til miljøerne og vide en masse om hybrid og native udvikling. Med hensyn til Hybrid (React Native og Flutter) bør de have et godt kendskab til JavaScript og TypeScript, og med hensyn til Flutter bør de kende Dart på et tilfredsstillende niveau. Med hensyn til Native-udvikling bør de kende Swift og C til iOS og derefter Kotlin og Java til Android."
Arthur Pasqualon
Interviewspørgsmål til vurdering af udviklere af mobile apps
Her er nogle eksempler på interviewspørgsmål, som du kan bruge (sammen med andre), når du vurderer en kandidat til udvikling af mobile apps:
- Fortæl os om nogle apps, som du udvikler/har udviklet
Forventet svar: I denne del er der ikke en enkelt "skabelon" for svaret, men husk, at kandidaten skal fortælle så præcist som muligt om den app-udvikling, som han/hun er mest stolt af.
De bør f.eks. starte med deres egne apps, fordi det er den bedste måde at bekræfte, at de laver funktionelle apps. De kan vise dig deres mobilapps og endda linke dig til deres Play Store eller App Store. Men det er ikke bare at tale om det: Prøv at forbinde konteksten for disse apps med din virksomheds behov og dit brand.
- Sammenlign og forklar om manuelle og automatiserede tests
Forventet svar: Manuelle tests er en almindelig praksis, når vi har brug for at gennemføre mange testrunder for en app. Lad os sige, at vi har en app og skal teste en ny funktion til den. I dette tilfælde er manuel test det bedste valg.
Til sammenligning er en automatiseret test en metode til at udføre mange regressionstests (test for at sikre, at enhver form for ændring ikke ændrede eller ødelagde den overordnede funktionalitet) for mobilappen. Disse tests er tidsbesparende og den bedste løsning i presserende situationer.
- Hvad er hybride apps? Uddyb venligst
Forventet svar: hybrid-apps er apps, der er skabt med en blanding af native kode (Java eller Objective-C) og webteknologier (JavaScript, HTML og CSS). Når udviklere laver hybridapps, laver de apps, der kan offentliggøres på nettet og i begge typer app-butikker (iOS og Android).
- Hvad er ANR? Uddyb venligst
Forventet svar: ANR betyder "app, der ikke reagerer", og det sker nogle gange med Android-apps. Det er i form af en dialogboks, som vises øjeblikkeligt, efter at appen uden held har forsøgt at indlæse i 10 sekunder. Det betyder, at appen ikke reagerer og går ned. Dette er naturligvis ikke en gunstig situation, men det kan forhindres ved at reducere antallet af aktiviteter, som den primære UI-tråd udfører.
Årsagerne til ANR kan være:
- I/O primary thread operations
- Langsom kodekørsel (for hovedtråden)
- Deadlock (en tråd låser en ressource, men ressourcen skal ankomme i hovedtråden)
- Ukorrekt management af låsestatus
- Langsom hastighed på radiomodtagerne.
- Fortæl om almindelige problemer eller opståede situationer under test af mobilapps
Forventet svar: Det hyppigst forekommende problem er langsom indlæsning og generel langsom ydeevne, der påvirker den umiddelbare praktiske anvendelighed og drift af en app. I dette tilfælde skal vi altid være opmærksomme på den tid, der er nødvendig for at starte appen; derefter fokuserer vi også på indlæsningstiden for forskellige skærme.
Alt der tager mere end 2 sekunder er meget lang tid til en opgave i appen. Vi skal arbejde sammen med udviklerholdet og stræbe efter at forbedre indlæsningshastigheden.
- Forklar om brugervenlighedstest
Forventet svar: I de sidste testfaser af en app udfører vi brugervenlighedstest. Det er en proces, hvor vi samler en lille gruppe slutbrugere og beder dem om at teste appen for at give os deres feedback.
På den måde kan vi hurtigt finde frem til eventuelle oversete problemer og sikre, at appen vil være let tilgængelig på flere enheder. Denne proces gør appen mere anvendelig, praktisk, fleksibel og let tilgængelig.
- Kan du kort forklare, hvad "sandboxing" af apps er?
Forventet svar: Sikkerhedsmekanismen til at isolere og afskærme apps, som alle foregår på kerneniveau, kaldes sandboxing. Dette beskytter appen mod malware, trusler eller indbrud.
Udviklerne beskytter programmerne ved hjælp af en "sikkerhedspolitisk indpakning af programmet" eller ved at opdele programmet i separate, individuelle virtuelle maskiner. På denne måde opnår vi begrænsede miljøer, hvor koden kan køre, og brugerne vil ikke kunne få adgang til et specifikt ubrugeligt eller skadeligt miljø. Google og Apple bruger denne metode til sikkerhed og tryghed i in-app environments.
- Forklar mere om de data, der er gemt i iOS- og Android-løsninger og databaser.
Forventet svar: Udtrykket for native datalagring i Android-enheder er SharedPreferences. Det bruges til lagring af data i små mængder, f.eks. indstillinger eller brugerpræferencer, og disse data opbevares altid i form af en XML-fil.
For iOS-enheder er det stort set det samme, og det hedder UserDefaults. Tidligere hed disse UserDefaults NSUserDefaults, og formatet er altid .plist
Vi kan bruge SQLite med begge dele. Med Android har vi desuden Room-persistensbiblioteket hvor vi kan få adgang til SQLite-databaser og mindre boilerplate-kode. Med iOS har vi Core Data til håndtering af objektgrafer.
- Hvad er emulators og simulators?
Forventet svar: Emulator er et program, der ikke er afhængig af et line handset, men som tester mobilapps effektivt.
Simulator er et værktøj, der bruges til test af mobilapps, men som simulerer et elektronisk netværk. Dette værktøj bruges almindeligvis til at hjælpe brugere med deres hjemmenetværk (latching), som ikke er afhængig af roaming-tjenester.
Både emulator og simulator er omkostningseffektive, så vi behøver ikke at købe enheder til at teste apps.
- Forklar debugging, når appen allerede er frigivet og klar til brug
Forventet svar: Når vi har brug for at få oplysninger om app-nedbrudt og rette det, kan vi bruge Firebase Crashlytics, en tredjeparts software til analyse af nedbrud, der er beregnet til både Android og iOS. Det giver os oplysninger om enhedens producent, brugerens sprog, operativsystemets version og meget mere. Nogle værktøjer, der ligner FC, omfatter Appsee, Instabug, Raygun og Sentry (godt i tilfælde af JavaScript-skrevne apps, som React Native). Der findes mange værktøjer, der bruges til fejlfinding og rettelser af frigivne apps; disse er blot nogle eksempler.
Hvad adskiller en god mobilapp-udvikler fra en virkelig god?
En god udvikler af en mobil app vil sætte brugeren i centrum og prioritere brugeroplevelsen. De vil også være ivrige efter at lære og forbedre deres færdigheder, viden og ekspertise på alle relevante måder. En proaktiv holdning er en vigtig del af det professionelle aspekt af en dygtig mobilappudvikler.
Derudover vil de gerne skabe en unik app (i modsætning til andre) eller har allerede gjort det.
Den ideelle kandidat kan administrere sin arbejdstid, håndtere opgaverne godt og prioritere dem. De skal kunne tænke kritisk og vurdere, om deres arbejde er af god kvalitet (indtil videre) eller har brug for forbedringer og yderligere arbejde.
Pasqualon tilføjede også:
"De vil have en dokumenteret og stærk portefølje og altid fokusere på brugeroplevelsen og eventuelle problemer for brugerne. Den ideelle kandidat vil gerne opgradere sine færdigheder, dvs. de holder aldrig op med at lære nye teknologier og gennemføre opgraderinger. En god sans for detaljen er et andet stærkt træk, som man skal kigge efter. Derudover vil de have en god fornemmelse af, hvordan brugerne interagerer med forskellige grænseflader, og de vil være velinformeret om alt, hvad der er at vide om software, hardware, juridiske aspekter og begrænsninger i Android- og iOS-miljøer. Sidst men ikke mindst kan de vise en app frem, som de har lavet, og som har vist sig at være yderst nyttig for virksomheder og individuelle brugere."
Hvilke egenskaber gør en mobilapp til en succes i sidste ende?
Det er godt at vide, hvad der kendetegner en ideel app, så du ved, hvad du skal være opmærksom på, når du gennemgår den ansøgning, som kandidaten har lavet. Hvordan appen "opfører" sig, hvilke særlige og praktiske funktioner den tilbyder, og hvor godt den er optimeret, vil give dig et godt indtryk af kvaliteten af den pågældende udviklers arbejde.
Nogle features ved en optimeret, effektiv og potentielt vellykket mobilapp er følgende:
- Enkelhed for brugeren - En god brugergrænseflade og funktionalitet gør appen fremragende, men den lokale navigation skal også være i top.
- Høj ydeevne - Indlæsningstid og hurtig ydeevne er afgørende. Indlæsning på et sekund tyder på en god app-kvalitet.
- Offline arbejde - Selv nogle ting, der er tilgængelige online fra appen, gør funktionaliteten øjeblikkeligt bedre. Der er intet mere irriterende end når app-funktioner ikke fungerer på grund af problemer med internetforbindelsen.
- Kan anvendes til iOS og Android - Den ideelle app kan bruges til begge styresystemer.
- Personliggørelse og tilpasning - Brugeren kan selv bestemme, hvordan han/hun vil tilpasse appen, hvor det er relevant.
- Regelmæssige, hurtige opdateringer - Når en app opdateres regelmæssigt, er der færre problemer, der kan få appen til at fungere langsommere.
- Hurtig og nem søgning - For at få den bedste brugeroplevelse skal det være enkelt, hurtigt og nemt at søge.
- Integration af (sociale) medier - Den bedste måde at fastholde brugerne på er ved at integrere sociale medier. Denne proces gør det muligt for brugerne at bruge forskellige interessante funktioner, der er forbundet og synkroniseret med medier og forskellige platforme/profiler for brugeren. Her har vi alt fra at forbinde sociale medieprofiler med den pågældende app, dele indhold, tilføje det til lister osv.
- Analyse - Administratoren skal hurtigt kunne modtage oplysninger om brugerens adfærd, så længe det er i overensstemmelse med alle lokale og regionale love om beskyttelse af personlige oplysninger.
Forretningsmæssige drivkræfter for udvikling af mobile apps
Udvikling af mobilapplikationer er drevet af flere vigtige forretningsfaktorer, hvoraf nogle omfatter:
- Styrket og forbedret kundeengagement - Glade brugere afinstallerer ikke en app. God kvalitet ses, når antallet af app-brugere ikke reduceres, men øges og bevares over tid.
- Bedre og betydelig værdi for kunderne - Kunderne kan hurtigt opfylde deres behov for onlinetjenester og -aktiviteter, når det passer dem.
- Etablering af brandet - Jo mere værdi du skaber, jo mere vil kunderne have lyst til at knytte sig til dit brand.
- Bedre, mere specifik og hurtigere support - Nem indsamling af feedback, øget support og forbedret gennemsigtighed i forbindelse med forretningsoplysninger.
- Øget konkurrencefordel - Jo mere kreativ og praktisk appen er, jo større er den potentielle succes i forhold til konkurrenterne.
- Mere dybdegående kundeindsigt - Oplysninger om f.eks. hvor mange brugere du har pr. dag/uge/måned, afinstallationer, fastholdelsesrater, downloads, brugerdemografi, enhedstype og lignende.
- Personlig markedsføring - Med bedre adgang til brugeroplysninger kan du promovere applikationen bedre og forbedre markedsføringen.
- Innovative tjenester/produkter - Når du introducerer noget nyt med hensyn til apps, gør det ikke kun brugerens liv lettere, men du styrker og etablerer også dit brand solidt.
Mulige udfordringer i forbindelse med ansættelse af en mobilapp-udvikler
Der findes nogle udfordringer ved at ansætte en mobilapp-udvikler.
For det første er der udgifterne til at ansætte en udvikler. I dette tilfælde kan dine konkurrenter forsøge at få fat i den samme udvikler, som du ønsker at ansætte. Du skal være forberedt på at betale mere, hvis du ønsker at ansætte en meget efterspurgt udvikler fra en lille talentpulje.
Dernæst kan tidszonen være en hindring for arbejdsdynamikken. Hvis dine kunder eller du befinder dig i én tidszone, men udvikleren befinder sig i en anden, skal I finde ud af, hvordan I kan overlappe arbejdstiderne. En anden løsning ville være at have fuld tillid til, at udvikleren leverer arbejde af højeste kvalitet i arbejdstiden.
En anden mulig udfordring er, hvis du ønsker at oprette et app-udviklingsteam, men mangler nok kvalitetskandidater til det. I så fald kan du forsøge at samle de bedst mulige kandidater eller udskyde processen, indtil alle de foretrukne kandidater er til rådighed.
Og en mulig udfordring kan naturligvis være, at der ikke findes gode kandidater. Alt i alt kan det blive meget svært at sammensætte et mobilapp-udviklingshold på grund af manglende support, fordi der ikke er nogen rekrutteringsfolk til at gøre det for dig, eller fordi du ikke har en valid vurdering af kandidaterne.
Konklusion
Det behøver ikke at være alt for kompliceret at ansætte en udvikler til mobilapps. Du kan altid søge hjælp i ansættelsesguider (som denne!) for at forberede et team på at finde og ansætte den bedste kandidat.
Du bør ikke risikere at ansætte den forkerte person eller risikere at få app-korrektioner på et senere tidspunkt. Forbered dig i stedet bedre, spar ressourcer og tid, og pral senere med funktionelle apps og de rigtige udviklere. God fornøjelse med ansættelsen!