Tak! Dziś przedstawię Ci kilka prostych pytań, które pomogą Ci podjąć decyzję.

Chcesz zostać programistą, ale nie wiesz od czego zacząć? Przeszukałeś już połowę wyników wyszukiwania pod hasłem „Nauka programowania” i wciąż brakuje Ci konkretów? W takim razie, dobrze trafiłeś. Ten artykuł to początek serii blogów “Od zera do PHP Developera”, które pomogą Ci rozpocząć karierę w branży IT.


Przeglądając internetowe wiadomości, na pewno nieraz rzuciły Ci się w oczy nagłówki o podobnej treści:
„Zapotrzebowanie na specjalistów IT rośnie w gigantycznym tempie.”
Od wielu lat zawód programisty wiąże się z bardzo wysokimi zarobkami, stale rosnącym zapotrzebowaniem oraz możliwością pracy zdalnej.”


I muszę przyznać, że to szczera prawda. 😂 Zaglądając na LinkedIn możemy zauważyć, że oferty pracy spływają zewsząd, branża rozwija się w szalonym tempie, dlatego nawet będąc początkującym programistą, znalezienie pracy na rynku IT nie powinno stanowić większego problemu.

Kilka dobrych lat temu, kiedy samemu zaczynałem uczyć się programowania, miałem w głowie masę pytań:

  • Czy nauka programowania zaprocentuje w przyszłości?
  • Kto to w ogóle jest, ten cały programista?
  • Ile czasu trzeba się uczyć, żeby zostać developerem?
  • Czy każdy może się nauczyć programowania?
  • Czy programowanie jest dla mnie?
  • Czy programowanie jest nudne?
  • Czy możesz zostać programistą bez ukończenia studiów?
  • Czy trzeba dobrze umieć matematykę, żeby programować?
  • Gdzie znajdę najlepsze, najlepiej darmowe materiały do nauki?
  • Jaki język programowania jest najlepszy?

I wiele innych. Szukając odpowiedzi w Google na te pytania, jesteśmy bombardowani sponsorowanymi treściami na temat różnych bootcampów, kursów czy innych magicznych metod nauki programowania stron www w trzy dni.

I nie martw się, ja też, miałem dość po pierwszych trzech wynikach wyszukiwania
w Google.

Po wielu godzinach poszukiwań, wciąż zadawałem sobie to pytanie:

“Czy ja naprawdę mogę programować?”

Jeśli Ty również teraz zadajesz sobie to samo pytanie, to nie mogłeś lepiej trafić, ponieważ w tym artykule postaram Ci się odpowiedzieć na to pytanie, najlepiej jak tylko potrafię 🙂

Kim jest programista?

Zawsze myślałem, że tego terminu nikomu nie trzeba wyjaśniać, jednak sytuacje z codziennego życia, przekonują mnie, że jest inaczej. Kiedy opowiadam komuś o swoim zawodzie, zazwyczaj, w odpowiedzi słyszę:

„Wow, to musisz się znać na komputerach! Pomożesz mi shackować konto na Facebooku? Zapomniałem hasła do konta mojego kolegi.”

„Mojej babci nie działa telefon, mogę Ci go podrzucić, żebyś zerknął o co chodzi?”

„Mój brat ma mało FPS w Fortnite, pomożesz?”


Chyba każdy, potrafi sobie wyobrazić moją minę w takim momencie…

W takim razie, kim jest programista?

Odpowiadając na pytanie, programista to osoba, która zajmuje się programowaniem (można również spotkać się z terminem, „kodowaniem”), czyli pisaniem kodu w wybranym języku programowania, z którego pomocą potrafi tworzyć i rozwijać aplikacje komputerowe, strony internetowe, gry oraz aplikacje na urządzenia mobilne.
Do obowiązków programisty należy również testowanie swoich rozwiązań, naprawa błędów, które pojawiają się w trakcie developmentu oraz tworzenie dokumentacji.

A, i najważniejsze, wbrew wszystkim memom, programista, to nie jest pryszczaty grubasek, który większość czasu spędza w piwnicy hackując Facebooka kilkoma kliknięciami w komputer, w przerwie pomiędzy kolejną partią lola 😀

Czym wyróżnia się dobry programista?

Dobry programista posiada:

  • Umiejętność rozwiązywania problemów,
  • Rozwinięte logiczne myślenie,
  • Umiejętność szybkiego przyswajania nowej wiedzy,
  • Szeroką wiedzę z zakresu programowania oraz języka, którym się posługuje np. PHP,
  • Cierpliwość, aby uczyć programowania mniej doświadczone osoby,
  • Świadomość możliwości popełnienia błędu,
  • Umiejętność rozwiązywania swoich błędów
  • Kreatywny umysł,
  • Oficjalny certyfikat mistrza Googlowania. 😀

Kto może być programistą?

Wiele osób początkujących, myśli, że aby dostać szansę na rynku pracy IT, trzeba skończyć technikum informatyczne, studia, wybrać się na kurs czy poświęcić najlepsze lata swojego życia., siedząc w ciemnej piwnicy i samodzielnie rozkodowując magiczne znaczki, aby zgłębić tajemną wiedzę programowania. Nic bardziej mylnego! Programistą może zostać każdy. Współczesny świat otacza nas nowymi technologiami, nosimy encyklopedie w urządzeniach mobilnych, które zawsze są w zasięgu ręki. Możemy uczyć się z każdego miejsca na ziemi, więc zdobywanie wiedzy jest prostsze niż kiedykolwiek.

źródło: https://twitter.com/codersrank/status/1257194498398060545

Typy developerów

Developer, to bardzo ogólne określenie, ponieważ programiści, którzy chcą dobrze wykonywać swoją pracę, z reguły skupiają się głównie na tym, co sprawia im przyjemność, dla jednych to będzie tworzenie logiki aplikacji, dla innych tworzenie animacji do stron internetowych czy też gier.

Postaram się nie zanudzać Was oklepanymi definicjami, tak jak inne podobne artykuły i wyjaśnię wszystkie typy w najprostszy możliwy sposób.

Web Developer

Web developer tworzy strony internetowe, takie jak Facebook, YouTube, Twitch czy Twitter.
Po tak krótkiej definicji, mogłoby się wydawać, że aby zostać web developerem, faktycznie wystarczy zrobić kurs pod tytułem „Jak stworzyć stronę www” i rozpocząć pracę na drugi dzień. Rzeczywistość, jest jednak trochę bardziej skomplikowana, bo web developer również dzieli się na kilka typów:

Frontend developer

Obowiązkiem frontend developera, jak sama nazwa wskazuje jest dbanie o widoczną gołym okiem część strony internetowej. To tutaj odnajduje się najwięcej osób, które mają umiejętności artystyczne, ponieważ mają możliwość tworzenia unikalnych wrażeń dla użytkownika. Programiści z tej kategorii dbają o to, aby strona internetowa dobrze wyglądała na każdym urządzeniu, implementują designy stworzone przez grafików komputerowych oraz z pomocą języka JavaScript potrafią tworzyć interaktywne elementy.

Wszystko to, co widzisz (czcionki, kolory, układ) i możesz kliknąć (przyciski, wysuwane menu, formularze logowania), to najprawdopodobniej praca jakiegoś frontend developera.

źródło: https://www.reddit.com/r/ProgrammerHumor/comments/7zfgwg/frontend_vs_backend/

Backend developer

Obowiązkiem backend developera, to dbanie o zaplecze eCommerce, czyli wszystko to, czego nie możemy zauważyć gołym okiem. Na przykład:

  • Wysyłanie wiadomości na Messengerze, aby ta trafiła do odpowiedniego odbiorcy,
  • Obsługa danych z formularza rejestracji, aby stworzyć i potwierdzić tożsamość użytkownika,
  • Obsługa płatności w sklepie internetowym.

źródło grafiki: https://www.reddit.com/r/ProgrammerHumor/comments/7zfgwg/frontend_vs_backend/

Fullstack developer

Fullstack, to połączenie obu wcześniej poznanych typów developerów, człowiek orkiestra, który lubi brać udział w kodowaniu po obu stronach barykady.

Symfony / Laravel / Magento / React / Vue Developer

Szukając pracy, możesz również spotkać się z innymi, bardziej sprecyzowanymi nazwami odnośnie technologii wykorzystywanej w firmie. W takim przypadku, musisz mieć świadomość tego, co ta nazwa oznacza i po której stronie (backend czy frontend) ta technologia jest wykorzystywana.

Symfony, Laravel oraz Magento to backendowe frameworki napisane w języku PHP. Uprzedzając pytanie do wujka Google, szybko wytłumaczę czym są frameworki. Framework, w wielkim uproszczeniu to zbiór narzędzi i bibliotek, które umożliwia programistom rozwiązywanie i ustandaryzowanie najczęściej pojawiających się problemów na stronach WWW, np. systemy rejestracji oraz logowania użytkownika.
React oraz Vue, to frontendowe frameowrki opierające się o inny język – JavaScript – wykorzystywane są na frontendzie.

Mobile Developer

Ta nazwa rownież wiele nam podpowiada, programiści z tej kategorii zajmują się tworzeniem aplikacji mobilnych.
Z uwagi na tempo rozwoju technologii mobilnych, które z każdym rokiem nabierają coraz większego znaczenia w branży powoli przestajemy dzielić programistów aplikacji mobilnych na podstawie systemów, na których się skupiają, czyli Android oraz iOS. Cały czas powstają nowe języki programowania aplikacji mobilnych, które mają działać na wszystkich platformach jednocześnie, iOS, Android oraz nawet w przeglądarkach internetowych.

źródło: https://pl.pinterest.com/pin/266767977897391852/

DevOps Engineer

Brzmi trochę jak tajny agent, który działa na froncie, ale nie eCommerce, tylko wojska, prawda? 😁DevOps w wielkim uproszczeniu, to osoba, która dba o cykl życia oraz aktualizacji aplikacji. Usprawnia oraz automatyzuje proces dostarczania nowego kodu do istniejącej aplikacji.

Game Developer

Programista gier komputerowych, czyli „backendowiec” dla gier 🎮 Zajmuje się kodowaniem silnika gry, który nam biegać, skakać czy strzelać. Przykładowo, silnik gry Minecraft został napisany za pomocą języka Java (nie mylić z JavaScriptem, to nie jest to samo!) i pozwala nam eksplorować nieskończone ilości terenu, niszczyć i budować co tylko nam się wymarzy.

Wciąż nie jesteś pewny, czy warto programować?

Programowanie zapewnia stabilne zatrudnienie

Programowanie to inwestycja w swoją przyszłość, która daje Ci możliwość pracy zdalnej w komfortowych warunkach, z dowolnego miejsca na ziemi. Niezależnie od tego, którego języka programowania postanowisz się nauczyć, to przy odrobinie chęci oraz pracy włożonej w naukę kodowania, jesteś w stanie nabyć umiejętności, które pozwolą Ci zdobyć pierwszą pracę.

źródło: https://cheezburger.com/6349573/20-programming-memes-thatll-trigger-any-developer

W BitBag prowadzimy akademię, która pozwala wdrożyć się do branży pod okiem najlepszych specjalistów:


Jeżeli szukasz odpowiedniego miejsca, aby rozpocząć swoją karierę w IT i masz już pierwsze doświadczenie w PHP. A może szkolisz się na własną rękę, ale nie do końca wiesz czy idziesz w dobrą stronę. Bądź chcesz poszerzać swoją wiedzę związaną z programowaniem?

Niezależnie od tego, jaki jest powód Twojej obecności, zapewniamy Cię – BitBag Academy to dobre miejsce! Stworzyliśmy Akademię, specjalnie po to, aby ułatwić Ci wstęp do świata IT.

Programiści muszą być super z matematyki

Wiele osób uważa programistów za umysły ścisłe, które znają doskonałe rozwiązanie na każdy możliwy problem związany z komputerem, ale prawda jest zupełnie inna. Każdy z nas – programistów poświęcił masę czasu na naukę kodowania, a nie matematyki, nie obsługi wszystkich możliwych aplikacji biurowych, nie instalowania Whatsappa, Vibera czy innego mobilnego komunikatora.

Prawda jest taka, że w większości gałęzi w branży programistycznej zaawansowana matematyka przydaje się głównie przy game developmencie, gdzie możemy zaprojektować chociażby nowy silnik fizyki. Początkujący front, musi opanować dodawanie, odejmowanie, mnożenie i dzielenie, niewiele więcej tu potrzeba! 😁

Kodowanie jest nudne

Powiem szczerze, przez jakiś czas myślałem dokładnie tak samo. Myślałem tak do momentu, w którym po raz pierwszy stworzyłem swoją własną stronę internetową.

https://www.theworldsworstwebsiteever.com/

źródło: https://www.theworldsworstwebsiteever.com/

To naprawdę niesamowite i pociągające uczucie, aby jako początkujący front/back zobaczyć swoje dzieło live, pochwalić się znajomym i w wolnym czasie dodawać kolejne i kolejne elementy, które sprawią frajdę Tobie lub Twoim znajomym. Najlepiej wspominam moment, w którym na stronie po raz pierwszy pojawił się Shoutbox (to taki czat, jak na Discordzie, ale z jednym kanałem, na którym każdy może pisać do woli). Ten jeden element na stronie scalił na lata małą społeczność ludzi rozsianych po całej Polsce i nawet po kilkunastu latach, niektórzy wciąż trzymają ze sobą kontakt. I pomyśleć, że to za sprawą nastolatka, który zamiast uczyć się do szkoły, wybierał naukę kodowania.

Obiecałeś, że powiesz od czego zacząć!

I mam zamiar dotrzymać słowa! 😉 W związku z tym, że w całej serii będziemy skupiali się głównie na web developmencie, najlepiej jest zacząć od podstaw HTMLa, poniżej znajdziesz najlepszy, darmowy kurs dotyczący nauki tworzenia struktury strony internetowej:

A jeśli opanowałeś już podstawy HTML oraz CSS i szukasz większych wyzwań, zerknij tutaj:

W następnym artykule skupimy się na pojedynczych elementach rozwoju kariery jako backend developer, słowo harcerza, że artykuły będą krótsze i bardziej treściwe! ❤️

Jeśli w tym momencie, już wiesz, że chcesz programować, to zacznij kodować już dziś i nie odkładaj tego na jutro – powodzenia!