Programiści „10x” oraz „1000x”
Słyszałeś określenie "10x programmer"? Chodzi o programistów, którzy są w stanie rozwiązywać problemy w czasie 10x krótszym niż pozostali. Często mówi się, że to…
Słyszałeś określenie "10x programmer"? Chodzi o programistów, którzy są w stanie rozwiązywać problemy w czasie 10x krótszym niż pozostali. Często mówi się, że to mit. Czy na pewno? A co powiesz na programistów 1000x?
Przede wszystkim odpowiedzmy sobie na pytanie czy w ogóle koncepcja programisty "10x" jest w ogóle realna. W końcu często tempo rozwiązywania problemów rośnie razem z doświadczeniem. Natomiast nadal nie o to tutaj chodzi, ponieważ koncepcja ta dotyczy właśnie "senior developerów", którzy z jakiegoś powodu wyróżniają się na tle pozostałych.
Wydaje się że coś takiego może nie być możliwe, albo nawet jeżeli jest, to i tak zdarza się wyjątkowo rzadko oraz wymaga pewnego rodzaju geniuszu. Jednocześnie jest wiele osób, które uważają że "10x programmers" to po prostu mit.
Moim celem nie jest tutaj przekonanie Cię o tym, czy tak jest czy nie, tylko pokazanie pewnej perspektywy, która w mojej opinii jest dość interesująca. Nie będziemy też tutaj omawiać złożonych wskaźników dotyczących sposobów mierzenia efektywności programistów, bo nie zależy mi tutaj na szczegółach, lecz szerokiej perspektywie.
Otóż jesteśmy w stanie wyobrazić sobie programistów 10x. Myślę że nie jest to poza zasięgiem wyobraźni a może nawet w niektórych przypadkach jesteśmy w stanie wskazać osoby (lub inni patrzą tak na nas), które można określić jako "10x". Natomiast co ze wspomnianymi programistami 1000x?
Ta koncepcja została poruszona przez Navala Ravikanta – znanego inwestora z Doliny Krzemowej, który zainwestował na wczesnym etapie m.in. w Ubera, Twittera czy Notion. On sam jest postacią którą moim zdaniem warto obserwować. O programistach 1000x wspomniał przynajmniej w kilku miejscach, natomiast ja przeczytałem o niej w książce *"Almanack of Naval Ravikant". *
Forget 10x programmers. 1,000x programmers really exist, we just don’t fully acknowledge it. See @ID\AA_Carmack, @notch, Satoshi Nakomoto, etc. _
To cytat z książki, gdzie jak widzisz Naval nie tylko mówi o programistach 1000x ale również wskazuje wybitne osoby, które w mojej opinii zasługują na takie miano.
Bez wątpienia np. John Carmack, który stoi za Doomem, Quake'm a później za Oculus VR, nie tylko wyróżnił się niesamowitymi umiejętnościami ale znacznie wpłynął na całą branżę gier a teraz wirtualnej rzeczywistości. Wystarczy zobaczyć jak niesamowitym sprzętem jest teraz Oculus Quest 2.
Natomiast tutaj nie chodzi do końca o jego programistyczne umiejętności (które i tak są niezwykłe) ale Naval zwrócił tutaj uwagę na jeden fakt. Programiści 1000x są w stanie małym fragmentem kodu albo jakąś małą aplikacją przynieść wartość biznesową na poziomie pół miliarda dolarów. Brzmi niewiarygodnie?
Sam spotkałem się z sytuacją, gdzie jeden pomysł lub mała aplikacja, oszczędzała dziesiątki godzin pracy managerów w średniej wielkości firmie. W tym przypadku przygotowanie rozwiązania zajęło ~6 godzin, choć wydawałoby się że potrzebny jest tutaj skomplikowany system, którego development zajmie miesiące.
Oczywiście nadal z określeniem "1000x programmers" można się nie zgadzać ale tak w zasadzie, to chciałbym dać Ci wskazówkę która według mojego doświadczenia, rzeczywiście może pewnego dnia sprawić, że ktoś powie o Tobie to samo, co Naval o Johnie Carmack'u.
Według mnie ogromną dźwignią rozwoju programisty jest połączenie specjalizacji i generalizacji. Czy to w ogóle jest możliwe? Moim zdaniem jest i wymaga ogromnej ciekawości, umiejętności szybkiej nauki i zmiany kontekstu oraz zainteresowań wykraczających poza programowanie. Mowa tutaj o szerokim spojrzeniu ponad edytor kodu i rozwijanie swojej wiedzy w zakresie ekonomii, biznesu, psychologii czy nawet obszaru UX. Oczywiście nie chodzi o to aby być ekspertem w każdej z tych dziedzin, lecz o to aby być w stanie "z lotu ptaka" spojrzeć na nie wszystkie. Taka perspektywa pozwala rozwiązywać problemy w całkowicie niesamowity i nieszablonowy sposób, ponieważ po prostu widzisz to, czego nie widzą inni.
Jeżeli interesuje Cię ten temat, bardzo polecam Ci dwie książki: Range (David Epstein) oraz Simplify (Richard Koch).
Mam nadzieję że zarysowana przeze mnie perspektywa, dała Ci wartość a być może też wpłynie na to jak patrzysz na swój rozwój jako programista.
Powodzenia!
Lista linków z Newslettera:
Minimalistyczny i piękny terminal
Hyper to terminal stworzony w HTML / CSS / JavaScript, który charakteryzuje się ogromnymi możliwościami konfiguracji oraz minimalistycznym wyglądem.
Rethinking reactivity
Reaktywność obecna jest we wszystkich nowoczesnych frameworkach JavaScript a Rich Harris przedstawia tutaj nowe spojrzenie na ten temat.
Nowoczesne GUI dla baz danych
TablePlus to program, który docenią osoby pracujace z bazami danych mySQL, PostgreSQL czy SQLite.
Edytor Markdown ułatwiający skupienie
Jeżeli zdarza Ci się pisać dłuższe teksty (np. wpisy na bloga) i wykorzystujesz składnię markdown, IA Writer bardzo przypadnie Ci do gustu.
Zamień notatkę na Notion w stronę www
Super.so to świetna usługa pozwalająca na stworzenie prostej strony www, na podstawie notatki w aplikacji Notion.