0

Poziom:

Specjalizacje:

Technologie:

Nie wiesz co wybrać?

Pomożemy Ci znaleźć odpowiedni kurs
Skontaktuj się z nami

Kursy programowania

Jak zacząć uczyć się programowania?

Wokół początków nauki programowania i szerzej – dróg wejścia do świata IT – narosło wiele mitów i przekonań. Jedne nadmiernie podsycają entuzjazm, odrzucając zdrowy rozsądek i racjonalne myślenie, inne wręcz przeciwnie, napawają strachem i zniechęcają nawet bardzo zdeterminowanych, by w ten świat wejść.

Ten artykuł, jest próbą racjonalizacji i zdroworozsądkowego podejścia do nauki programowania samego w sobie oraz garścią dobrych rad dla tych, którzy wiedzą już, że chcą spróbować swoich sił w nauce programowania, ale nie mają pojęcia, od czego zacząć.

Na początku nauki czegokolwiek nawet instrukcje wydają się trudne, a operowanie narzędziami, czymkolwiek by one nie były, jest wyczerpujące i toporne. Frustracja rośnie, pierwsze efekty są mierne, a niezrozumiane przy pierwszych próbach zasady odbijają się czkawką. 

Tak właśnie jest też z programowaniem, tym bardziej, jeśli nie masz za sobą technicznego (najlepiej informatycznego lub podobnego) wykształcenia, gdzie w ten czy inny sposób miałeś/aś okazję zapoznać się z choćby podstawowymi pojęciami. Na początku trudno przebić się przez całkiem nowy język, którym operują sprawnie i bez zająknięcia doświadczeni programiści.

Czytasz ten artykuł prawdopodobnie dlatego, że chcesz uczyć się programowania, ale zagubiwszy się w gąszczu dziwnych słów właściwie już nie wiesz, od czego zacząć i czy to w ogóle jest możliwe bez podpisywania paktu z siłami nadprzyrodzonymi. 

Jesteś w dobrym miejscu! Mamy nadzieję, że powyższe akapity przekonały Cię, że nauka programowania to nie czarna magia, tylko dziedzina wiedzy, jak każda inna. W dalszej części spróbujemy odpowiedzieć na dwa najczęściej zadawane przez aspirujących programistów pytania: jak zacząć naukę i jaki język programowania wybrać. 

I to nie będą jedynie słuszne odpowiedzi, tylko wnioski wyniesione z własnego doświadczenia i niezliczonej ilości rozmów tak z przyszłymi, jak i bardzo doświadczonymi programistami.

Jak zacząć naukę programowania?

Podczas poszukiwań tego, co Cię interesuje, pamiętaj o jednym – świat IT to nie tylko programowanie sensu stricto. Ktoś te wszystkie aplikacje i systemy musi zaprojektować, i to nie tylko, żeby były ładne (grafik), ale i użyteczne (UX). Gdy sam produkt jest już stworzony lub jakaś jego zamknięta część, przydałby się ktoś, kto najzwyczajniej w świecie sprawdzi, czy to działa (testerzy manualni i automatyczni) i nie jest to tak proste zadanie, jak mogłoby się wydawać.

By ułatwić Ci decyzję i podpowiedzieć, czym na początku możesz się zainteresować, podrzucamy kilka podstawowych pojęć, na które możesz się natknąć przeszukując Internet w kierunku nauki programowania (i nie tylko):

Front-end – wszystko to, co w aplikacji widzi użytkownik. Nie tylko rozłożenie ikon i przycisków, ale również “warstwa logiczna”, czyli np. sposoby pobierania danych od użytkownika i przekazywanie ich do back-endu. W nazwie front-end kryją się technologie takie jak: HTML, CSS, JavaScript, TypeScript, React, Angular, Vue.js.

Back-end – “zaplecze aplikacji”, czyli wszystko to, czego użytkownik nie widzi, a działa. Sposób przechowywania danych, operacje na serwerach i procesy odpowiedzialne za poprawne działanie aplikacji. Do technologii bakc-endowych zaliczają się: PHP, .Net, C#, Java, Python, Node.js.

Full Stack – front-end i back-end w jednym. Full Stack developer to osoba, która jest biegła zarówno w programowaniu aplikacji od strony front-endu, jak i back-endu. 

Mobile – potoczna nazwa technologii mobilnych, czyli działających na urządzeniach mobilnych/przenośnych, takich jak smartfony i tablety. Jeśli chcesz pisać kod na aplikacje mobilne, trzeba poznać takie technologie jak: Java, Kotlin, Swift, Objective-C, C# i platformy: Android, iOS, Windows Phone. Frameworki do tworzenia aplikacji mobilnych: React Native, Flutter, Ionic, Xamarin

UX designer – osoba odpowiedzialna za użyteczność aplikacji czy systemu, czyli, prościej rzecz ujmując, żeby tym, którzy będą używać danej aplikacji dobrze i wygodnie się z niej korzystało.

Tester – to osoba, która sprawdza, czy aplikacja/system działa poprawnie, wydajnie, wedle życzeń klienta, założeń projektu etc. Testy dzielą się na testy manualne, gdzie nie jest wymagana umiejętność programowania w żadnym języku, i testy automatyczne, wymagające znajomości konkretnych technologii do pisania skryptów. Narzędzia i technologie, które wykorzystują testerzy to przede wszystkim: Selenium, Appium, TestComplete, Katalon Studio, Robot Framework, Cucumber, JMeter. Środowiska testowe: np. BrowserStack, Sauce Labs, AWS Device Farm, Firebase Test Lab. Frameworki testowe: np. JUnit, TestNG, NUnit, Mocha, Narzędzia do zarządzania testami: np. TestRail, Zephyr, HP ALM, TestLink.

Dla podpowiedzi, czym możesz się zainteresować, podrzucamy listę popularniejszych języków programowania:

HTML – przeważnie łączony z CSS. To podstawowe języki Internetu. Właśnie przy użyciu HTML i CSS najczęściej powstają proste strony internetowe i szkielety większych aplikacji. To dobry punkt wyjścia, jeśli myślisz o drodze front-endowca – z HTMLem ułożysz elementy na stronie, natomiast CSSem nadasz im pożądany wygląd.

JavaScript (nie mylić z Javą) – Głównie język front-endowy, choć, dzięki NODE.JS, coraz szerzej wykorzystywany jest w back-endzie. Wszędzie tam, gdzie macie do czynienia z interaktywnymi aplikacjami webowymi (internetowymi), przyda się JavaScript.

Python – jeden z ulubionych języków akademickiej społeczności. Wykorzystywany zarówno w back-endzie, jak i front-endzie. Dobry wszędzie tam, gdzie zależy nam na sprawnym przetwarzaniu i analizowaniu danych. Jest również szeroko wykorzystywany do tworzenia aplikacji webowych i sieciowych.

PHP – język wykorzystywany po stronie serwera, a więc w back-endzie, służący do budowania serwisów internetowych. Obecnie mówi się, że staje się coraz mniej popularny, jednak w związku z jego szerokim zastosowaniem w przeszłości, jeszcze długo będzie należał do tych częściej używanych.

Java – jeden z najpopularniejszych (obok C#) i najwszechstronniej wykorzystywanych języków programowania. W Javie możemy tworzyć aplikacje zarówno serwerowe, desktopowe, jak i mobilne. Spotkacie ją nawet w swojej pralce czy mikrofalówce! Używany jest głównie przez duże korporacje. Należy do języków, które mają zarówno swoją stronę front-endową, jak i back-endową, jednak specjalizacja w tym przypadku nie przychodzi na początku nauki, a dopiero długo po jej rozpoczęciu.

C# –  drugi obok Javy język, któremu zaufały duże korporacje. Podobnie jak Java, jest używany i we front-endzie, i w back-endzie. Rozwijany i używany we frameworku Microsoftu .NET służy do tworzenia aplikacji na platformę Windows, jak również gier komputerowych i aplikacji desktopowych.

Java i C# są dobrym początkiem, jeśli w przyszłości chcesz tworzyć aplikacje mobilne.

Inne popularne, za to trudniejsze do nauki języki programowania, używane do zadań specjalnych:

C – powszechnie uważany za podstawowy język programowania – bardzo szybki, jednak stosunkowo trudny. Wykorzystywany m.in. przy tworzeniu systemów operacyjnych i wszędzie tam, gdzie liczy się szybkość wykonywania.

C++ – język ten, łącząc prędkość C z obiektowością i samodzielnym zarządzaniem pamięcią, jest narzędziem do zadań specjalnych, takich jak silniki gier komputerowych czy skomplikowane aplikacje mobilne i desktopowe.

 

Uczymy programowania od lat, od podstaw i na poziomie zaawansowanym. Pomagamy stawiać pierwsze kroki w świecie IT, podnosić kompetencje w teamach programistów i pokazujemy, między innymi dzięki prężnie działającej społeczności Hackerspace Trójmiasto, że branża IT i nowe technologie w ogóle, są naprawdę ciekawe i niezwykle różnorodne.

Naucz się programowania, zdobądź nowy zawód, wejdź do branży IT i zostań programistą!

Sprawdź, jak zapisać się na kurs!