Branża IT skłania się ku umowom o pracę

Wady pracy programisty

6 minut czytania
Komentarze

Dzisiaj chciałbym Wam przestawić wady pracy programisty. Myślę, że warto o nich wiedzieć zanim zdecydujecie się na wybór tej ścieżki kariery. W Internecie możecie spotkać wiele tekstów wychwalających pracę programisty, ale mało jest artykułów, w których autor skupia się na wadach tego zawodu. Na wstępie chciałbym jeszcze zaznaczyć, że ten artykuł będzie mocno subiektywny. Przed napisaniem go rozmawiałem z moimi znajomymi, aby poznać ich odczucia odnośnie pracy programisty – jednak głównie w tekście będą zawarte moje osobiste opinie.

Zmęczenie i ciągła nauka

Jedną z najbardziej odczuwalnych wad jest to, że tej pracy nie da się tak po prostu zostawić i iść do domu po 8 godzinach w biurze. Pracowałem już w kilku firmach i często spotykałem się z sytuacją, gdy w domu myślałem nad tym w jaki sposób rozwiązać problem, z którym akurat mierzę się w pracy. Ma to też swoje pozytywy, bo nieraz zdarzało się, że wpadłem na jakieś rozwiązanie w nietypowej sytuacji – na przykład jedząc obiad czy biorąc prysznic.

Zobacz: forum dla programistów android

Kolejna wada łączy się nieco z tym, co napisałem wyżej. Mianowicie programowanie bywa bardzo męczące – często po ciężkim dniu nie mam ochoty na nic i zamiast mózgu mam wielkiego ziemniaka. Zmęczenie psychiczne jest bardzo specyficzne. Nie da się go porównać do zmęczenia fizycznego na przykład po ciężkim treningu. Objawia się ono tym, że nie jesteśmy się w stanie skupić na niczym i stajemy się nieefektywni. Na szczęście można sobie z tym poradzić. Na mnie najlepiej działają wszelakie aktywności fizyczne – chodzi o to żeby robić coś, co nie wymaga zbytnio myślenia, żeby nasz mózg mógł odpocząć. Dużo firm zachęca swoich pracowników do wysiłku fizycznego, zapewniając na przykład odpowiednie karty. Pracodawcy dobrze wiedzą, że zregenerowany pracownik jest znacznie wydajniejszy ?

Kolejną bardzo odczuwalną wadą jest konieczność ciągłego podnoszenia swoich kwalifikacji. Niestety, ale nie da się raz nauczyć jednego frameworka („szkieletu”) i korzystać już tylko z tej wiedzy. Oczywiście jest sporo programistów, którzy tak robią, ale z całą pewnością nie można o nich powiedzieć, że są dobrzy w swoim fachu. Cała branża bardzo szybko się rozwija, co jest oczywiście bardzo dobre, ale zmusza nas do ciągłej nauki i bycia na bieżąco.

Również tutaj pracodawcy idą nam z pomocą. Coraz więcej firm decyduje się na wydzielenie pracownikowi specjalnego czasu w ciągu tygodnia, który może przeznaczyć na doskonalenie swoich umiejętności. Ja osobiście spotkałem się z takim rozwiązaniem. W jednej firmie tylko cztery dni tygodnia musieliśmy pracować nad rzeczywistym projektem, natomiast piąty dzień mogliśmy przeznaczyć na co chcieliśmy. Dzięki temu nauczyłem się na przykład programowania reaktywnego.

Klienci i managerowie

Klienci to niestety temat rzeka. Musisz się przyzwyczaić, że bardzo często będziesz pracował dla kogoś, kto nie ma pojęcia na czym polega ta praca. Komentarze „Dlaczego to tyle trwa?”, „Tyle pieniędzy za głupią stronę?” czy „Dla Pana to pewnie maks godzinka roboty” są niestety chlebem powszednim. Klienci nie mają pojęcia, że czasami drobna zmiana wizualna, taka jak zmiana animacji, może być bardzo problematyczna i wymagać kilku godzin pracy. Nie mam na to żadnej rady, musisz się do tego przyzwyczaić lub szukać klientów, którzy znają się nieco na technologii.

Managerowie to kolejny temat rzeka. Powiedzenie „Manager to osoba, która myśli, że 9 kobiet dostarczy dziecko w 1 miesiąc” stało się już klasykiem w branży. Niemniej jest ono bardzo prawdziwe. Kilkukrotnie spotykałem się z sytuacją, gdy w sytuacji kryzysowej manager dorzucał nam nową osobę do zespołu myśląc, że to pomoże nam ukończyć projekt szybciej. Rezultat był niestety odwrotny – traciliśmy sporo czasu na zapoznanie nowego kolegi z projektem, pokazanie mu czego jeszcze brakuje, co należy poprawić i tak dalej. Na szczęście tacy managerowie to mniejszość, ale trzeba na nich uważać i być asertywnym.

Presja czasu

Jeszcze nie było na świecie projektu, który skończyłby się przed wyznaczonym terminem. Musisz się przyzwyczaić do nieustającej presji. Ważne by wyrobić sobie asertywność, ponieważ często będziesz spotykał się z różnymi naciskami od managerów. Kilkukrotnie tłumaczyłem na przykład, że rezygnacja z testów jednostkowych wcale nie przyśpieszy projektu. Wręcz przeciwnie, bo bez testów nasze oprogramowanie będzie bardziej zawodne i będziemy musieli tracić czas na poprawki błędów.

Raz nawet sugerowano mi, abym nie pisał kodu zgodnie ze wzorcami projektowania tylko byle jak, bo nie ma czasu na ładne pisanie. W każdej takiej sytuacji odpowiadałem, że to nie ma sensu i popierałem to odpowiednimi argumentami.

Częste zmiany

Projekty przeważnie trwają kilka miesięcy, czasami nawet dłużej. Przez ten okres wymagania klienta mogą zmienić się diametralnie. To właśnie ciągłe zmiany powodują największy bałagan w kodzie. Czasami klienci dopiero po zobaczeniu już gotowej aplikacji stwierdzają, że coś im się nie podoba i wprowadzają zmiany. Nie jestem w stanie policzyć ile razy musiałem przywracać coś, co usunąłem wcześniej na życzenie klienta. Na szczęście takie ekstremalne programowanie uczy pisania dobrego kodu. Masz świadomość tego, że kod może być zmieniony w każdej chwili, więc pilnujesz się, aby Twój kod był bardzo elastyczny.

Wszyscy są tylko ludźmi

Nie da się napisać wszystkiego samemu. Nie powinniśmy nawet próbować tego robić. Jesteśmy skazani na współpracę z innymi ludźmi i używanie napisanego przez nich oprogramowania. Jednak inni programiści też popełniają błędy. Pisząc jakąś aplikację będziesz korzystał z wielu bibliotek napisanych przez innych. Część z nich będzie miała jakieś błędy lub po prostu nie będą działać tak, jakbyś tego oczekiwał. Nawet Android sam w sobie ma mnóstwo błędów. Musisz się przyzwyczaić do pisania sporo różnych obejść, aby naprawić błędy innych programistów. Ta wada również ma swoje plusy. Dzięki pisaniu takich obejść, nauczysz się sporo o wewnętrznej architekturze komponentów, z których będziesz korzystał.

Myślmy pozytywnie

Mam nadzieję, że nie zniechęciłem Was za bardzo do wyboru tego zawodu. Obiecuję, że był to ostatni taki pesymistyczny odcinek. W kolejnej części opowiem Wam o zaletach tej pracy, a uwierzcie mi – jest ich sporo! Dziękuję, że dotrwaliście do końca i zapraszam do kolejnego odcinka.

Zapraszamy na największe w Polsce Forum dla programistów Android. Jeśli macie pytania odnośnie kariery jako programista – zapraszamy do działu Kariera programowanie.

Zachęcam również do przeczytania poprzedniego odcinka: Typowy dzień pracy programisty

Motyw