Är 10X-ingenjören en myt?
Verkligheten är att vissa människor är bättre på att programmera än andra.
I min tidigare position på ett teknikföretag har jag varit imponerad över hur vissa personer i mitt team verkar veta hur man gör allt.
Även under min tid på universitetet, där jag deltog i hackathon och praktik, kunde jag träffa några väldigt duktiga utvecklare som jag har lärt mig mycket av.
I den här artikeln kommer jag att gå igenom några missuppfattningar som folk kan ha om 10X-ingenjören. Efter att vi tittat på vad en 10X-ingenjör är inte, vi kommer att gå igenom några av de bästa råden jag kan ge dig för att själv bli en 10X-ingenjör.
Vad är en 10X Engineer?
Många utvecklare skulle argumentera om den faktiska definitionen av en 10X-ingenjör. Men för tydlighetens skull, låt oss försöka definiera en enkel definition nu.
En 10X-ingenjör är en mjukvaruutvecklare som kan vara lika produktiv som tio av sina kamrater.
Idén med 10X-ingenjören kan ha sitt ursprung tidigare än du tror.
A uppsats från 1968 kallad "Utforskande, experimentella studier som jämför programmeringsprestanda online och offline" föreslog först idén att några av de bästa programmerarna presterar en storleksordning bättre än de sämsta programmerarna. Även om detta inte är den definition man kommit överens om idag, spred sig idén om 10X-ingenjören snart utanför akademin.
Några år senare kom den klassiska boken The Mytisk man-månad ytterligare illustrerade idén med 10X-ingenjören. Författaren Fred Brooks föreslår det mjukvaruutveckling team kan vara strukturerade som kirurgiska team.
I detta team skulle du ha en chefsprogrammerare eller "kirurg" med stödjande programmerare eller "sköterskor".
Även om denna analogi är lätt att förstå, tror jag att den är lite förenklad och föråldrad när den tillämpas på det nuvarande tillståndet för mjukvaruutveckling.
Teamdynamik i ett tekniskt team skiljer sig mycket från en kirurgs. Denna idé om en enda person som gör det mesta av arbetet eller bara det mest utmanande arbetet har felkarakteriserat vad jag tror att en 10X-ingenjör borde vara.
Vanliga missuppfattningar
Eftersom idén om 10X-ingenjören spred sig över hela den tekniska sfären, misstolkar en majoritet av cheferna ofta vad vi menar med "10X".
En vanlig missuppfattning är att 10X-ingenjörer producerar tio gånger så mycket kod än sina kamrater. Detta är helt enkelt inte sant.
Även om en 10X-ingenjör möjligen skulle kunna producera mer kod än sina kollegor, är kvantitet inte rätt mått. Föreställ dig en programmerare som spenderar tusen rader kod på att utföra det som skulle kunna göras på mindre än hundra. På samma sätt kodar inte en 10X-ingenjör tio gånger snabbare!
En annan missuppfattning om 10X-ingenjörer är att de är fantastiska helt enkelt på grund av sin kodningskunskap. Återigen, detta är ytterligare ett fall av att titta på fel mätvärde.
Det som gör en 10X-ingenjör så värdefull är hur han tillför tio gånger värdet till sitt team och sin organisation. En 10X-ingenjör är oumbärlig på grund av deras förmåga att använda sin kodkunskap och anpassa den efter företagets behov.
Chefer bör leta efter ingenjörer som kan lösa problem och samarbeta bra med andra. Utöver kunskap om kodning bör 10X-ingenjörer kunna lyfta arbetet för alla omkring dem.
Fem sätt att vara en 10x ingenjör
Det här avsnittet är för dig om du är en chef som letar efter din nästa anställning, eller helt enkelt en ingenjör som strävar efter att bli en 10X-ingenjör.
Här är några av de viktigaste vanorna och egenskaperna hos en 10X-ingenjör:
De vet hur man får ut det mesta av sin tekniska stack
Att känna till dina verktyg är kanske det mest självklara rådet jag kan ge dig. Men många utvecklare kan fortfarande förbättra sitt arbetsflöde genom att lära sig att arbeta effektivt.
De flesta 10x-ingenjörer jag har arbetat med känner sig runt terminalen. Även om det kan vara lite av en inlärningskurva för nybörjare, kommer att förstå hur man gör skalkommandon i farten att hjälpa dig att göra ditt jobb mycket snabbare i det långa loppet.
10x ingenjörer kan också dra nytta av att vara lite lata. Låt mig berätta vad jag menar.
Föreställ dig att manuellt behöva utföra en serie kommandon varje dag för att driva nya commits till produktion. En 10x-ingenjör bör undvika att göra repetitiva uppgifter. De anstränger sig extra för att automatisera så mycket av dagen som möjligt.
De bästa ingenjörerna bör också tänka långsiktigt. Om du arbetar för en startup kan det vara frestande att fokusera på snabba och enkla lösningar. Men dessa lösningar kanske inte skalas upp.
De slutar aldrig lära sig
En bra utvecklare slutar aldrig lära sig. De bästa ingenjörerna får tid av sin hektiska arbetsdag för att prova nya koncept, språk och ramverk som de kan försöka tillämpa på sitt arbete.
En 10x ingenjör bör behålla en sund känsla av nyfikenhet. De frågar sig ofta: "Kan detta göras bättre?" eller "Finns det ett enklare eller mer effektivt sätt att lösa det här problemet."
Således måste en 10x ingenjör behärska konsten att lära sig själv. Att lära sig hur man lär sig är det bästa sättet att hålla sig flytande i en miljö med högt tempo.
De vet hur de bäst spenderar sin tid
En stor mjukvaruingenjör är bra på att fatta beslut, särskilt om vad de ska göra med sin tid.
10X-ingenjörer behöver sällan arbeta fler timmar än en genomsnittlig ingenjör. Ingenjörer bör veta när de ska trycka tillbaka och säga nej till vissa förfrågningar. De bör veta vilka uppgifter de ska göra själva och vilka uppgifter de ska delegera.
Effektiva ingenjörer bör bemästra hur man kan avgöra om en uppgift är värd att utföra snabbt. En mental modell att tänka på är Pareto-principen.
Principen säger att 80% av ditt arbetes värde kommer från 20% av din insats. Alla uppgifter är med andra ord inte lika.
De letar efter rätt mentorskap
En stor ingenjör kan lära sig så mycket av en erfaren veteran i branschen. 10X-ingenjörer letar ofta efter mentorskap i och utanför arbetet för att vidareutveckla sina kunskaper.
På samma sätt kommer 10X-ingenjörer att dra nytta av att ta en mentorskapsroll till sina egna lagkamrater. Hela laget lyfts upp genom att vara öppen för sina mer nybörjare lagkamrater.
De förstår verksamheten
Med enkla ord, mjukvaruteknik är bara ett sätt för datorer att lösa ett verkligt problem. Med det i åtanke måste en effektiv ingenjör bli expert på det problem de försöker lösa.
Som ingenjör är det en smart idé att anstränga sig för att få en förståelse för verksamheten eller branschen du är en del av. En 10x ingenjör bör vara en aktiv deltagare i möten med andra avdelningar.
Om ingenjören lägger ner kraft på att förstå vad andra avdelningar gör i verksamhetens sammanhang, kommer de att bli en effektiv kommunikatör. Effektiv kommunikation hjälper till att förhindra att ditt team missförstår affärskrav och projektspecifikationer.
Slutsats
Förhoppningsvis har du nu en tydligare bild av hur en 10X-ingenjör ser ut. Du bör också ha en förståelse för vad en 10X-ingenjör inte är.
Råden ovan är naturligtvis bara en allmän riktlinje som kan gälla för vilken roll som helst som mjukvarutekniker. Om du vill ta reda på hur du kan bli bäst DevOps ingenjör, fullstackutvecklare eller datavetare, är ditt bästa alternativ att hitta möjligheter att lära och bygga.
Fundera över om din nuvarande position är en bra lärmiljö. Kanske vill du lägga mer tid på att arbeta med sidoprojekt som gör att du kan utforska tekniker utanför din nuvarande tekniska stack. Det här är bara några av tipsen som du kan följa för att få en fördel inom tekniken.
Vad tycker du är det mest användbara rådet för blivande ingenjörer?
Kommentera uppropet