Jesteś freelancerem, pracujesz z zacisza własnego domu, jesteś swoim szefem lub szefową. Może się wydawać, że problemy „zwykłych śmiertelników” pracujących na etacie w ogóle cię nie dotyczą.

 

Co niszczy produktywność programisty?

Co niszczy produktywność programisty?

 

Nie masz nad sobą managera, który przypisuje sobie efekty twojej pracy, nie musisz siedzieć w biurowym open space, nie marnujesz czasu na spotkaniach. Nie zawsze oznacza to jednak idealne warunki do realizacji zleceń i utrzymania pełnej produktywności. Co najbardziej obniża produktywność programisty-freelancera?

 

 

1. Przerwy, przeszkadzanie, spotkania

Tak, tego punktu nie mogło zabraknąć również na liście „przeszkadzajek” programistów pracujących zdalnie jako freelancerzy. Nie musisz uczestniczyć w spotkaniach zespołu lub cotygodniowych meetingach z przełożonymi, ale zamiast tego masz kilku lub kilkunastu klientów, którzy wymagają uwagi.

 

Video-konferencje, telefony i maile, które już od nagłówka krzyczą „pilne” nie pomagają w utrzymaniu koncentracji i skupienia na pisaniu kodu – ani tym bardziej na rozwiązywaniu programistycznych problemów klienta.

 

Mało który developer jest w stanie „zawiesić” szukanie rozwiązania problemu, uciąć sobie pogawędkę z klientem na Skype, który właśnie ma czas i chce sprawdzić, jak rozwija się jego zlecenie, a potem „odwiesić” i wskoczyć dokładnie w ten punkt, w którym musiał przerwać pracę. Złapanie przerwanego wątku i ponowna koncentracja to czasem pół godziny, czasem więcej.

 

Im więcej przeszkadzania, tym więcej frustracji, bugów i kodu niższej jakości.

 

 

2. Mikro-zarządzanie

Mikro-zarządzanie oznacza w praktyce kontrolę kogoś, kto nie zawsze rozumie twój sposób pracy, ale dąży do zwiększenia ilości przerw, spotkań, telefonów i maili.

Analizowanie i ocenianie każdej pojedynczej rzeczy, jaką robisz, nieprzyjemnie kojarzy się także z brakiem zaufania i podważaniem twoich kompetencji. To wpływa nie tylko na twoją produktywność, ale również na sam sposób pracy i poziom twojej satysfakcji.

 

 

3. Brak precyzji

Brak precyzji i jasnych instrukcji to zmora każdego programisty. Od komunikatów w stylu „tu nie działa, napraw to” aż do niejasnych specyfikacji elementów, które masz napisać. W takich sytuacjach masz dwa wyjścia: wdrażać to, co klientowi wydaje się potrzebne, zanim sprecyzuje to dokładnie albo czekać na dokładne instrukcje i ryzykować opóźnienie projektu.

 

Do tej kategorii zaliczają się także sytuacje, w których priorytety nie są wyraźne, więc kodując zastanawiasz się, czy na pewno pracujesz nad właściwym zadaniem.

 

 

4. Nieprzewidziane zmiany briefu

Zgodnie z prawem Murphy’ego zadanie do zrobienia zostanie zmienione, kiedy jest już prawie skończone i coś relatywnie łatwego zamieni w prawdziwego potwora.

Prosta funkcja, jak dodanie mapki na stronie www może rozrosnąć się w złożone zadanie zrobienia mapki w 3D, a kiedy ta wersja będzie prawie gotowa, klient poprosi jeszcze o możliwość nawigowania po niej, najlepiej ślicznym animowanym ludzikiem.

 

Oczywiście klient najczęściej nie zdaje sobie sprawy z tego, że mała zmiana dla niego oznacza ogrom pracy dla ciebie, nie zmienia poziomu frustracji.

 

 

5. Kodowanie bezużytecznych rzeczy

Jasne, że tak długo, jak klient płaci, możesz zawsze powiedzieć sobie, że nie jesteś konsultantem ani doradcą, więc napiszesz wszystko, czego życzy sobie zleceniodawca – to jego czas, jego pieniądze i on dostanie ostateczny produkt zgodny z wytycznymi.

Gorzej, jeśli w połowie twojej pracy dowiesz się, że ten element wcale nie był potrzebny, a klient zacznie się sprzeczać, czy zapłacić za coś, czego nie będzie używał. Satysfakcja z pracy? Gdzieś blisko poziomu 0.

 

Wpis dzięki uprzejmości opracyzdalanej.pl 🙂