Deweloperzy 10x to mityczne stworzenia naszych czasów.

Czym oni są? Co robią, aby być tak wyjątkowymi?
Co to w ogóle znaczy 10x? Programista 10x to ktoś, kto jest (uważa się, że jest) tak produktywny jak 10 innych. Byłby on zatem w stanie wyprodukować 10 razy więcej wyników niż jego koledzy.

O czym tak naprawdę mówimy?
Oczywiście starszy inżynier może być 10 razy bardziej produktywny niż stażysta, ale czy naprawdę byłoby to możliwe wśród kolegów z takim samym doświadczeniem i przynajmniej na papierze z takim samym poziomem umiejętności?

Często czytając o wydajności i produktywności w zespołach można znaleźć takie rzeczy jak Prawo Pareto i Krzywa Gaussa. (określane również jako Prawo Mocy i Krzywa Bella).
Prawo Pareto jest słynną zasadą 80-20, ważną dla prawie wszystkiego: od dystrybucji bogactwa i globalnej nierówności do zarządzania czasem i produktywności.
Gdy mówimy o Wydajności Zespołu, wynika z tego, że :
80% programistów wykonuje tylko 20% pracy. Oznacza to, że pozostałe 20%, Top Performers, są w stanie wykonać 80% wszystkich zadań.
Krzywa Bella jest często używana do opisania rozkładu zdolności pracowników do wykonywania zadań, stwierdzając, że około 80% pracowników jest ustawionych wokół średniej, podczas gdy pozostali są albo najlepszymi wykonawcami, albo złymi wykonawcami.

pareto

Jakkolwiek możemy patrzeć na te wykresy i liczby, różnica między najlepszym wykonawcą a najgorszym wykonawcą w zespole może być ogromna. Może po prostu odnosimy się do tego, kiedy mówimy o 10x dev? Albo powinniśmy po prostu rozważyć różnicę w stosunku do średniej pozostałych devów. Niezależnie od tego czy coś takiego byłoby statystycznie możliwe czy nie, nie możemy zaprzeczyć, że niektórzy programiści są w rzeczywistości bardziej wydajni niż inni.
Skąd więc bierze się ta niesamowitość?

Czy to z powodu lat doświadczenia? Nie bardzo.

10 lat doświadczenia może po prostu oznaczać 1-letnie doświadczenie powtórzone 10 razy.

Jeśli utknąłeś w tej samej pracy, wykonując to samo zadanie każdego dnia, każdego roku i jeśli nie czujesz potrzeby, aby się rozwijać i uczyć nowych rzeczy, możesz być zaskoczony, gdy zwykły dev z tylko 3 latami na swoim CV jest szybki i wie więcej niż ty (nie tylko na najnowszym stosie technologii).

Czy to dlatego, że pracują do późna i nie mają życia? Nie bardzo.

A 10x dev nie jest mieleniem długich godzin. To nie znaczy, że pracuje dłużej. Zdecydowanie oznacza pracować ciężej, ale głównie w mądrzejszy sposób.

Jestem daleki od bycia 10x devem, ale w mojej karierze miałem szczęście spotkać i pracować z co najmniej kilkoma takimi niesamowitymi osobami i mogę powiedzieć, że są to niektóre z cech/cech, które mieli wspólne:

Pracuj nad właściwymi rzeczami we właściwy sposób

Efektywność i wydajność:

Bycie efektywnym polega na robieniu właściwych rzeczy, podczas gdy bycie efektywnym polega na robieniu rzeczy dobrze.

Cóż, 10x devs zazwyczaj robią obie te rzeczy. Nie tracą czasu na robienie niepotrzebnych rzeczy w najbardziej doskonały sposób. Robią właściwe rzeczy, w (wystarczająco) właściwy sposób.
Można to osiągnąć poprzez:

zadawanie pytań

dlaczego

Czasami złe wymagania, niejasne specyfikacje i błędne założenia mogą sprawić, że zmarnujesz godziny czasu na rozwój. Nie tylko będziesz musiał ponownie dostosować swoje szacunki lub wcisnąć poprawki, ale może to być również bardzo frustrujące, gdy musisz wyrzucić cały wspaniały kod, który właśnie stworzyłeś.

jak

Jeśli utknąłeś, jeśli potrzebujesz pomocy, poproś o nią. Nie pytaj o rozwiązanie, zapytaj o podpowiedź, wskazówkę, wskazówkę, która może doprowadzić cię do znalezienia rozwiązania na własną rękę. nie bój się. nie powinieneś wiedzieć wszystkiego i dobrze, że pokazujesz, że jesteś chętny do nauki.

Bądź skupiony, unikaj rozpraszaczy

Ile czasu naprawdę spędzamy oglądając youtube, sprawdzając nasz telefon, odpowiadając znajomym na WhatsApp lub Snapchat, lub po prostu przewijając ścianę Facebooka?
co jeśli powiem ci, że spędzasz od 1 do 2 godzin dziennie na nich? sprawdź użycie tych aplikacji na twoim telefonie. będziesz przerażony. (możesz użyć aplikacji takich jak ta, aby to udowodnić).
Nie musimy koniecznie rezygnować z tego wszystkiego. Po prostu rozpoznanie ile czasu marnujemy na te rzeczy, kiedy mamy być produktywni jest pierwszym krokiem, a następnie możemy użyć narzędzi takich jak technika Pomodoro, aby pomóc nam trzymać się z dala od sieci społecznościowych i smartfonów i utrzymać FLOW przynajmniej przez cały czas trwania czasomierza Pomodoro.

Social Network distractions

Nie mówię nawet, że nie powinniśmy robić przerw, chodzi bardziej o bycie naprawdę świadomym tego, gdzie nasz cenny czas jest drenowany. (nawet jeśli zdecydowanie lepiej jest wstać, przejść się, porozmawiać z kolegą, pograć w kickera lub tenisa stołowego przez 10 minut, niż sprawdzać Facebooka. Daj swoim oczom i mózgowi odpocząć od ekranu!).

Przerwa, zwolnienie na chwilę może faktycznie zwiększyć twoją produktywność

Używaj narzędzi, które cię przyspieszają, naucz się skrótów

To co robimy głównie to pisanie i klikanie, wydaje się to szalone, ale możesz naprawdę stać się superszybki, jeśli zaczniesz używać skrótów w swoim IDE i jeśli używasz Terminala / CommandLine w szerokim zakresie. Uruchomienie grep version package.json jest znacznie szybsze niż przejście do Findera, kliknięcie na pakiet.json otworzyć, a następnie przeczytać parametr wersji.
Typing

git stash git pull git checkout -b my_new_feature git stash pop
Enter fullscreen mode Exit fullscreen mode

jest waaaay faster niż robienie tego samego za pomocą dowolnego narzędzia wizualnego.

Możesz myśleć, że to tylko ubywające sekundy, ale aby stać się 10x devem każda sekunda ma znaczenie (i tak czy inaczej trzymanie się z dala od myszy jest dobre, aby zapobiec Syndromowi Tunelu Nadgarstka)
Tutaj możesz przeczytać o niektórych narzędziach i wskazówkach, które pomagają mi pisać i debugować kod lepiej i szybciej.

szybkie pisanie

Bądź chętny do nauki

Ilość informacji jest ogromna. Czasami trzeba za nią zapłacić, większość czasu jest darmowa. Nie ma żadnych wymówek, aby nie poświęcić trochę czasu na rozwój osobisty. Czytaj artykuły, słuchaj podcastów, oglądaj tutoriale i podążaj za kursami online. To nawet nie musi być zawsze o kodowaniu – w przeciwnym razie można by argumentować, że rzeczywiście 10x dev spędza cały dzień „pracując” – (na przykład uważam Getting Smarter Every Day i You are not so smart za bardzo łaskoczące umysł).
Jest to bardziej postawa, stan umysłu. Ciekawość, pragnienie wiedzy odróżnia nas od przeciętnych.

Otocz się Top Performerami / Znajdź Mentora

Bycie najszybszym, najmądrzejszym, najbardziej wykwalifikowanym programistą w zespole może być dobre dla Twojego ego, ale nie dla Twojego rozwoju. Tak wygodne i satysfakcjonujące jak to może być, staraj się nigdy nie być najmądrzejszą osobą w pokoju i zawsze szukaj ludzi, którzy są bardzo dobrzy w tym co robią, którzy są lepsi od ciebie i trzymaj się ich.

Oddaj się. Dziel się swoją wiedzą

Jak tylko się czegoś nauczysz, postaraj się pomóc komuś innemu, naucz innych kolegów, podziel się swoją wiedzą.
Może to być udzielenie kilku rad po codziennym standupie, przygotowanie krótkiej prezentacji dla swojego zespołu, napisanie posta na blogu lub zostanie mentorem na platformie kodowania online.
Nigdy nie bądź arogancki lub zirytowany wobec kogoś, kto wie mniej niż Ty.

Jeśli weźmiemy to wszystko pod uwagę, to oczywiście bardzo dobry programista ma solidne, mocne umiejętności programistyczne, ale to, co naprawdę może zrobić różnicę, to pasja, nastawienie i pewne umiejętności miękkie.
Koledzy, na których patrzyłem z podziwem i którzy najbardziej inspirowali mnie do samodoskonalenia, byli bardzo zmotywowani i wykwalifikowani, i oczywiście super szybcy w wykonywaniu swoich zadań: nic nie wydawało się ich zatrzymywać lub przerażać, jeśli czegoś nie wiedzieli, badali to przez kilka godzin, a następnie czuli się wystarczająco pewni siebie, aby przejąć odpowiedzialność za poprawkę błędu lub funkcję. Na dodatek, pisali dokumentację, organizowali warsztaty lub mini prezentacje, gdy tylko znaleźli lub nauczyli się czegoś, co mogłoby być korzystne dla innych członków zespołu. Uwielbiali się dzielić.

I w końcu wierzę, że to może być prawdziwy czynnik mnożący. Dzielenie się wiedzą, wspieranie rozwoju, bycie przykładem pasji i ciężkiej pracy, to jest to, co naprawdę może mieć niesamowicie pozytywny wpływ na innych ludzi i podnieść poprzeczkę w wydajności zespołu (nawet jeśli składa się z samych „przeciętnych” programistów).

keep raising the bar

.

Articles

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.