Dlaczego najprawdopodobniej nie zostaniesz programistą?
Nauki jest naprawdę dużo!
To nie jest zawód, którego da się nauczyć w parę tygodni na kursie weekendowym. To może być dobre na start, ale to zbyt mało, aby dziś rywalizować na rynku programistów. Potrzebna jest chęć pracy dzień w dzień, chęć dłubania w kodzie i przynajmniej odrobina pasji do tego. Prowadziłem tak zwane "przedszkole IT" przez kilka miesięcy, i na 30 osób deklarujących pracę minimum 10h tygodniowo, większość z tych osób nie przerabiała więcej niż przyjście na tygodniowe spotkanie. Mimo to byli zszokowani, że zostali wyrzuceni. 10h tygodniowo, gdy chcesz odmienić swoje życie, to tak naprawdę śmieszna ilość.
A co, jeżeli nie mam więcej czasu?
Niestety nie znam osoby, która pracowała na etacie w męczącej pracy typu McDonald i została programistą. Dlaczego? Jest to po prostu bardzo ciężkie do wykonania. Gdy wracasz do domu zmęczony o 18 i masz się czegoś uczyć, nie jest to łatwe i mało kto ma tyle sił. Dobrym momentem na rozpoczęcie nauki jest czas szkoły czy studiów, gdy po prostu ma się więcej wolnego czasu. Co jeżeli musisz zarobić na chleb? Strategii jest wiele, ale osobiście polecałbym odłożenie kwoty na przeżycie, minimalizację wydatków, zwolnienie się z pracy i przyciśnięcie wtedy. Czy będzie łatwo? Nie będzie, ale i tak osobiście uważam, że taki ruch ma większą szansę powodzenia niż nauka po 1h dziennie. Co innego luźne prace, do których można wziąć laptop czy książkę. Jeżeli możesz znaleźć pracę, w której masz możliwość nauki, to może być dobry pomysł na pogodzenie braku czasu i potrzeby zarobku.
Rynek juniorów bywa różny
Był taki moment, kiedy pracy dla juniorów było bardzo dużo. W momencie pisania tego artykułu ofert dla juniorów praktycznie nie ma. Pamiętaj jednak, że junior w momencie pisania tego artykułu to pracownik, który generuje zazwyczaj straty, uczy się, nic za bardzo nie umie, przeszkadza starszym kolegom i być może w przyszłości zacznie wychodzić na plus dla firmy. Po prostu przez chwilę firmy zatrudniały każdą osobę "lubiącą IT". Tak czy inaczej, rynek jest zmienny, a rywalizacja jest dziś duża.
Ile uczyć się dziennie?
Można śmiało powiedzieć, że zostawanie programistą to nie sprint, a maraton. Na plus wychodzi zazwyczaj pewna systematyczność, ciągła praca dzień w dzień, nagradzanie siebie po mini sukcesach i mozolne przerabianie kolejnych materiałów. To nie jest też tak, że zaplanujesz sobie oglądanie 30h kursu na weekend, potem przez 2 tygodnie nie będziesz mieć czasu i wyjdzie coś z tego przydatnego, bo i tak zapomnisz, o czym to było. Polecam dobre nawyki, np. "odpoczywam dopiero po 20:30, a do tego czasu nawet jeżeli ktoś napisze, to zajmuję się kodowaniem".
Jak radzić sobie z brakiem siły?
Powiedzmy, że jesteś zmotywowany, faktycznie chcesz zmienić swoje życie, programowanie Ci się podoba, ale po prostu nie masz sił dziś, co wtedy? Czasami dobrze jest zrobić sobie przerwę. Sam lubię pracować fizycznie w takie dni dla odpoczynku umysłowego. Czasami wybieram wtedy jakieś łatwiejsze zadanie - nie mam siły programować, to może naprawię sobie błąd z edytorem, który mnie spowalnia, albo poczytam o czymś związanym. W najgorszych dniach, kiedy robota nie idzie, oglądam jakiś serial na jednym monitorze, a na drugim próbuję coś naklepać, albo robię sobie sesje praca/odpoczynek, np. 1h pracy na 1h grania w jakąś grę. Chodzi tutaj o poznanie siebie i swojego organizmu. Ja np. wiem, że bez muzyki puszczonej w tle zrobiłbym 1/10 tego. Muzyka bardzo mi pomaga, utrzymuje mnie zmotywowanym i pozytywnie nastawionym.
Czy nie jestem za głupi na programowanie?
Ile razy ja to słyszałem: "byłbym programistą, ale jestem słaby z matematyki" lub coś podobnego. Oczywiście nadal są trudniejsze elementy programowania, jak np. budowanie silnika 3D i jego fizyki, pisanie algorytmu nauki maszynowej, czy jakiś potężny algorytm wyszukiwania danych. Natomiast takiej pracy w programowaniu jest 0,5%. Jeżeli chodzi o matematykę czy fizykę, to zazwyczaj jej po prostu nie ma. A jeżeli już jest, to w bibliotekach napisanych przez lepszych od nas, co zmusza nas do zainstalowania i wywołania jej. Większość trudnych rzeczy została już napisana. Nie jesteś za głupi na programowanie. Zdecydowanie możesz być za leniwy na bycie programistą albo zbyt mało zafascynowany tymi tematami, ale nie wmawiaj sobie "ja tego nie ogarnę". Nawet jeżeli nie dotrzesz do jakiegoś zaawansowanego etapu, to istnieją "programiści"/testerzy od pisania testów automatycznych, czy ludzie zajmujący się tylko stylowaniem i elementami wizualnymi strony.