Wróć do bloga

Hipergeneralista czy skrajny specjalista? Czas wybrać stronę

Rynek tech dzieli się na dwa obozy: hipergeneralistów i skrajnych specjalistów. Dlaczego środek znika i jak mądrze wybrać swoją ścieżkę.

4 min czytaniaOpublikowano
  • Kariera
  • AI
  • Inżynieria Oprogramowania
  • Technologia
UdostępnijXEmailFacebookWhatsApp

Kilka osób z mojej uczelni napisało do mnie po wskazówki dotyczące szukania pracy. Ostatnio więc spędzam sporo czasu na job boardach i przy tych wszystkich ofertach dwie rzeczy rzucają się w oczy.

  1. Opisy stanowisk nie proszą już tylko o „5+ lat Reacta” albo „mile widziane Kubernetes”. Teraz proszą o… wszystko.
  2. Albo proszą o jedną absurdalnie konkretną rzecz.

Mam wrażenie, że branża pęka na pół, a bycie „trochę z jednej i trochę z drugiej strony” staje się wyrokiem śmierci dla kariery. I niestety to właśnie miejsce, w którym stoi większość z nas.

Po jednej stronie mamy to, co nazywam hipergeneralistą. To już nie jest „full-stack developer”, którego wszyscy udajemy od 2015 roku. Tamto to był frontend + backend i czasem odrobina DevOps, jeśli miałeś pecha. To nowe zjawisko to inna skala.

Role typu „Forward Deployed Engineer” (podobno +800%, chociaż nie wiem, kto to liczy). Po krótkim researchu z ChatGPT wygląda na to, że ta praca polega na wejściu do firmy klienta i byciu jednocześnie tymczasowym CTO, terapeutą i małpą od skryptów. Jeden kwartał jesteś w Snapchatcie i pomagasz im przepalić kredyty AWS, a kolejny w banku tłumaczysz, że ich „strategia AI” to po prostu ChatGPT opakowany w kiepskie API. Musisz znać Rusta, jasne, ale musisz też umieć mówić na spotkaniu zarządu i tłumaczyć „dług techniczny” na „risk-adjusted ROI” dla ludzi, którzy nadal drukują maile.

Kod jest tańszy niż kiedykolwiek i ten koszt będzie tylko spadał. Cursor wyrzuca działające CRUD-y szybciej, niż ja piszę README. Wartość nie leży już w samej składni. Za chwilę pewnie przestaniemy widzieć role typu „Java Developer” czy „Python Developer”, a zaczniemy mieć „Prompted Software Engineer” albo „Specjalista od sprzątania Vibe Code”. Wartością staje się kontekst. Czy potrafisz wejść w bałagan, zrozumieć, który bałagan naprawdę ma znaczenie, naprawić go, gdy klient patrzy ci na ręce, i wyjść zanim zaprosi cię do swojego klubu książki?

A po drugiej stronie mamy skrajnego specjalistę.

Ta grupa trochę mnie przeraża. To nie są „senior React developerzy” ani „eksperci Pythona”. To ludzie, którzy zeszli tak głęboko w jeden pion, że mówią już praktycznie innym językiem. Pomyśl o Jaredzie Sumnerze budującym Bun nie dlatego, że kocha JavaScript, ale dlatego, że jest systemowym maniakiem, który uznał, że web musi przestać być wolny. Teraz jest w Anthropic i robi Bóg-wie-co w Zigu, pewnie pisząc alokatory pamięci, od których nawet ludzie od kernela Linuksa mają ciarki.

Startupy AI płacą siedmiocyfrowe kwoty pojedynczym inżynierom ML. Nie zespołom. Pojedynczym ludziom. Ci ludzie mają doktoraty albo przez pięć lat obsesyjnie rozwiązują jeden konkretny problem optymalizacyjny. Nie mają „soft skills”, bo ich nie potrzebują. Nie dołączają do twojego standupu. Siedzą gdzieś w piwnicy i sprawiają, że transformery działają o 0,3% szybciej, a te 0,3% bywa warte więcej niż cała moja kariera.

Niewygodna prawda jest taka, że środek umiera. Nie wystarczy już grind LeetCode przez trzy miesiące, wykucie dokumentacji Reacta i miękkie lądowanie w FAANG. Te wygodne TikToki „day in the life”, gdzie ktoś koduje 20 minut, a potem gra w ping-ponga? To już eksponaty muzealne. Pipeline bootcamp -> big tech rdzewieje i się zamyka.

Musisz wybrać stronę i pójść w ekstremum.

Albo stajesz się osobą, która wejdzie w dowolny codebase, dowolny kontekst biznesowy, dowolny stack i dowiezie wartość do piątku, podczas gdy klient oddycha ci w kark. Jesteś najemnikiem. Utility playerem. Kimś, kto wie wystarczająco dużo o Postgresie, procesach sprzedaży i zarządzaniu projektami, żeby utrzymać wszystko w ruchu, gdy „prawdziwi inżynierowie” (specjaliści) robią faktyczną neurochirurgię.

Albo idziesz w drugą stronę. Wybierasz jedną rzecz, jeden język, jedną warstwę stacku, jedną dziedzinę matematyczną i schodzisz w to jak do kopalni złota. Przestajesz odwiedzać babcię i odwozić dzieci do szkoły. Uczysz się kształtu każdego cache missa. Śnisz o algorytmach garbage collectora. Stajesz się tak specyficzny, że firmy muszą wymyślać role tylko po to, żeby uzasadnić twoje wynagrodzenie.

Szczerze? Ja stawiam na generalizację. Jest coś cholernie pociągającego w ogarnianiu wszystkiego z wielu kątów, w byciu osobą, która potrafi pogadać o systemach rozproszonych, a chwilę później o tym, dlaczego model cenowy nie ma sensu. Lubię łączyć kropki, sklejać je razem i czasem mieć odrobinę nadziei, że to się nie rozpadnie przy pierwszym podmuchu wiatru. Lubię nosić różne kapelusze, nawet jeśli niektóre leżą dziwnie.

Ale gdy patrzę na skrajnych specjalistów, tak naprawdę patrzę, czuję ten ukłucie zazdrości. Czystość ich fokusu, brutalna liczba godzin wkładanych w rzemiosło, obsesja i fakt, że znają praktycznie wszystkie istotne papers w swoim polu. Ten moment, gdy ktoś mówi: „nie obchodzi mnie twój model biznesowy, ja sprawiam, że krzem śpiewa” i naprawdę to znaczy. To też jest rodzaj wolności.

Nie wiem, dokąd to prowadzi. Może generaliści staną się nowymi sales engineerami, a specjaliści nowymi research scientistami i przestaniemy udawać, że środek kiedykolwiek istniał. Może „software engineer” przestanie być jednym stanowiskiem i rozpadnie się na dziesięć różnych gatunków.

Wiem tylko tyle, że bycie przeciętnym, bycie „całkiem dobrym w React i trochę ogarniającym cloud”, coraz bardziej przypomina wyrok. Wybierz stronę i biegnij na krawędź jak szalony.