Je li inženjer 10X mit?
Stvarnost je da su neki ljudi bolji u programiranju od drugih.
Na mojoj prijašnjoj poziciji u tehnološkoj tvrtki, bio sam zadivljen time kako se čini da neki ljudi u mom timu znaju kako učiniti sve.
Čak i tijekom mog studija na sveučilištu, sudjelujući u hackathonima i stažiranju, uspio sam upoznati nekoliko vrlo talentiranih programera od kojih sam puno naučio.
U ovom ću članku proći kroz neke zablude koje ljudi mogu imati o inženjeru 10X. Nakon što pogledamo što je 10X inženjer ne, proći ćemo kroz neke od najboljih savjeta koje vam mogu dati da i sami postanete 10X inženjer.
Što je 10X inženjer?
Mnogi programeri raspravljali bi o stvarnoj definiciji 10X inženjera. Ali radi jasnoće, pokušajmo sada definirati jednostavnu definiciju.
Inženjer 10X programer je softvera koji može biti produktivan kao deset njegovih kolega.
Ideja o 10X inženjeru možda je nastala ranije nego što mislite.
A znanstveni rad iz 1968. pod nazivom “Istraživačke, eksperimentalne studije koje uspoređuju izvedbu online i offline programiranja” prvi su predložili ideju da neki od najboljih programera rade red veličine bolje od najgorih programera. Iako ovo nije definicija oko koje se danas slažemo, ideja o inženjeru 10X ubrzo se proširila izvan akademske zajednice.
Nekoliko godina kasnije, klasična knjiga The Mitski čovjek-mjesec dodatno je ilustrirao ideju inženjera 10X. Autor Fred Brooks to predlaže razvoj softvera timovi bi mogli biti strukturirani poput kirurških timova.
U ovom timu biste imali glavnog programera ili "kirurga" s pratećim programerima ili "medicinskim sestrama".
Iako je ovu analogiju lako razumjeti, vjerujem da je pomalo jednostavna i zastarjela kada se primijeni na trenutno stanje razvoja softvera.
Timska dinamika u tehničkom timu uvelike se razlikuje od kirurške. Ova ideja da jedna osoba obavlja većinu posla ili samo najizazovniji posao pogrešno je okarakterizirala ono što vjerujem da bi 10X inženjer trebao biti.
Uobičajene zablude
Kako se ideja o inženjeru 10X proširila cijelom tehnološkom sferom, većina menadžera često pogrešno tumači što mislimo pod "10X".
Uobičajena zabluda je da inženjeri 10X proizvode deset puta više koda od svojih kolega. To jednostavno nije točno.
Iako bi 10X inženjer izvedivo mogao proizvesti više koda od svojih kolega, količina nije pravi pokazatelj. Zamislite programera koji potroši tisuću redaka koda izvodeći ono što bi se moglo učiniti za manje od stotinu. Slično tome, 10X inženjer ne kodira deset puta brže!
Još jedna zabluda o 10X inženjerima je da su izvrsni samo zbog svog znanja kodiranja. Opet, ovo je još jedan slučaj promatranja krive metrike.
Ono što 10X inženjera čini tako vrijednim je to što dodaje deset puta veću vrijednost svom timu i organizaciji. 10X inženjer je nezamjenjiv zbog svoje sposobnosti korištenja svog znanja kodiranja i usklađivanja s potrebama tvrtke.
Menadžeri bi trebali tražiti inženjere koji mogu riješiti probleme i dobro surađivati s drugima. Osim znanja o kodiranju, inženjeri 10X trebali bi moći unaprijediti rad svih oko sebe.
Pet načina da postanete 10x inženjer
Ovaj odjeljak je za vas ako ste menadžer koji traži sljedećeg zaposlenja ili jednostavno inženjer koji želi biti 10X inženjer.
Evo nekih od ključnih navika i osobina 10X inženjera:
Oni znaju kako najbolje iskoristiti svoju tehnologiju
Poznavanje vaših alata možda je najočitiji savjet koji vam mogu dati. Međutim, mnogi programeri još uvijek mogu poboljšati svoj tijek rada učenjem kako raditi učinkovito.
Većina 10x inženjera s kojima sam radio zna svoj put oko terminala. Iako bi to moglo biti pomalo krivulja učenja za početnike, razumijevanje kako izraditi naredbe ljuske u hodu pomoći će vam da svoj posao obavljate puno brže na duge staze.
10x inženjeri također mogu imati koristi od toga da budu malo lijeni. Da ti kažem što mislim.
Zamislite da svaki dan morate ručno izvoditi niz naredbi kako biste gurnuli nove obveze u proizvodnju. Inženjer 10x trebao bi izbjegavati obavljanje zadataka koji se ponavljaju. Ulažu dodatne napore kako bi automatizirali što veći dio dana.
Najbolji inženjeri također bi trebali razmišljati dugoročno. Ako radite za startup, moglo bi biti primamljivo usredotočiti se na brza i laka rješenja. Međutim, ta se rješenja možda neće proširiti.
Nikada ne prestaju učiti
Sjajan programer nikad ne prestaje učiti. Najbolji inženjeri nalaze vremena izvan svog užurbanog radnog dana kako bi isprobali nove koncepte, jezike i okvire koje mogu pokušati primijeniti na svoj rad.
Inženjer 10x trebao bi održavati zdrav osjećaj znatiželje. Često se pitaju: "Može li se ovo učiniti bolje?" ili "Postoji li jednostavniji ili učinkovitiji način za rješavanje ovog problema."
Dakle, 10x inženjer mora ovladati samom umjetnošću učenja. Naučiti kako učiti najbolji je način da ostanete na površini u brzom okruženju.
Oni znaju kako najbolje provesti svoje vrijeme
Sjajan softverski inženjer izvrstan je u donošenju odluka, posebice o tome što će učiniti sa svojim vremenom.
10X inženjeri rijetko trebaju raditi više sati od prosječnog inženjera. Inženjeri bi trebali znati kada odstupiti i reći ne određenim zahtjevima. Trebali bi znati koje zadatke trebaju obaviti sami, a koje delegirati.
Učinkoviti inženjeri trebali bi savladati kako razlučiti je li zadatak vrijedan brzog obavljanja. Jedan mentalni model koji treba imati na umu je Paretovo načelo.
Načelo kaže da 80% vrijednosti vašeg rada dolazi od 20% vašeg truda. Drugim riječima, nisu svi zadaci jednaki.
Traže odgovarajuće mentorstvo
Veliki inženjer može toliko naučiti od iskusnog veterana u industriji. 10X inženjeri često traže mentorstvo unutar i izvan posla kako bi unaprijedili svoje znanje.
Slično tome, 10X inženjeri će imati koristi od preuzimanja uloge mentora svojim suigračima. Cijelu momčad podiže otvorenost prema njegovim suigračima početnicima.
Oni razumiju posao
Jednostavnim riječima, softversko inženjerstvo samo je način na koji računala rješavaju problem iz stvarnog svijeta. Imajući to na umu, učinkovit inženjer mora postati stručnjak za problem koji pokušava riješiti.
Kao inženjer, pametna je ideja potruditi se razumjeti posao ili industriju kojoj pripadate. Inženjer 10x trebao bi biti aktivan sudionik na sastancima s drugim odjelima.
Ako inženjer uloži trud u razumijevanje onoga što drugi odjeli rade u kontekstu poslovanja, postat će učinkovit komunikator. Učinkovita komunikacija spriječit će vaš tim od pogrešnog razumijevanja poslovnih zahtjeva i specifikacija projekta.
Zaključak
Nadamo se da sada imate jasniju sliku o tome kako izgleda 10X inženjer. Također biste trebali razumjeti što 10X inženjer nije.
Gornji savjet je, naravno, samo opća smjernica koja se može primijeniti na bilo koju ulogu softverskog inženjeringa. Ako želite saznati kako možete biti najbolji DevOps inženjer, full stack programer ili podatkovni znanstvenik, vaša najbolja opcija je pronaći prilike za učenje i izgradnju.
Razmislite je li vaš trenutni položaj dobro okruženje za učenje. Možda želite provesti više vremena radeći na sporednim projektima koji će vam omogućiti da istražite tehnologije izvan vašeg trenutnog tehnološkog niza. Ovo su samo neki od savjeta koje možete slijediti kako biste stekli prednost u tehnologiji.
Što mislite koji je najkorisniji savjet za ambiciozne inženjere?
Ostavi odgovor