Gdy rozpoczynałem naukę, zaczynałem od kompletnego zera, tzn. nie studiowałem informatyki i wiedziałem na temat programowania mniej więcej tyle, co każdy laik. Gdzieś obiło mi się o uszy, że są języki programowania, choć ponoć to bardzo trudne i trzeba mieć ścisły umysł, ale zarabia się dużo pieniędzy. Jeśli wiesz cokolwiek więcej, to gratuluję, startujesz z wyższego pułapu niż ja, kiedy zaczynałem.
W chwili obecnej mija rok odkąd pracuje jako freelancer. Nie miałem znajomego, który poświecił by mi czas, żeby mnie przyuczyć ani też nie dostałem pierwszej oferty po znajomości. Mimo to, po kilku miesiącach nauki, udało mi się zrealizować cel, jaki sobie wyznaczyłem. Ludzie z którymi pracuję nad projektami w większości nie mają ukończonych studiów technicznych, z całej tej grupy tylko jedna osoba ukończyła informatykę. Nie chcę wyciągać daleko idących wniosków, bazując jedynie na moim przypadku, ale coraz częściej doświadczam sytuacji, że gdy poznaje programistę, to jest to osoba po prostu kompetentna, która posiada wiedzę zdobytą poza uczelnią – nawet, jeśli studiowała kierunek techniczny.
Przygodę z programowaniem rozpocząłem od kursów internetowych i książek. Podjąłem decyzję, że chcę zostać programistą front-end i takich też kursów zacząłem szukać. Bardzo szybko zorientowałem się, że z materiałów do samodzielnej nauki jest mnóstwo.
Jeśli chcemy programować aplikacje internetowe, będziemy także musieli poznać narzędzia takie jak serwery aplikacyjne (np. Tomcat, JBoss), biblioteki JavaScript do tworzenia stron internetowych jak Angular, React czy Vue.jd, język HTML oraz CSS. Jeśli znowu chcemy tworzyć aplikacje mobilne musimy poznać np. środowisko Androida, zaś do pisania aplikacji okienkowych biblioteki takie jak Swing, SWT lub JavaFX.
Współpracując z innymi programistami nad wspólnym projektem, nie sposób obejść się bez narzędzia, które pozwoli nam wymieniać się kodem oraz przechowywać jego historię zmian. Takie narzędzie nazywamy systemami kontroli wersji. Najpopularniejszym systemem kontroli wersji jest Git, z którego możemy bezpłatnie skorzystać na popularnym portalu Github
Pracując w zespole, będziemy też musieli poznać różne techniki prowadzenia projektów pozwalające nam organizować naszę pracę, dlatego nie obce powinny być nam takie zwroty jak Agile, Scrum, Kanban i inne.
Doskonale zdaję sobie sprawę z tego, jak ciężkie są początki i z czym możesz mieć problemy, bo sam byłem w tym samym miejscu, w którym Ty jesteś teraz. Być może strach przed opłatą za dodatkową sesję albo widmo powtarzania roku zmotywują Ci do pracy
Wierzę, jednak, że w Twoim przypadku nie będzie to miało miejsca, bo teraz już wiesz, że można inaczej.