dla Początkujących
6 godz. 26 min · JavaScript · Full-stack i Programowanie
Adam GospodarczykProgramowanie to szeroka dziedzina, która nieustannie się rozwija. Rozpoczynając naukę możemy opierać się głównie na wskazówkach bardziej doświadczonych osób, bądź autorach kursów i nauczycielach. W praktyce najważniejsze na początku jest dobre zrozumienie tego, czym jest programowanie, jakie możliwości daje oraz jakie możemy wybrać ścieżki rozwoju. W tym kursie spojrzymy na programowanie z szerokiej perspektywy, dając Ci solidne podstawy do dalszej nauki.
To kolejne trudne pytanie, na które nie ma jednoznacznej odpowiedzi. Dobra wiadomość jest taka że języki programowania, podobnie jak angielski, niemiecki czy hiszpański mają cechy wspólne. Nie oznacza to że nauka jednego, da Ci dostęp do wszystkich ale poznasz ogólne mechanizmy, które spotkasz w niemal wszystkich pozostałych technologiach. W tym kursie skupiamy się właśnie na takich obszarach, opierając przykłady o obecnie najpopularniejszy język jakim jest JavaScript.
Być może zastanawiasz się jak dokładnie wygląda praca programisty? Czym różni się front-end od back-endu i czy wysokie umiejętności analityczne są wymagane niezależnie od obszaru programowania, którym się zajmujemy? Dodatkowo samo zostanie programistą to tylko początek drogi. Możliwości jakie przed nami stoją nie tylko są ogromne, ale również nieustannie się rozwijają, stawiając przed nami nowe wyzwania.
Ten kurs podzielony jest na dwie części - teoretyczną, która przedstawi Ci szerokie spojrzenie na programowanie oraz praktyczną, w której samodzielnie będziesz w stanie przekonać się jak pisać programy z wykorzystaniem języka JavaScript - najpopularniejszego języka na świecie. To, że będziemy przerabiać przykłady w JavaScript, nie stanowi przeszkody a wręcz lepiej przygotuje Cię do pracy z innymi językami jak Python, C# czy C++ lub Kotlin. To wszystko ułatwi Ci podejmowanie decyzji dotyczących dalszej nauki i rozwoju jako programista.
W pierwszych lekcjach części praktycznej kursu dowiesz się jak skonfigurować środowisko pracy wraz z edytorem, w którym przyjdzie Ci pracować. Pomożemy Ci w dobraniu odpowiednich ustawień i wtyczek, które przyspieszą naukę i pomogą w lepszym zrozumieniu podstawowych koncepcji programistycznych. Krok po kroku dowiesz się jak przygotować środowisko i rozpocząć komfortową pracę.
Mimo, że będziemy pracować z JavaScript, posłuży nam on do przedstawienia najważniejszych koncepcji programowania w każdym innym języku. Nie będziemy uczyć się tworzenia stron i środowiska przeglądarki a jedynie przećwiczymy najważniejsze koncepcje języków programowania w środowisku konsolowym. Dzięki temu zdobyte umiejętności z łatwością przełożysz na inne języki jak Python, Java czy Swift, bo wszystkie posiadają identyczne konstrukcje, a poznać należy wyłącznie różnice.
OOP to jeden z najważniejszych paradygmatów programowania, który powinien poznać każdy aspirujący Programista. Dzięki temu będziesz mógł zdecydowanie lepiej zrozumieć możliwości i powiązania klas i obiektów, które tworzą programiści a także pisać kod, który jest prostszy i reużywalny. To koncepcja, którą także wyjaśnimy obrazowo w kursie. Oczywiście, poza teorią w kursie pokażemy Ci przykłady tworzenia funkcjonalnych klas w JavaScript.
Kolejną ważną koncepcją, którą musi znać każdy początkujący Programista jest praca z błędami - innymi słowy obsługa błędów lub debugowanie naszej aplikacji. To niezwykle ważne, bo oszczędzi Ci mnóstwa frustracji oraz wielu godzin rozpoznawania, co w kodzie nie działa poprawnie. Z kursu w praktyce dowiesz się, jak testować swoje aplikacje, łatwo wykrywać błędy i korzystać z narzędzi, które będą je dla nas wykrywać lub automatycznie poprawiać!
Ten kurs przygotowaliśmy tak, aby był fundamentem wiedzy o Programowaniu, którego używamy w wielu naszych ścieżkach na eduweb.pl. To znaczy, że kurs który masz przed sobą rozpoczyna ścieżkę Python, JavaScript, Ruby i wiele innych. Wiemy, że w sieci jest mnóstwo materiałów na temat podstaw programowania i chcieliśmy przygotować wyjątkowy kurs, który da Ci spokój w natłoku wielu informacji w sieci. Zaangażowaliśmy w to najlepszych autorów eduweb oraz naszym zdaniem jednych z najlepszych programistów w Polsce. To, co jest jednak najważniejsze - kurs omawia programowanie bardzo prostym językiem, dzięki czemu jest przystępny dla każdego!
Kurs przeznaczony jest dla osób początkujących, które stawiają swoje pierwsze kroki na scieżce programisty lub programistki. Jednak skorzystają z niego także te osoby, które myślą o nauce programowania w celu uzupełnienia innych umiejętności, na przykład internetowi przedsiębiorcy, freelancerzy, UI/UX i web designerzy. Jeżeli czujesz się zagubiony lub przytłoczony dużą ilością często sprzecznych informacji - ten materiał pozwoli Ci szerzej spojrzeć na programowanie. To z kolei przełoży się na lepsze decyzje, które będziesz podejmować w kontekście swojego rozwoju. W kursie znajdziesz wskazówki i porady dotyczące efektywnej nauki programowania, które pomogą Ci szybciej zdobyć nowe umiejętności i pracę w zawodzie. Najważniejszą z nich jest fakt, że programowanie to dynamicznie rozwijająca się dziedzina, która wymaga od Ciebie nieustannej nauki. Zatem wypracowanie odpowiednich nawyków i technik nauki jest niezwykle istotne, niezależnie od miejsca w którym aktualnie się znajdujesz.
Na przestrzeni tego kursu mówiliśmy dużo na temat podejmowania różnego rodzaju
decyzji, wyborze technologii czy ścieżki, którą obieramy jako programiści.
Natomiast na ten moment, nawet jeżeli myślisz tylko o tym, aby nauczyć się
jakiejś wybranej technologii a następnie dostać pracę jako programista, to nadal
warto w tym wszystkim uwzględniać jeszcze taką większą perspektywę możliwości, które
stoją przed tobą w momencie gdy już staniesz się tym programistą.
Konkretnie Twoja kariera może potoczyć się w ramach ścieżki specjalizacji czyli
przechodzisz po prostu drogę od juniora poprzez regulara do seniora
i stajesz się naprawdę doświadczonym i wyspecjalizowanym programistą, działającym
albo w ramach wybranej jednej technologii, albo wybranego stacku technologicznego,
dzięki czemu stajesz się prawdziwym ekspertem w wybranej branży.
Z drugiej strony możesz zająć się też tematem zarządzania.
To znaczy, że zdobywając doświadczenie jako
programista i właśnie angażując się w różnego rodzaju procesy
często biznesowe, zdobywasz po prostu ogromne doświadczenie, które na pewnym etapie
prowadzi się do ścieżki zarządzania. W roli teamlidera będziesz odpowiedzialny nie tylko
za rozwój oprogramowania, czyli realizowanie tych zadań, które realizujesz
teraz czy będziesz realizował jako programista, natomiast będziesz
odpowiedzialny również za zespół ludzi, który będzie pracował razem z Tobą.
Twoim zadaniem będzie dbanie o to, aby ten
zespół realizował określone cele, aby miał odpowiednią motywację i aby pojedyncze
osoby, które wchodzą w jego skład mogły liczyć na Twoje wsparcie.
Poza tym możesz przybrać również rolę PM'a, czyli tzw.
Project Managera, czyli osoby, która koordynuje realizację
określonych projektów i jest odpowiedzialna bezpośrednio za
ich sukces bądź też porażkę. Na takim stanowisku już zdecydowanie mniej programujesz a
zdecydowanie więcej czasu spędzasz np.
w excel'u planując różnego rodzaju budżety,
wykorzystanie zasobów, raportowanie itd.
No i ostatecznie możesz zostać również CTO, czyli dyrektorem do spraw technicznych,
który zajmuje się ogólną technologią w ramach firmy, w której pracujesz.
Jest to wysokie stanowisko, które wymaga ogromnej wiedzy,
no i bezpośrednio wiąże się też z
posiadaniem zespołu, rekrutacją i realizowaniem różnego rodzaju procesów
biznesowych, które są raczej daleko od samego programowania.
Na ten moment powiedzieliśmy sobie na temat możliwości, które stoją przed tobą w
momencie gdy pracujesz w określonej firmie.
Oczywiście taką firmę możesz zmienić i po prostu zaangażować się w inny projekt.
Natomiast też na pewnym etapie możesz
pomyśleć o rozwoju własnej działalności. To znaczy możesz albo samodzielnie realizować
projekty dla wybranych klientów, albo możesz zająć się np.
przeprowadzaniem szkoleń w innych firmach,
bądź też nawet mentoringu indywidualnym osób, które chcą zostać programistami,
i tutaj nie ma z tym najmniejszego problemu.
W momencie też gdy zdobędziesz odpowiednie doświadczenie może zdarzyć się sytuacja, że
będziesz pracował po prostu jako konsultant.
Inaczej mówiąc, będziesz miał klientów, którym będziesz po prostu doradzał czyli
nie będziesz zajmował się bezpośrednio wdrażaniem określonego oprogramowania,
tylko takie firmy będą potrzebowały Twojej rady w różnego rodzaju kwestiach.
Od siebie dodam tylko tyle, bo zdarzyło mi się funkcjonować właśnie w takiej roli,
że warto na tym etapie uwzględnić również to, aby za bardzo nie odkleić się od samej
technologii i po prostu pozostawać na bieżąco, z tym co aktualnie pojawia się na
rynku oraz z tym, w jaki sposób aktualnie rozwijane jest oprogramowanie.
No i poza tym wszystkim jeżeli masz np.
jakiś pomysł i jesteś odpowiednio odważny,
możesz zająć się założeniem swojej firmy i wtedy masz do dyspozycji wiele różnych
opcji. Możesz założyć po prostu startup, poszukać jakiejś inwestycji bądź
zewnętrznego źródła finansowania, albo też postanowić, że zaczynasz
rozwijać jakiś projekt na boku, po godzinach, który wraz z upływem czasu
przekształci się w jakiś projekt, który stanie się Twoim np.
głównym źródłem dochodu i utrzymania.
Podsumowując, moim celem w tej lekcji było
to, aby uświadomić Cię, że jako programista możesz rozwijać się nie tylko w ramach
wybranych technologii czy obszarów programowania, które sobie
omówiliśmy, natomiast wykorzystując swoje całe programistyczne doświadczenie i
doświadczenie związane z rozwojem różnego rodzaju projektów,
możesz zająć się szeroko rozumianym biznesem w najróżniejszych formach.
Mam nadzieję, że to zainspiruje Cię do tego aby popatrzeć na swoją karierę możliwie
szeroko i pamiętaj tylko o tym, że tych wszystkich decyzji nie musisz podejmować
już teraz. Możesz po prostu mieć to na
uwadze gdzieś tam w przyszłość i wraz ze zdobywaniem kolejnych doświadczeń będziesz
podejmował kolejne decyzje, które będą popychać Cię naprzód.