Dlaczego nie warto być programistą?

Opublikowano Kategorie Felietony, Praca w ITCzas czytania 9min

Mimo że tytuł tego wpisu może brzmieć dość kontrowersyjnie, to uważam, że taki post powinien znaleźć się na blogu skupionym wokół tematyki programowania i szeroko pojętego IT. Tym artykułem chcę nieco odczarować branżę IT z wizerunku utopijnego miejsca pracy pozbawionego skaz.

Mimo przewrotnego tytułu moim zadaniem nie jest nikogo zniechęcić do pracy w branży IT. Chcę jedynie pokazać, że każdy medal ma dwie strony i decydując się na rozwój kariery w branży IT, trzeba być świadomym istnienia obu stron wspomnianego medalu.

Zostań Junior Developerem w 3 miesiące!

Trzy miesiące jest zdecydowanie bardziej realne (choć i tak bardzo mało prawdopodobne), niż dwa czy cztery tygodnie, które zdarza mi się widywać w reklamach kursów bądź szkoleń.

Od razu chcę w tym miejscu zaznaczyć — nigdy nie brałem udziału w takim szkoleniu czy kursie. Nie przeglądałem nigdy również programów takich szkoleń czy kursów. Niemniej jednak będąc świadom wymagań na stanowisko Junior Developera, uważam, że przygotowanie osoby niemającej wcześniej styczności z programowaniem przez 3 miesiące jest niewykonalne.

Posłużę się przykładem stanowiska Junior Web Developera. Absolutnym minimum, jeśli chodzi o umiejętności, z jakimi Junior powinien aplikować na to stanowisko w 2020 roku, moim zdaniem są:

  • poznanie HTML — jakie znaczniki istnieją, jak należy ich używać, semantyka znaczników;
  • znajomość CSS — umiejętność tworzenia responsywnych layoutów, znajomość pojęcia kaskadowości.
  • znajomość JavaScript-u — tu moim odniesieniem będzie książka You Don’t Know JS autorstwa Kyle’a Simpsona. Uważam, że około 50-60% treści zawartej w tej serii książek to jest must have, jeśli myślimy o pracy jako Junior Web Developer. Samo przeczytanie takiej ilości treści nie znając wcześniej JavaScript-u, może już stanowić wyzwanie. Nie mówiąc już o nauczeniu się tego, zrozumieniu oraz zastosowaniu wiedzy w praktyce! Koniecznie z dużym naciskiem na ostatni krok. Nie uważam tej książki za jedyną słuszną. Niemniej jednak uważam ją za jedną z lepszych do nauki JS-a, dlatego też podaję ją jako przykład;
  • poznanie narzędzi tj. Webpack, Babel, npm, Yarn, ESLint lub innych będących obecnie „na fali”;
  • poznanie środowiska przeglądarki z naciskiem na narzędzia developerskie tzn. konsola i debugger. Oprócz tego warto poznać API przeglądarek tj. LocalStorage, odczyt współrzędnych GPS, dostęp do kamery, mikrofonu itp.;
  • podstawowa znajomość protokołu HTTP — metody wraz z ich zastosowaniami i różnicami, budowa zapytań, nagłówki. Obowiązkowo też umiejętność praktycznej pracy z HTTP.
  • podstawy Gita oraz idea stojąca za systemami kontroli wersji (czym są, po co są, do czego służą).
  • znajomość dowolnego frameworka/biblioteki np. React, Angular czy Vue. Przez podstawową znajomość mam na myśli umiejętność stworzenia prostej aplikacji niosącej jakąkolwiek wartość biznesową. Przez wartość biznesową rozumiem aplikację niebędącą “Hello World’em” czy “To Do Listą”.

To, co przedstawiłem, uważam za absolutne minimum na stanowisko Juniora. Nie wspomniałem tu, chociażby o preprocesorach CSS (np. SCSS), integracji z zewnętrznymi API, integracji z CMS-ami, podstawami bezpieczeństwa aplikacji i ogromie innych, równie istotnych rzeczy wykorzystywanych w codziennej pracy programisty. Więcej o wiedzy przydatnej Junior Web Developerowi możesz dowiedzieć się z mojego e-booka.

Małpa z książką

Uważam za nierealne nauczenie się takiego ogromu wiedzy w trzy miesiące (nie wspominając już o 2 tygodniach). Być może byłoby to możliwe (choć wciąż trudne), gdyby 100% energii włożyć w naukę. Jednakże zdecydowana większość ludzi oprócz nauki pracuje oraz ma inne obowiązki.

Po raz trzeci wspomnę, że wcześniejsza lista jest dla mnie absolutnym minimum. Oznacza to, że mając tylko tę wiedzę, prawdopodobnie nie wyróżnisz się na rozmowie rekrutacyjnej. W momencie publikacji tego artykułu (sierpień 2020) ofert pracy na stanowiska juniorskie w Poznaniu, czyli mieście, w którym mieszkam, jest zdecydowanie mniejsza, niż na stanowiska Regular czy Senior. Do sprawdzenia ilości ofert posłużyłem się serwisem JustJoinIT. Analogicznie sytuacja wygląda w innych polskich miastach. Powiedziałbym nawet, że np. w Warszawie różnica ta jest jeszcze bardziej widoczna.

Warto także pamiętać, że na każde stanowisko juniorskie jest zdecydowanie więcej chętnych niż miejsc, przez co kandydat musi się czymś wyróżnić (oczywiście na plus). Stąd też podkreśliłem kilkakrotnie słowo minimum. Jeśli wybierzesz się na rozmowę z minimum wiedzy, twoje szanse na przyjęcie na stanowisko również są minimalne.

O metodach rozwoju umiejętności programistycznych przygotowałem osobny artykuł, dlatego też zachęcam do jego przeczytania. Jeśli dopiero myślisz o postawieniu pierwszych kroków do rozpoczęcia kariery w branży IT, możesz sprawdzić mój artykuł, gdzie pokazuję jak zacząć programować.

Ciągła nauka

Gratulacje! Udało Ci się zdobyć pierwszą pracę jako junior developer! Od tego momentu możesz się uczyć jeszcze więcej i zdobywać jeszcze większe kompetencje.

Dla części ludzi (na przykład dla mnie) może to być ogromna zaleta. Jednak jest również ogrom ludzi, dla których nauka kojarzy się z czymś nieprzyjemnym i jest po prostu męcząca. Praca w branży IT oznacza w praktyce ciągłą naukę i doskonalenie się. Tempo przyrostu nowych trendów i technologii jest ogromne. Ciągłe bycie up-to-date może stanowić niekiedy wyzywanie. Co więcej, gdy ty się nie rozwijasz, to prawdopodobnie inni właśnie to robią. W konsekwencji, stojąc w miejscu, tak naprawdę robisz krok wstecz.

Oczywiście ktoś mógłby powiedzieć, że jest ogrom firm utrzymujących stare rozwiązania. To prawda. Należy tu jednak zadać sobie kilka pytań:

  • jak długo ten software będzie utrzymywany?
  • co w momencie zerwania współpracy?
  • czy praca w takim projekcie sprawia Ci satysfakcję?

Praca w IT to także praca z ludźmi - zespół

Praca w IT to praca z ludźmi

Zdarzyło mi się kiedyś trafić na pewien slogan:

Nie po to studiowałem informatykę, żeby teraz pracować z ludźmi.

Oczywiście ten slogan ma się nijak do rzeczywistości. Przez niektóre osoby stereotypowy programista wciąż postrzegany jest jako zamknięty w piwnicy odludek, spędzający cały dzień przed komputerem. Jest to dalekie od stanu faktycznego, a wręcz krzywdzące.

Przede wszystkim, oprogramowania nie tworzysz do szuflady ani do portfolio. Oprogramowanie tworzysz przede wszystkim dla innych ludzi. Od nich zaś będziesz potrzebować zarówno wymagania, jak i feedback, co już zmusza Cię do podjęcia interakcji. Nawet jeśli nie bezpośrednio, to przez jakąś inną osobę.

Ponadto, jeśli nie jesteś freelancerem, to prawdopodobnie współpracujesz z innymi ludźmi. Do pracy zespołowej potrzebne jest całe spektrum kompetencji miękkich, których pozyskanie nie jest wcale takie trywialne. Lista umiejętności miękkich przydatnych w pracy programisty jest tak ogromna, że przytaczanie jej tutaj mijałoby się z celem tego artykułu.

Nawet jeśli programujesz na własną rękę jako freelancer, to trafisz w swojej karierze na różnych klientów. Możesz trafić na klienta, z którym praca będzie przyjemnością, ale możesz też trafić na klienta,od którego wiadomość e-mail może powodować, że kawa nagle jakoś gorzej smakuje.

Praca w IT to także ciągle zmieniające się wymagania. Nie jest rzadką sytuacją, że wymagania zmieniają się bardzo często i znacząco w trakcie pracy nad projektem. Końcowy rezultat może nawet nie przypominać tego, co było określone w pierwotnych założeniach. Przydatne w tym przypadku okażą się nie tylko umiejętności zaprojektowania elastycznego systemu, ale też umiejętność pozyskania wymagań od klienta i dowiedzenie się, na czym tak naprawdę mu zależy.

Praca w IT to stres (czasem bardzo duży)

W tym aspekcie praca w IT nie różni się znacząco od innych zawodów. Tu również obecne są deadline’y czy inne stresogenne czynniki związane z pracą zawodową.

Natomiast są również czynniki typowe dla branży IT. Zacznę od czegoś, co dotyczy nie tylko ludzi branży, ale każdego, kto przechowuje dane na dyskach, czyli backupy. Mówi się, że ludzie dzielą się na dwie kategorie — „tych, co robią backupy i tych, co będą je robić”. W razie incydentu zdecydowanie lepiej jest być w tej pierwszej grupie.

Inną, równie stresogenną sytuacją jest awaria aplikacji na produkcji. Nie dość, że aplikacja nie działa, to jeszcze jest silna presja, aby jak najszybciej przywrócić ją do działania. Co więcej, złośliwość losu zwykle sprawia, że aplikacje lubią się psuć w najmniej odpowiednim momencie, na przykład w piątek o 16.

Praca w IT nie jest korzystna dla zdrowia

Myślę, że nie odkryję Ameryki stwierdzeniem, że siedzenie przed komputerem przez osiem godzin dziennie lub więcej nie pozostaje obojętnie dla naszego zdrowia. Nie bez powodu wiele firm oferuje swoim pracownikom benefity pokroju karty Multisport, opieki medycznej, czy też słynne “owocowe wtorki”.

Zdrowiu w pracy programisty poświęciłem osobny artykuł. Aspektowi zdrowia poświęciłem też kilka słów w artykule, gdzie opisuję, jak dbam o wysoką produktywność?

Dla zobrazowania powagi sytuacji przedstawiam zestaw najczęstszych chorób i schorzeń związanych z pracą biurową:

  • otyłość,
  • choroby i zwyrodnienia kręgosłupa,
  • zwyrodnienia dłoni/nadgarstków (np. zespół cieśni nadgarstka),
  • zwyrodnienia stawów (np. łokieć tenisisty),
  • problemy ze wzrokiem,
  • chroniczne zmęczenie.

Podsumowanie

Mimo tych wszystkich wad i problemów, które opisałem wciąż uważam pracę w IT za świetną robotę. Uważam, że obecnie ciężko byłoby mi się odnaleźć w innej branży, a liczba korzyści przyćmiewa opisane w tym wpisie wady. Jednakże cieszę się, że ten artykuł powstał. Tak jak wspomniałem na samym początku, branża IT, tak jak każda inna, ma wady, których przyszli pracownicy powinni być świadom.

Źródła i materiały dodatkowe

Dominik Szczepaniak

Zawodowo Senior Software Engineer w CKSource. Prywatnie bloger, fan włoskiej kuchni, miłośnik jazdy na rowerze i treningu siłowego.

Inne wpisy, które mogą Cię zainteresować

Zapisz się na mailing i odbierz e-booka

Zapisując się na mój mailing, otrzymasz darmowy egzemplarz e-booka 106 Pytań Rekrutacyjnych Junior JavaScript Developer! Będziesz też otrzymywać wartościowe treści i powiadomienia o nowych wpisach na skrzynkę e-mail.

Subscribe
Powiadom o
guest

6 komentarzy
oceniany
najnowszy najstarszy
Inline Feedbacks
View all comments
stefania
stefania
9 miesięcy temu

Ja mam biurko stojące, które mogę zmienić na siedzące.. myślę, że to najlepsze co można zrobić by nie siedzieć non stop, i oczywiście po godzinach pracy sporty 😉 i myszka ergonomiczna to konieczność

Damian
4 miesięcy temu

Ja bym jeszcze dodał, że w 2020 roku kiedy powstał ten wpis rynek pracy był całkiem przyjazny, niestety w 2023 roku wygląda znacznie gorzej…

Paweł
Paweł
4 miesięcy temu

Warto tutaj byłoby dodać jeszcze jeden duży minus. Nie ważne jakie masz doświadczenie, czy pracowałeś rok czy 20lat jako programista. Przy zmianie pracy podczas rozmowy z rekruterami będziesz traktowany jak junior, tzn będziesz odpytywany, testowany, mierzony, ważony i nie poważnie traktowany 🙂