Sådan forvandles et job, der åbnes til et drømmejob til topteknisk talent

Få investeringer kan konkurrere med ROI for at opbygge et virkelig effektivt team, men at finde de rigtige mennesker kan være en udfordrende proces.

Der er en masse konkurrence om det bedste udviklertalent, så vi er nødt til at arbejde lidt hårdere for at finde og fastholde gode mennesker. Hvis du er frustreret over jagen efter gode udviklere, er chancerne store, fordi du ikke har bygget det rigtige miljø til at tiltrække og opmuntre dem.

Hvis du kopierer pakken, vil du sandsynligvis mislykkes.

Følg ikke blindt, hvad alle andre gør. Meget få virksomheder får det rigtigt, hvilket betyder, at hvis du kopierer pakken, vil du sandsynligvis mislykkes.

Hvorfor betyder det noget?

Du betaler allerede omkostningerne for et team af høj kvalitet - du betaler bare omkostningerne på forskellige måder:

  • Ineffektiv udviklingsproces
  • Dyre, undgåelige fejl begået af uerfarne udviklere
  • Teknisk gæld
  • Produktivitet går ned og udbrændes
  • Medarbejder churn

Problemet er, at alle disse udgifter har negativ ROI. Du kan investere de samme penge i den mest positive ROI, der er tilgængelig, i stedet for: dit team.

Hvis du undlader at investere i mennesker, tager du det implicitte valg at spilde penge.

Den mangelfulde logik går sådan ud:

Jeg kan ansætte en udvikler på mellemniveau til $ 120.000 eller en seniorudvikler for $ 160.000 ($ 40.000 er den gennemsnitlige omkostningsforskel mellem junior- og seniorudviklerværdigheder i USA [faktisk.com]). Du tror, ​​du sparer 40 dollars, men ...

En overvægt af forskning antyder, at der er en størrelsesorden forskel i ydelse mellem udviklere. For at citere Steve McConnell (forfatter, “Code Complete”):

Den generelle konstatering af, at "Der er forskelle mellem størrelsesordenen mellem programmerere" er blevet bekræftet af mange andre studier af professionelle programmerere (Curtis 1981, Mills 1983, DeMarco og Lister 1985, Curtis et al. 1986, Card 1987, Boehm og Papaccio 1988, Valett og McGarry 1989, Boehm et al. 2000).

Det betyder ikke, at en toppresterende udvikler vil skrive 10 gange så meget kode eller skrue ud 10x så mange funktioner. Hvad det betyder er, at de leverer 10 gange så meget organisatorisk værdi.

Når dit produkt når skalaen, kan en smart individuel udvikler foretage processforbedringer, der sparer din organisation tit eller hundreder af tusinder pr. Måned i udviklingsomkostninger, eller forhindre fejl eller brugergrænsefejl, der kan koste din organisation millioner af dollars om året.

Hvor meget værdi du kan kanalisere gennem dit udviklingsteam afhænger i vid udstrækning af din organisatoriske kreativitet og indtægter, men så vidt jeg ved er antallet ubundet. Da Instagram blev købt for $ 1 B, var der kun 13 personer på teamet - hvilket betyder, at hvert teammedlem i gennemsnit bidrog med $ 77M til virksomhedens værdiansættelse.

Erhvervelser som dette er sjældne, men ekstreme bidrag til værdi af outlier er almindelige i tech-branchen. Jeg har personligt set individuelle udviklere bevæge nålen i mange millioner dollars måder for mange gange til at liste. Ikke overbevist? Se “Hvordan en Jira-billet gjorde min arbejdsgiver $ 1MM / måned: 7 målinger, der faktisk betyder noget”.

Kyndige, erfarne udviklere ser ofte muligheder, som mindre erfarne udviklere savner.

Den gode nyhed er, at bedre udviklere ikke behøver at koste dig flere penge. Bedre løn er en af ​​flere faktorer, der kan tiltrække bedre udviklere til dit team.

Hvad bryder udviklere sig om?

I følge Stackoverflows undersøgelse fra 2017:

Dette koges ned til:

  • Overlevelsesbehov (f.eks. Helbred)
  • Tidsfrihed
  • Lokalitetsfrihed
  • Vækstmuligheder
  • Arbejdets påvirkning

Overlevelse kommer først. Udviklere ønsker at blive betalt retfærdigt, men når vi først får typiske lønninger på $ 90.000 USD + til softwareudviklere, bliver andre behov vigtigere.

Dine konkurrenter undlader ofte at differentiere sig på andre måder, hvilket betyder, at du har muligheder for at adskille din virksomhed.

Ud over grundlæggende overlevelse og udstyr, der er nødvendigt for at gøre deres job, ønsker udviklere at arbejde, hvor og når de vil, og de ønsker, at deres arbejde skal gøre en forskel eller have en vis social indvirkning.

Tør at være anderledes

Gennemsnitlige virksomheder tilbyder fair markedsløn, feriedage, sundhedsmæssige fordele og udstyr. De fleste softwareudviklere tager alle disse ting for givet.

Hvad er de bedste måder at adskille dig selv på? Her er nogle ting de fleste udviklere ønsker, men få virksomheder leverer. Sådan gør du et job til et drømmejob:

  1. Fjernarbejde
  2. Fleksible timer
  3. Professionel udvikling / læringsmuligheder
  4. Gylden håndjernskompensation

Fjernarbejde og fleksible timer

Mere end halvdelen af ​​udviklerne ønsker både fjernarbejde og fleksible timer og vurderer disse fordele nær toppen af ​​deres tjeklister.

Gå ikke fjernbetjening halvvejs. Vedtage en fjern-første kultur. Hvis en person deltager i møder via computeren, skal alle gøre det regelmæssigt.

Så meget du kan, vedtage software for at lette møder som scrum og retrospektiver. Disse værktøjer er ikke bare til gavn for fjernarbejderne - de hjælper dig også med at holde dig organiserede og give en oversigt over handlinger, som du faktisk vil se på i fremtiden, i modsætning til de udpegede noteoptagere, der hurtigt skrumpede den bærbare computer.

Det vil tage lidt tid at overføre et kontorteam til højtydende fjernbetjeninger, men det er det værd, fordi fjernarbejde fører til:

  • Bedre software design
  • Meget produktivt arbejde (kontorer er afbrydelsesfabrikker)
  • Lavere lønomkostninger & pendelfordele (se nedenfor)

Gyldne håndjern

Du behøver ikke at tilbyde gyldne håndjern til at konkurrere, men du skal være opmærksom på, at virksomheder som Facebook, Google og Netflix bruger denne strategi til stor fordel for at tiltrække specialiseret, sjældent talent.

Hvor meget mere? Virksomheder, der bruger den gyldne håndjernsstrategi, betaler ofte 150% –300% markedssortiment - eller endda lotteri-billetpenge for udvalgte talent med bevist færdigheder inden for varme forskningsområder som maskinlæring, AR, VR, blockchain eller droner. Jeg kender ikke den øvre grænse. Nogle erhvervede udviklere tjener millioner pr. År i lager og løn.

Sådan sparer du penge på løn

Tanken er at maksimere værdien af ​​din investering og ikke investere så lidt som muligt.

Heldig for dig, så længe du kompenserer retfærdigt, vil udviklere normalt handle ganske lidt kontanter for lidt mere frihed. Men ikke tag det som en undskyldning for at billig ud. Tanken er at maksimere værdien af ​​din investering og ikke investere så lidt som muligt.

For at få mest muligt ud for dine penge skal du betale over markedet, og jeg mener ikke 110% af markedets gennemsnit. Din konkurrence gør allerede det. 120% + vil hjælpe dig med at tiltrække top talent.

Måden at spare penge på løn er at ansætte parvis; en seniorudvikler parret med en juniorudvikler. Sæt dem på det samme projekt og praksis kode gennemgang og ad-hoc par programmering.

Lønninger varierer meget over tid, men regner med at betale i juli 2017:

  • Senior: $ 140k - $ 230k
  • Junior - Midt: $ 100k - $ 140k

Disse tal lyder sandsynligvis højt, men det er fordi vi med vilje slår markedet lidt for at tiltrække de bedre udviklere, der let kan lande konkurrerende tilbud.

Du kan blive fristet til at justere disse satser for leveomkostninger i dit område, men det er en bedre idé at forblive inden for dette interval og i stedet spare penge på kontorlokaler ved at ansætte fjerningeniører.

Hvis du lejer fjernbetjening, sparer du kontorfaciliteter, pendlerfordele, mad, kontorartikler, bygningsforsikring og tusind andre små udgifter, der tilføjer en masse penge. Du kan også slippe af med at betale mod bunden af ​​disse intervaller, hvis du ansætter fjernbetjening, fordi medarbejderne er villige til at handle lidt kontant for en smule frihed, og de kan drage fordel af leveomkostninger arbitrage for at have en højere levestandard på et sted med lavere omkostninger.

Spar penge på kontorlokaler ved at ansætte fjerningeniører.

Hvis du er i San Francisco, New York City eller Los Angeles og ansætter medarbejdere, der har brug for at pendle til dit kontor, kan du forvente at betale tættere på toppen af ​​disse intervaller for det bedste talent, f.eks. $ 180.000 + for en højtstående senior Udvikler. $ 120.000 + for en juniorudvikler.

Forestil dig, at du ansætter et team på 6. Vi antager, at du har valgt at opbygge et fjernteam, så du kan slippe af sted med at betale i nærheden af ​​low-end for disse intervaller. Forestil dig, at du ansætter et helt seniorteam:

  • 6 Seniorudviklere @ $ 150k
  • I alt: $ 900k ($ 75k / mo)

Lad os nu delt ansættelsen mellem junior og senior:

  • 3 Seniorudviklere @ $ 150k
  • 3 juniorudviklere @ $ 110k
  • I alt: $ 780k ($ 65k / mo)

Ved at parre juniorer og seniorer sparer du nok penge til at ansætte en anden medarbejder eller to - og hvis du ansætter veluddannede topudviklere juniorudviklere, kommer de ind i teamet med færdigheder på mellemniveau og inden for et par måneder , begynde at bidrage på eller i nærheden af ​​niveauet for dine bedste seniorudviklere.

ADVARSEL: Forsøg ikke at spare penge ved at ansætte alle juniorudviklere.

Du kan ærligt betale en juniorudvikler ganske lidt mindre end en seniorudvikler, fordi du skal parre dem med en seniorudvikler for at sikre, at de er effektive. Forsøg ikke at spare penge ved at ansætte alle juniorudviklere. Det koster dig meget mere end at ansætte det samme antal ældre i katastrofer, refaktorer og andre skjulte udgifter.

Interview

De fleste virksomheder får forkert interview. Jeg ville aldrig ansætte en udvikler uden at se dem kode live med mine egne øjne. Generelt betyder det, at interviewere skal parre sig med dem om udfordringer. Vælg et par udfordringer, der er repræsentative for den type arbejde, du virkelig udfører på din ansøgning regelmæssigt, og lad dine interviewere vælge mellem dem.

Gør dette på rigtige computere, ikke på tavler. Fortrinsvis eksternt, før du bruger penge eller investerer alvorlig tid med kandidaten.

Bed aldrig en kandidat om at kode på et tavle. Kandidater vil tro, at du ikke ved, hvordan man interviewer udviklere, og at din virksomhed sidder fast i de mørke tider.

Stil aldrig en kandidat tilfældige CS-algoritme spørgsmål. Kandidater tror, ​​at du lige er uddannet fra et CS-program og har ingen idé om, hvilke udfordringer der venter i den virkelige verden.

At kende kernen i fælles datastrukturer og algoritmer har en enorm værdi. At huske dem alle godt nok til at skrue dem ud på en tavle gør det ikke. Det er hvad Google er til. De fleste af de kandidater, jeg har set, klarer sig godt i CS-interviews har været friske college-grader uden nogen reel verdenserfaring.

Max Howell skrev Homebrew, som bruges af en hel masse Google-medarbejdere (og næsten alle andre udviklere med en Mac), men Google vendte ham væk, fordi han ikke kunne vende et binært træ på en tavle.

Ups.

Hvad man skal kigge efter i en seniorudvikler

Generelt vil du have seniorudviklere med en bred vifte af erfaringer, parret med en dyb forståelse af applikationsarkitektur og teknologibunker, der ligner din.

  • Beviste problemløsningsfærdigheder med flere virkelige produktionsapps i skala
  • Dyb specialisering i problemdomænet eller teknologibunken (ideelt begge dele)
  • Fremragende mentor- / undervisningsevner (husk: du vil parre dem med juniorudviklere med det formål at træne juniorerne)
  • Fremragende læringsfærdigheder (evne til at undersøge og lære om nye teknologier og løsninger på problemer)
  • Lidenskab til softwareopbygning og spænding til at tackle de specifikke problemer, de vil støde på dit team
  • Bonus: En offentlig oversigt over mentorskab, skrivning, offentlig tale eller OSS-bidrag

Erfaring:

  • 3+ år, minimum.
  • 6+ år, ideel.

Hvad man skal kigge efter i en juniorudvikler

Ansættelse af juniorudviklere handler om at forstå deres læringsbane. Du vil stubbe dem med nogle spørgsmål om teknisk arkitektur og software. Se efter nogen, der ikke er bange for at sige, "Jeg ved det ikke, men jeg ville elske at lære det!"

Her er hvad man skal kigge efter:

  • Hvor meget ved de om din tech stack?
  • Kender de de rigtige ting, eller bare de ting, der tydeligvis er tilgængelig for Google i API-dokumenter?
  • Det vigtigste: Hvor længe har de lært alvorligt? Er deres læringshastighed imponerende? Er deres lidenskab for det indlysende?

Store juniorudviklere vil gerne lære om holdet, og de vil være på udkig efter muligheder for at parre sig sammen med en god mentor. Dette er et godt tidspunkt at nævne for dem, at de vil blive parret med en seniorudvikler, der vil give dem konstant støtte og feedback.

Juniorudviklere leder efter et hurtigt spor til læring og karriereudvikling. Giv dem dem, så springer de på det.

Professionel udvikling og læring

I USA har vi en tendens til at forsømme alle former for mentorskab, uddannelse og læreplads på arbejdspladsen. I andre lande er lærepladser æretidstraditioner med en dokumenteret track record, der går tilbage i århundreder, og folk anvender det til de mest kvalificerede fag, herunder softwareudvikling.

USA er nødt til at tage en lektion fra resten af ​​verden, for når det implementeres godt, korrelerer mentorskab bedre med højere løn end avancerede universitetsgrader, intensive bootcamps, certificeringer eller online-kurser.

Hvad er mentorskab?

Mentorskab har normalt form af en til en, langsigtet vejledning fra en ekspert på seniorniveau. Mentorforhold spænder ideelt set måneder eller år og kan endda overgå ansættelsesforholdet. Mentorskab er ikke kun for juniorudviklere. Senior udviklere har også brug for det.

Mark Zuckerberg (Facebook) blev mentoreret af Steve Jobs (Apple). Sergey Brin og Larry Page (grundlæggere af Google) blev mentoreret af David Chariton. David Packard og Bill Hewlett (grundlæggere af Hewlett-Packard) blev mentoreret af Frederick Emmons Terman.

Ideelt set bør alle dine medarbejdere (uanset dygtighed eller erfaring) have mentorer. Par seniorudviklere i mentorforhold til mellemniveau og juniorudviklere. Afhængig af karrieremål, kan seniorudviklere også ønske at indgå et mentee-forhold med ingeniørchefer, CTO'er, andre seniorudviklere eller specialister inden for et interessefelt såsom maskinlæring, AR / VR osv. ...

Hvis dit team ikke har en kvalificeret mentor til dine seniorudviklere, skal du aktivt kigge efter muligheder for at anmode om mentorer fra folk uden for virksomheden. Nogle eksperter på området vil være villige til at indgå mentorforhold. Hvis du ikke kan finde nogen til at gøre det uden omkostninger, kan du prøve at tilbyde penge (betalt af arbejdsgiveren). I stigende grad bliver mentorskab en bæredygtig karrieremulighed for højt udøvet talent.

Der er platforme til at parre mentorer med mentees, men da jeg kiggede nærmere på dem, blev jeg alvorligt skuffet. I stedet for at tilbyde ægte langsigtet mentorskab var de for det meste udvikler-hjælp-tjenester til udviklere. Kvaliteten af ​​både mentorer og mentees var afgrund.

Så jeg indsamlede en ny platform: DevAnywhere.io

Det er en fantastisk måde at sparke start på mentorkultur på dine udviklingsteams og give en mentor til de mest seniorudviklere på dit team - dem, du ikke har nogen rollemodeller, der er senior nok til at parre dem med.

Betalt træning

De bedste virksomheder tilbyder uddannelsesbudgetter til medarbejderne. For virkelig at skille sig ud skal du tilbyde et generøst budget til træningsressourcer som bøger, online indhold og konferencer. For $ 1k - $ 5k om året, kan du give en meget kraftig fordel, som top-tier talent elsker.

Du skal også regne med at investere 30% - 50% af en udviklers løn i mentorskab. Det lyder måske meget, men det har en ekstremt høj ROI. Det investerede beløb løber lineært, mens investeringsafkastets investeringsafkast løber eksponentielt. (Se også: "Kæmper for at finde gode senior-JavaScript-udviklere? Mentorskab er svaret")

Hvis du har udviklere på holdet, der vil fungere som en god rollemodel / mentor for flere juniormedlemmer, går omkostningerne til mentorens løn. Du skal tage dem ud af individuel bidragsafgift i mindst en dag eller to om ugen og sætte dem på multiplikatorafgift.

For dine mest seniorudviklere skal du kigge uden for organisationen og finde en mentor. Da de fleste kvalificerede mentorer ikke kan eller vil give deres tid til din sag - skal du betale dem.

Brug for hjælp til at finde kvalificerede mentorer? Prøv DevAnywhere.io.

TL; DR

Hvis du vil forvandle din kedelige joboversigt til en udviklers drøm om at tiltrække bedre talent, er her opskriften:

  • Generøs ferietid
  • Fjernarbejde
  • Store sundhedsmæssige fordele
  • Fleksible timer
  • Fantastisk udstyr
  • mentorskab
  • Træningsbudget
  • Spring tavlen / CS-quizzen over (se dem i stedet for på en rigtig computer)

Niveau dine færdigheder op med Live 1: 1-mentorskab

DevAnywhere er den hurtigste måde at niveau op til avancerede JavaScript-færdigheder på:

  • Live lektioner
  • Fleksible timer
  • 1: 1 mentorskab
  • Lav rigtige produktionsapps
https://devanywhere.io/

Eric Elliott er forfatteren af ​​“Programmering JavaScript Applications” (O’Reilly) og medstifter af DevAnywhere.io. Han har bidraget til softwareoplevelser for Adobe Systems, Zumba Fitness, The Wall Street Journal, ESPN, BBC og topindspilningskunstnere, herunder Usher, Frank Ocean, Metallica og mange flere.

Han arbejder hvor som helst, han vil med den smukkeste kvinde i verden.