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.
Powiedzieliśmy sobie, że programiści nie
działają w izolacji i nasza rola nie ogranicza się wyłącznie do pisania kodu i
dodawania nowych funkcji do rozwijanego programowania, lecz stanowimy część
większej struktury i pracujemy w zespole. W tej lekcji
pokażę Ci mniej więcej o co w tym
wszystkim chodzi i na co warto zwrócić uwagę.
Przede wszystkim rolą zespołu i właśnie
całej firmy, jest ustalanie i realizowanie zadań.
Często wygląda to tak, że po prostu spotykacie się i wspólnie podejmujecie
decyzje na temat tego, co dalej w danej chwili w danym dniu będzie robić, w jakiej
kolejności i w jaki sposób podejdziecie do rozwiązania określonych problemów.
Dzięki temu w zależności od tego w jakiej firmie pracujesz i w jakiej strukturze
Twój wpływ na rozwój całej firmy będzie większy lub odpowiednio mniejszy. Dzięki
czemu zdobywasz dodatkowe doświadczenie, które może przydać Ci się w przyszłości np.
w sytuacji gdy będziesz chciał otworzyć
własną firmę bądź też zaangażować się w rozwój jakiegoś większego projektu.
Zatem kolejną kwestią, którą warto tutaj
podkreślić jest fakt, że wszyscy pracujemy w zespole. I w zespole
bardzo ważne jest to, aby każdy mógł
polegać na tej drugiej osobie, która jest obok. Dzięki czemu nie tylko Ty możesz
komuś pomagać, ale również możesz liczyć na wsparcie innych.
Swoją drogą warto o tym pamiętać, że
szczególnie na początku swojej kariery będą zdarzały się sytuacje, w których nie
będziesz po prostu czegoś wiedział i nie bój się wtedy po prostu zapytać. Nie próbuj
przebijać głową ściany samodzielnie, ponieważ wystarczy czasem zadać jedno
pytanie, aby poznać odpowiedź i znaleźć rozwiązanie swojego problemu.
Jednocześnie warto tutaj podkreślić to, że w momencie, gdy pomagasz innym i rozwiązujecie
wspólnie jakieś problemy, dochodząc wspólnie do rozwiązania Ty również
zdobywasz cenne doświadczenie, które możesz wykorzystać w przyszłości.
Zasadniczo takie wspieranie innych
członków zespołu może przybierać najróżniejsze formy.
Jedną z tych form jest ogólna wymiana
doświadczenia i po prostu dzielenie się wiedzą.
Inaczej mówiąc, w momencie gdy np.
znajdziesz ciekawą książkę, kurs czy dowolne inne źródło wiedzy,
które uznasz za wartościowe, to zdecydowanie warto się nim podzielić z innymi.
Poza interakcjami w zespole, które są raczej
nieustrukturyzowane, czyli chodzi o taką codzienną pracę,
nieodłącznym elementem pracy programisty jest
udział w spotkaniach wewnętrznych, czyli takich, które są organizowane albo w
zespole albo w ramach różnych zespołów, które funkcjonują w ramach twojej firmy,
w których podejmujecie najróżniejsze decyzje, bądź też ustalacie
co jest do zrobienia i co ewentualnie jest możliwe a co nie jest. Tutaj,
z mojego doświadczenia, płynie taka jedna uwaga, aby jako programiści szczególnie w
momencie, gdy zdobywamy jakieś większe doświadczenie albo
mamy jakąś unikatową wiedzę na temat określonego projektu,
łatwo tutaj złapać się w pułapkę polegającą na tym, że więcej czasu spędzamy
na spotkaniach niż realnie na pracy, którą wykonujemy.
W związku z tym pamiętaj proszę o tym, aby
znaleźć tutaj odpowiedni balans i czasem po prostu powiedzieć nie. To znaczy, że gdy
ktoś zaprasza cię na jakieś spotkanie nie musisz od razu odmawiać,
natomiast zadaj pytanie czy rzeczywiście jesteś tam potrzebny, ponieważ to może
zaoszczędzić Ci czas i energię, którą możesz wykorzystać do tego, aby zaangażować się w
inne aktywności. Jednocześnie poza spotkaniami wewnętrznymi,
może być sytuacja, w której będziesz angażowany w spotkania zewnętrzne tzn.
mogą to być spotkania albo z klientami, albo z użytkownikami waszej aplikacji, bądź
też z innymi partnerami, z którymi wchodzi w interakcję Twoja firma.
Na takich spotkaniach często potrzebna jest twoja specjalistyczna wiedza bądź też
po prostu obecność, do tego abyś uzyskał dostęp do informacji, które później pomogą
podejmować jakieś istotne decyzje w ramach firmy.
Tym również pozornie zajmują się programiści i w zależności od tego w
jakiej firmie pracujesz i na jakim etapie rozwoju jesteś takie aktywności będą
wypełniały większą lub mniejszą część Twojego czasu.
Także teraz biorąc pod uwagę te wszystkie rodzaje aktywności, które jak widzisz
znacznie wykraczają poza sam rozwój oprogramowania i pisanie kodu,
okazuje się, że my jako programiści tak naprawdę bierzemy czynny udział
w realizacji celów biznesowych. I ma to ogromne znaczenie nie tylko z perspektywy
rozwoju firmy w której pracujemy ale również z perspektywy rozwoju nas samych.
Ja np. przez wiele lat angażowałem się w rozwój
firmy, w której brałem udział w tych wszystkich spotkaniach i podejmowałem
różnego rodzaju decyzje, dzięki czemu zdobyłem ogromne i szerokie doświadczenie,
które sprawiło, że jestem lepszym programistą ponieważ doskonale rozumiem
procesy, które zachodzą w innych obszarach biznesu np.:
w marketingu czy sprzedaży.
Zatem podsumowując, pamiętaj proszę o tym, że jako programista nie tylko będziesz
odpowiedzialny za to aby pisać kod i rozwijać aplikacje, ale również warto
zaangażować się w inne procesy biznesowe, które dadzą ci unikatowe doświadczenie i
otworzą przed tobą możliwości rozwoju Twojej kariery np.:
w kierunku managerskim bądź też otwarcia własnego biznesu.
Ostatecznie proponuję abyś brał to pod uwagę praktycznie już od swojego
pierwszego dnia, uwzględniając to co chcesz robić np.
za 10, 15 bądź 20 lat.