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.
Załóżmy że już podjąłeś te najważniejsze decyzje dotyczące ścieżki rozwoju Twojej
kariery, wybrałeś też technologię, w której chcesz pracować,
no i jednocześnie jesteś już po etapie
nauki tej technologii i jesteś gotowy do podjęcia pracy.
Znajdujesz też pracę w wymarzonej firmie no i być może już teraz zastanawiasz się, jak ta
praca będzie wyglądać i właśnie w tej lekcji postaram Ci się to przybliżyć.
Przede wszystkim programiści zajmują się
rozwojem i utrzymaniem oprogramowania i teraz pytanie co to dokładnie oznacza?
Ano tyle, że jeżeli zostaniesz zatrudniony w jakiejś firmie najpewniej zostaniesz
przydzielony do jednego z projektów, które ta firma rozwija.
Tutaj w zależności od tego na jakim etapie
rozwoju jest ten projekt, Twoje obowiązki mogą się nieco różnić.
Z jednej strony możesz trafić do jakiegoś dynamicznie rozwijanego projektu bądź
też projektu, który jeszcze jest na etapie wczesnego rozwoju,
wtedy większość Twoich obowiązków będzie się skupiać raczej na rozwoju nowych
funkcji, niż na utrzymywaniu tych, które istnieją.
Z drugiej strony właśnie możesz trafić do projektu,
który jest raczej stabilny i nie wymaga takiego dynamicznego rozwoju
i wtedy zajmujesz się raczej utrzymaniem obecnych funkcji i np.
ich naprawianiem bądź też modyfikowaniem w zależności od potrzeb.
Kolejną kwestią, którą będziesz zajmował się jako programista jest ogólne
testowanie, naprawianie błędów oraz wdrażanie aplikacji.
Oznacza to mniej więcej tyle, że jak być może już wiesz,
w momencie gdy jesteśmy na etapie wdrażania jakiejś nowej funkcjonalności
nie ma z tym najmniejszego problemu, no bo nic z naszej aplikacji nie korzysta a
klienci i użytkownicy nie mają do niej dostępu
tylko my jesteśmy w stanie, po prostu jak w piaskownicy, dokładać kolejne elementy do
momentu aż ta funkcjonalność zostanie zakończona.
Wtedy musimy zająć się jej odpowiednim
przetestowaniem i robimy to albo my albo dedykowane temu osoby.
Następnie w momencie gdy aplikacja
przejdzie już taką fazę testów, musimy ją opublikować. I tym również zajmujemy się
jako programiści, czyli mowa tutaj o tym wdrożeniu.
I znowu nie mam tutaj na myśli tego, że wskakujemy wtedy w buty DevOpsa i
zajmujemy się tym, aby skonfigurować jakieś zaawansowane systemy, tylko bardziej
pracujemy na przygotowanych w ten sposób systemach i wdrażamy i publikujemy naszą
aplikację. Wtedy musimy upewnić się, że wszystko jest gotowe, przetestowane
i że po opublikowaniu nadal wszystko działa poprawnie.
No i w zasadzie jeżeli chodzi o takie ogólne obowiązki programisty to w zasadzie
wszystko kręci się wokół tego, czyli rozwoju, utrzymania oraz ewentualnego
testowania i publikowania naszej aplikacji.
Natomiast poza tym, twoimi obowiązkami jest
również nieustanna nauka i pozostawanie na bieżąco.
Chodzi o to, że świat programistyczny i w
ogóle świat technologii, zmienia się niesamowicie szybko i my jako programiści
nieustannie musimy uczyć się nowych rzeczy. Bo z jednej strony, jak widziałeś, jest z
tego niesamowicie dużo, a z drugiej strony praktycznie na każdym kroku pojawiają się
nowe technologie, narzędzia, które albo ułatwiają nam pracę, albo otwierają przed
nami nowe możliwości, które również są cenione na rynku pracy.
Warto jeszcze pamiętać o tym, że oprócz
samego programowania, rozwoju, nauki i robienia wszystkich tych ciekawych rzeczy
najważniejsze jest to, że jesteśmy elementem firmy czyli pewnego rodzaju
struktury, która została powołana w określonym celu.
Ta struktura musi realizować jakieś określone przez siebie założenia i my
również jako programiści jesteśmy tego częścią.
Oznacza to mniej więcej tyle, że programując czy rozwijając jakąś istniejącą
aplikację musimy zadbać o to, aby jej rozwój pokrywał się z potrzebami całej
organizacji bądź potrzebami naszych klientów. Dzięki czemu sama firma będzie
mogła się rozwijać a my będziemy mieć w tym czynny udział.
No i ze względu na to, że to wszystko dzieje się w ramach takiej struktury, będą
się działy sytuacje polegające na tym, że część osób będzie odchodziła z Twojego
zespołu, być może zmieniała pracę a być może zmieniała po prostu stanowisko i
jednocześnie będą pojawiały się nowe osoby.
W większości przypadków za wdrażanie
nowych osób odpowiedzialne są osoby na stanowiskach zarządczych.
Natomiast na koniec dnia do konkretnych projektów może zdarzyć się, że to Ty
będziesz odpowiedzialny za to aby wdrożyć nowego pracownika.
Na tym etapie dodam jeszcze tylko, że warto
angażować się w takie dodatkowe inicjatywy ze względu na to, że na pewno zostaną one
docenione przez pracodawcę i Twojego przełożonego, a to z kolei może wiązać się
nie tylko z podwyżką ale też nowymi możliwościami, z których prawdopodobnie
nawet na tym etapie nie zdajesz sobie sprawy.
Zatem podsumowując, chciałbym tylko zaznaczyć, że rola programisty wcale nie
sprowadza się wyłącznie do pisania kodu i rozwijania aplikacji, ale również mamy inne
obowiązki i funkcjonujemy w zespole o czym powiemy sobie w kolejnej lekcji.