Czy inżynier 10X to mit?
W rzeczywistości niektórzy ludzie są lepsi w programowaniu niż inni.
Na moim poprzednim stanowisku w firmie technologicznej byłem zachwycony tym, że niektórzy ludzie w moim zespole wydają się wiedzieć, jak wszystko zrobić.
Nawet podczas studiów, biorąc udział w hackathonach i stażach, udało mi się poznać kilku bardzo utalentowanych programistów, od których wiele się nauczyłem.
W tym artykule omówię pewne nieporozumienia, jakie ludzie mogą mieć na temat inżyniera 10X. Po przyjrzeniu się, czym jest inżynier 10X nie, omówimy niektóre z najlepszych rad, jakie mogę ci dać, aby samemu zostać inżynierem 10X.
Co to jest inżynier 10X?
Wielu programistów kłóciłoby się o faktyczną definicję inżyniera 10X. Ale dla jasności spróbujmy teraz zdefiniować prostą definicję.
Inżynier 10X to programista, który może być tak produktywny, jak dziesięciu jego kolegów.
Pomysł inżyniera 10X mógł zrodzić się wcześniej niż myślisz.
A Referat naukowy z 1968 roku zatytułowane „Badania eksploracyjne, eksperymentalne porównujące wydajność programowania online i offline” po raz pierwszy zaproponowały ideę, że niektórzy z najlepszych programistów działają o rząd wielkości lepiej niż najgorsi programiści. Chociaż nie jest to uzgodniona dzisiaj definicja, pomysł inżyniera 10X wkrótce rozprzestrzenił się poza środowiskiem akademickim.
Kilka lat później klasyczna książka The Mityczny człowiek-miesiąc dalej zilustrował ideę inżyniera 10X. Autor Fred Brooks sugeruje, że rozwoju oprogramowania zespoły mogą być zorganizowane jak zespoły chirurgiczne.
W tym zespole miałbyś głównego programistę lub „chirurga” ze wspierającymi programistami lub „pielęgniarkami”.
Chociaż ta analogia jest łatwa do zrozumienia, uważam, że jest nieco uproszczona i przestarzała w odniesieniu do obecnego stanu rozwoju oprogramowania.
Dynamika zespołu w zespole technicznym bardzo różni się od dynamiki chirurga. Pomysł, że jedna osoba wykonuje większość pracy lub tylko najbardziej wymagające zadania, błędnie określił, czym powinien być inżynier 10X.
Wspólne nieporozumienia
Ponieważ idea inżyniera 10X rozprzestrzeniła się w sferze technologicznej, większość menedżerów często błędnie interpretuje to, co rozumiemy przez „10X”.
Powszechnym błędnym przekonaniem jest to, że inżynierowie 10X produkują dziesięć razy więcej kodu niż ich koledzy. To po prostu nieprawda.
Podczas gdy inżynier 10X może wykonalnie wyprodukować więcej kodu niż jego koledzy, ilość nie jest właściwą miarą. Wyobraź sobie programistę, który wydaje tysiąc linijek kodu, wykonując to, co można zrobić w mniej niż sto. Podobnie inżynier 10X nie koduje dziesięć razy szybciej!
Innym nieporozumieniem dotyczącym inżynierów 10X jest to, że są świetni po prostu ze względu na ich wiedzę o kodowaniu. Znowu jest to kolejny przypadek spojrzenia na niewłaściwe dane.
To, co sprawia, że inżynier 10X jest tak cenny, to fakt, że dziesięciokrotnie zwiększa wartość swojego zespołu i organizacji. Inżynier 10X jest niezbędny, ponieważ potrafi wykorzystać swoją wiedzę o kodowaniu i dostosować ją do potrzeb firmy.
Menedżerowie powinni szukać inżynierów, którzy potrafią rozwiązywać problemy i dobrze współpracować z innymi. Poza wiedzą na temat kodowania, inżynierowie 10X powinni być w stanie usprawnić pracę wszystkich wokół nich.
Pięć sposobów, aby zostać inżynierem 10x
Ta sekcja jest dla Ciebie, jeśli jesteś menedżerem szukającym następnego zatrudnienia lub po prostu inżynierem, który aspiruje do bycia inżynierem 10X.
Oto niektóre z kluczowych nawyków i cech inżyniera 10X:
Wiedzą, jak najlepiej wykorzystać swój stos technologiczny
Znajomość swoich narzędzi jest prawdopodobnie najbardziej oczywistą radą, jaką mogę ci dać. Jednak wielu programistów nadal może poprawić swój przepływ pracy, ucząc się efektywnej pracy.
Większość inżynierów 10x, z którymi pracowałem, zna się na terminalu. Chociaż może to być trochę krzywa uczenia się dla początkujących, zrozumienie, jak tworzyć polecenia powłoki w locie, pomoże ci wykonać swoją pracę znacznie szybciej na dłuższą metę.
Inżynierowie 10x mogą również skorzystać na lenistwie. Powiem ci, co mam na myśli.
Wyobraź sobie, że musisz codziennie ręcznie wykonywać serię poleceń, aby wprowadzić nowe zatwierdzenia do produkcji. Inżynier 10x powinien unikać wykonywania powtarzalnych zadań. Dokładają wszelkich starań, aby zautomatyzować jak najwięcej dnia.
Najlepsi inżynierowie również powinni myśleć długofalowo. Jeśli pracujesz dla startupu, skoncentrowanie się na szybkich i łatwych rozwiązaniach może być kuszące. Jednak te rozwiązania mogą nie zwiększać skali.
Nigdy nie przestają się uczyć
Świetny programista nigdy nie przestaje się uczyć. Najlepsi inżynierowie znajdują czas poza swoim pracowitym dniem, aby wypróbować nowe koncepcje, języki i frameworki, które mogą zastosować w swojej pracy.
Inżynier 10x powinien zachować zdrowe poczucie ciekawości. Często zadają sobie pytanie: „Czy można to zrobić lepiej?” lub „Czy istnieje prostszy lub skuteczniejszy sposób rozwiązania tego problemu”.
Tak więc inżynier 10x musi opanować sztukę uczenia się sam. Nauka uczenia się to najlepszy sposób na utrzymanie się na powierzchni w dynamicznym środowisku.
Wiedzą, jak najlepiej spędzić czas
Świetny inżynier oprogramowania jest świetny w podejmowaniu decyzji, zwłaszcza dotyczących tego, co zrobić ze swoim czasem.
Inżynierowie 10X rzadko muszą pracować dłużej niż przeciętny inżynier. Inżynierowie powinni wiedzieć, kiedy odrzucić i odmówić niektórym prośbom. Powinni wiedzieć, które zadania wykonać samodzielnie, a które delegować.
Skuteczni inżynierowie powinni opanować umiejętność rozpoznawania, czy warto wykonać zadanie szybko. Jednym z modeli mentalnych, o których należy pamiętać, jest zasada Pareto.
Zasada mówi, że 80% wartości twojej pracy pochodzi z 20% twojego wysiłku. Innymi słowy, nie wszystkie zadania są sobie równe.
Szukają odpowiedniego mentoringu
Świetny inżynier może się tak wiele nauczyć od doświadczonego weterana branży. Inżynierowie 10X często szukają mentoringu w pracy i poza nią, aby poszerzyć swoją wiedzę.
Podobnie inżynierowie 10X skorzystają na objęciu roli mentora dla swoich kolegów z zespołu. Cały zespół podnosi się na duchu, otwierając się na swoich bardziej początkujących kolegów z drużyny.
Rozumieją biznes
Mówiąc prościej, inżynieria oprogramowania to tylko sposób, w jaki komputery mogą rozwiązać rzeczywisty problem. Mając to na uwadze, skuteczny inżynier musi stać się ekspertem od problemu, który próbuje rozwiązać.
Dla inżyniera mądrym pomysłem jest podjęcie wysiłku, aby zrozumieć biznes lub branżę, której jesteś częścią. Inżynier 10x powinien być aktywnym uczestnikiem spotkań z innymi działami.
Jeśli inżynier poświęci dużo wysiłku na zrozumienie, co robią inne działy w kontekście biznesu, stanie się skutecznym komunikatorem. Skuteczna komunikacja pomoże Twojemu zespołowi uchronić się przed niezrozumieniem wymagań biznesowych i specyfikacji projektu.
Wnioski
Mam nadzieję, że teraz masz jaśniejszy obraz tego, jak wygląda inżynier 10X. Powinieneś także rozumieć, czym inżynier 10X nie jest.
Powyższe porady to oczywiście tylko ogólne wytyczne, które można zastosować do każdej roli inżyniera oprogramowania. Jeśli chcesz dowiedzieć się, jak możesz być najlepszy Inżynier DevOps, programista Full Stack lub analityk danych, najlepszym rozwiązaniem jest znalezienie możliwości uczenia się i budowania.
Zastanów się, czy Twoje obecne stanowisko jest dobrym środowiskiem do nauki. Być może chcesz poświęcić więcej czasu na pracę nad projektami pobocznymi, które pozwolą ci odkrywać technologie spoza twojego obecnego stosu technologicznego. To tylko niektóre ze wskazówek, które możesz zastosować, aby uzyskać przewagę technologiczną.
Jaka jest Twoim zdaniem najbardziej pomocna rada dla początkujących inżynierów?
Dodaj komentarz