Da li je 10X inženjer mit?
Realnost je da su neki ljudi bolji u programiranju od drugih.
Na mojoj prethodnoj poziciji u tehnološkoj kompaniji, bio sam zadivljen kako neki ljudi u mom timu izgleda znaju kako sve da urade.
Čak i tokom svog vremena na univerzitetu, učestvujući na hakatonima i stažiranju, mogao sam da upoznam nekoliko veoma talentovanih programera od kojih sam mnogo naučio.
U ovom članku ću proći kroz neke zablude koje ljudi mogu imati o 10X inženjeru. Nakon što pogledamo šta je 10X inženjer ne, proći ćemo kroz neke od najboljih savjeta koje vam mogu dati da i sami postanete 10X inženjer.
Šta je 10X inženjer?
Mnogi programeri bi se raspravljali oko stvarne definicije 10X inženjera. Ali radi jasnoće, pokušajmo sada definirati jednostavnu definiciju.
10X inženjer je programer softvera koji je u stanju da bude produktivan kao desetoro svojih kolega.
Ideja o inženjeru 10X možda je nastala ranije nego što mislite.
A istraživački rad iz 1968. pod nazivom “Istraživačke, eksperimentalne studije koje upoređuju performanse onlajn i oflajn programiranja” prvi su predložili ideju da neki od najboljih programera rade red veličine bolje od najgorih programera. Iako ovo nije definicija koja je dogovorena danas, ideja o inženjeru 10X ubrzo se proširila izvan akademskih krugova.
Nekoliko godina kasnije, klasična knjiga The Mitski čovjek-mjesec dalje ilustrovao ideju 10X inženjera. Autor Fred Brooks to predlaže razvoj softvera timovi bi mogli biti strukturirani kao hirurški timovi.
U ovom timu biste imali glavnog programera ili „hirurga“ sa pomoćnim programerima ili „medicinskim sestrama“.
Iako je ovu analogiju lako razumjeti, vjerujem da je malo pojednostavljena i zastarjela kada se primjenjuje na trenutno stanje razvoja softvera.
Timska dinamika u tehničkom timu se veoma razlikuje od hirurške. Ova ideja o jednoj osobi koja radi većinu posla ili samo najizazovniji posao je pogrešno okarakterizirala ono što vjerujem da bi 10X inženjer trebao biti.
Uobičajene zablude
Kako se ideja o inženjeru 10X širila po cijeloj tehnološkoj sferi, većina menadžera često pogrešno tumači ono što podrazumijevamo pod "10X".
Uobičajena zabluda je da 10X inženjeri proizvode deset puta veću količinu koda od svojih kolega. Ovo jednostavno nije istina.
Dok bi 10X inženjer mogao proizvesti više koda od svojih kolega, količina nije prava metrika. Zamislite programera koji potroši hiljadu redova koda izvodeći ono što se može uraditi za manje od stotinu. Slično, 10X inženjer ne kodira deset puta brže!
Još jedna zabluda o 10X inženjerima je da su sjajni jednostavno zbog svog znanja kodiranja. Opet, ovo je još jedan slučaj gledanja na pogrešnu metriku.
Ono što 10X inženjera čini tako vrijednim je to kako on dodaje deset puta veću vrijednost svom timu i organizaciji. 10X inženjer je nezamjenjiv zbog njihove sposobnosti da koriste svoje znanje kodiranja i usklade ga s potrebama kompanije.
Menadžeri bi trebali tražiti inženjere koji mogu riješiti probleme i dobro raditi s drugima. Osim znanja o kodiranju, 10X inženjeri bi trebali biti u mogućnosti da podignu rad svih oko sebe.
Pet načina da budete 10x inženjer
Ovaj odjeljak je za vas ako ste menadžer koji traži vaše sljedeće zapošljavanje ili jednostavno inženjer koji teži da bude 10X inženjer.
Evo nekih od ključnih navika i osobina 10X inženjera:
Oni znaju kako da maksimalno iskoriste svoju tehnologiju
Poznavanje vaših alata je možda najočitiji savjet koji vam mogu dati. Međutim, mnogi programeri i dalje mogu poboljšati svoj radni tok učeći kako da rade efikasno.
Većina 10x inženjera s kojima sam radio zna kako se snalaziti u terminalu. Iako je to možda malo krivulja učenja za početnike, razumijevanje kako napraviti komande shell-a u hodu će vam pomoći da svoj posao obavite mnogo brže na duge staze.
10x inženjeri takođe mogu imati koristi od toga da budu malo lijeni. Dozvolite mi da vam kažem na šta mislim.
Zamislite da morate ručno izvoditi niz naredbi svaki dan da biste gurnuli nova urezivanja u produkciju. 10x inženjer bi trebao izbjegavati ponavljanje zadataka. Ulažu dodatni napor da automatizuju što veći deo dana.
Najbolji inženjeri bi takođe trebali razmišljati dugoročno. Ako radite za startup, moglo bi biti primamljivo da se fokusirate na brza i laka rješenja. Međutim, ova rješenja se možda neće povećati na niže.
Nikada ne prestaju da uče
Sjajan programer nikada ne prestaje da uči. Najbolji inženjeri pronalaze vremena u svom užurbanom radnom danu da isprobaju nove koncepte, jezike i okvire koje mogu pokušati primijeniti u svom poslu.
Inženjer 10x bi trebao održavati zdrav osjećaj radoznalosti. Često se pitaju: "Može li se ovo učiniti bolje?" ili "Postoji li jednostavniji ili efikasniji način da se riješi ovaj problem."
Dakle, 10x inženjer mora ovladati umijećem samog učenja. Učenje kako učiti je najbolji način da ostanete na površini u brzom okruženju.
Oni znaju kako najbolje provesti vrijeme
Sjajan softverski inženjer je odličan u donošenju odluka, posebno o tome šta da rade sa svojim vremenom.
10X inženjeri rijetko trebaju raditi više sati od prosječnog inženjera. Inženjeri bi trebali znati kada da se povuku i kažu ne na određene zahtjeve. Oni treba da znaju koje zadatke da obavljaju sami, a koje da delegiraju.
Učinkoviti inženjeri bi trebali savladati kako razlučiti da li je zadatak vrijedan brzog obavljanja. Jedan mentalni model koji treba imati na umu je Pareto princip.
Princip 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 industrije. 10X inženjeri često traže mentorstvo u i izvan posla kako bi unaprijedili svoje znanje.
Slično, 10X inženjeri će imati koristi od preuzimanja mentorske uloge svojim saigračima. Cijeli tim se podiže tako što je otvoren prema svojim saigračima početnicima.
Razumiju posao
Jednostavnim riječima, softversko inženjerstvo je samo način na koji kompjuteri mogu riješiti problem iz stvarnog svijeta. Imajući to na umu, efikasan inženjer mora postati stručnjak za problem koji pokušava riješiti.
Kao inženjeru, pametna je ideja da se potrudite da steknete razumijevanje o poslu ili industriji čiji ste dio. 10x inženjer treba da bude aktivan učesnik na sastancima sa drugim odeljenjima.
Ako inženjer uloži napor da razumije šta drugi odjeli rade u kontekstu poslovanja, oni će postati učinkovit komunikator. Efikasna komunikacija će spriječiti vaš tim da pogrešno shvati poslovne zahtjeve i specifikacije projekta.
zaključak
Nadamo se da sada imate jasniju sliku o tome kako izgleda 10X inženjer. Takođe bi trebalo da razumete šta 10X inženjer nije.
Gore navedeni savjet je, naravno, samo opća smjernica koja se može primijeniti na bilo koju ulogu softverskog inženjeringa. Ako želite da saznate kako možete biti najbolji DevOps inženjer, full stack developer ili data science, vaša najbolja opcija je da pronađete prilike za učenje i izgradnju.
Razmislite da li je vaša trenutna pozicija dobro okruženje za učenje. Možda želite da provedete 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 da biste stekli prednost u tehnologiji.
Šta mislite da je najkorisniji savjet za buduće inženjere?
Ostavite odgovor