Nie zabijaj Developer Experience!
Na dzisiejszym rynku pracy developer experience (DX) jest bardzo ważnym tematem. Większość utalentowanych programistów może cenić sobie dobre DX nawet bardziej niż benefity lub branżę, w której pracują. Mimo to niektóre firmy usilnie starają się zabić to wszystko ich głupią polityką. A działając w ten sposób, nie są w stanie zatrzymać pracownika i cierpi na tym atrakcyjność firmy.
Wszystko zaczyna się od narzędzi
Powinno się dać programistom możliwość wyboru komputera i systemu operacyjnego, z którego będą korzystać. Ale nie wszędzie tak jest. Szczególnie starsze firmy, które wkraczają w świat IT, są zbyt skłonne kierować się w stronę korporacyjnego świata Windows, gdzie Eclipse jest jedyną rzeczą, którą można zainstalować na komputerze.
Narzędzia skalują się również do płaszczyzny fizycznej. Nikt nie chce używać starej, tłustej klawiatury, którą ostatni programista porzucił w kącie biura. Albo programować na ekranie mniejszym niż telewizor twojej babci z lat 70-tych. Programiści potrzebują wydajnych maszyn i dobrych narzędzi fizycznych. Drwal nie może ścinać drzew nożem do masła, prawda?
Development infrastructure.
Mam tu na myśli usługi i architekturę dostępne dla programistów. Kto do cholery chce pracować w miejscu, w którym nie ma dostępu do Internetu lub nawet wewnętrznych zasobów potrzebnych do wykonania pracy? Albo czekać na weryfikację zmian przez serwer CI przez długi czas? W najgorszym przypadku możesz pracować tylko z wolną maszyną wirtualną, która daje Ci dostęp do rzeczy, których potrzebujesz. Programiści chcą wiedzieć, że mogą skończyć coś w odpowiednim czasie.
Kontrola wersji, planowanie, review kodu, CI/CD, monitorowanie, środowiska developerskie, sieć. Czy posiadasz najlepszą możliwą infrastrukturę do ich realizacji? Jeśli tak, to gratuluję. Narzędzia, których programiści używają codziennie, powinny być najwyższej klasy, aby DX było zadowalające. Dlatego ważne jest, aby od czasu do czasu dokonać krytycznej oceny infrastruktury.
Stabilność infrastruktury
Jeśli środowiska nie działają zgodnie z oczekiwaniami, powoduje to frustrację i zagrożenia dla całej firmy. Jeśli pracujemy w modelu DevOps, programiści powinni mieć uprawnienia do zarządzania i monitorowania środowisk. Nikt nie chce czuć, że ma związane ręce w środku jakiejś gównoburzy. Posiadanie niezbędnych narzędzi i dostępów sprawia, że programiści są bardziej odpowiedzialni za swoją pracę.
Chcą oni również pracować z sensownymi projektami i stosem technologicznym, którego data urodzenia jest przynajmniej z tego wieku. Nie oznacza to, że wszystko musi być najnowszej technologii, ale powinna mieć przynajmniej trochę sensu. Wskoczenie do projektu z masą kodu liczącym dziesiątki tysięcy linii napisanych w Java7 może na dłuższą metę pochłonąć duszę każdego programisty. Nawet wysoka rekompensata nie zdziała tutaj cudów.
Dokumentacja
Wszystko zaczyna się już od etapu on-boardingu nowego pracownika. Nie są oni świadomi tego, co dzieje się w firmie i powinni być w stanie znaleźć potrzebne im informacje. Spędzanie wielu godzin tygodniowo w poszukiwaniu zgodności nie pomaga. Twórz swoją dokumentację w sposób dostępny, aktualny i łatwy do zrozumienia. Napisz to tak, jakbyś pisał dla szóstoklasistów, użyj odpowiednich narzędzi i usuń niepotrzebne dokumenty.
Kultura firmy
Firmy, które zmuszają programistów do pracy w silosach i podejmują decyzje odgórnie, mogą totalnie zepsuć DX. Programiści powinni czuć się upoważnieni do wykonywania swojej pracy i mieć wpływ na wydarzenia w całej firmie. Pozwalanie i zachęcanie ludzi do wnoszenia wkładu w inner source powinno być normą. Umożliwienie programistom wymiany pomysłów ponad granicami zespołu w ramach hackathonów lub innych forów zaprowadzi Cię dalej, niż sądzisz.
Kolejną rzeczą w kulturze firmy, która może uderzyć w Twoje DX to toksyczne zespoły i uniemożliwianie nauki. Wytykanie palcami, wrogość i karanie za niepowodzenia to czynniki, które na dobre pozbędą się wspaniałych talentów. My programiści jesteśmy ludźmi i popełniamy błędy. Niektórzy z nas mogą nawet uczyć się na tych błędach. Dlatego nie pozwól, aby toksyczne zachowania rozprzestrzeniały się jak wirus w firmie.
Mierzenie poziomu DX - dlaczego firmy tego nie robią?
Prosta ankieta dla programistów może łatwo wskazać problemy w ich codziennym funkcjonowaniu. Rozwiązanie głównych problemów w DX pozwoli Ci zaoszczędzić pieniądze i przyspieszy czas wprowadzenia produktu na rynek. Spróbuj, możesz być zaskoczony, jak dobrze to działa.
Oryginał tekstu w języku angielskim możesz przeczytać tutaj.