Zostań programistą – samoukiem

1-hYDe9L0gWDo1JzsKj-X0sw

Znajomi często mnie pytają co zrobić, by zostać programistą. Jakie studia skończyć, do jakiej szkoły pójść czy też nieśmiertelne “skąd ty to wszystko wiesz?”. Nie ma pewnie idealnej recepty na sukces. W tym artykule zamierzam podzielić się moją.

Wybierz język

Możesz zacząć przygodę z dowolnym językiem programowania. Dobrze, żeby Twój wybór odpowiadał mniej więcej temu, czym chciałbyś się zajmować w przyszłości. Stracisz mniej czasu.

  • gry komputerowe i na konsole: C, C++
  • gry i aplikacje mobilne: Objective C i Swift2 (iOS), Java (Android)
  • aplikacje webowe: Javascript, PHP, Python, Ruby – do tego przyda się też znajomość HTML i CSS

Rozwiąż swój problem

W swoim otoczeniu na pewno znajdziesz proces, który można by usprawnić jakimś programem komputerowym. Pożyczasz dużo książek? Napisz program do rejestrowania wypożyczeń. Prowadzisz bloga? Stwórz prosty CMS, który pozwoli Ci tego bloga poprowadzić tak, jak chcesz. Nie lubisz biegać po markecie bez sensu? Stwórz wygodną appkę z listą zakupów. Na pewno wpadniesz na jakiś lepszy pomysł.

Ważne, abyś wybrał temat, który dobrze znasz i rozumiesz, wtedy projektowanie interakcji zajmie dużo mniej czasu i będzie mniej frustrujące.

Pierwszy problem, który rozwiązywałem w ten sposób, to było katalogowanie i przeszukiwanie zawartości wielkiej kolekcji płyt CD bez potrzeby wyciągania ich z półki (program napisany w C++, WinApi) – miałem kiedyś ponad 600 sztuk płyt CD. Było to w epoce internetu, którego prędkość liczyło się w kilobodach i połączeniu towarzyszyły dziwne piski.

Książki

Czy warto kupić książkę? Chyba tak. Pierwsza i jedna z niewielu jakie kupiłem była o programowaniu w Perlu. Świetny wybór, tyle teraz serwisów internetowych w tym się pisze… No ale nie było wtedy nikogo, kto by mi powiedział, że PHP do tego celu jest zdecydowanie lepszy i łatwiejszy. Na książkę i Perla zmarnowałem ponad pół roku.

Kolejnych języków przydatnych w pisaniu stron / aplikacji webowych już nauczyłem się z Internetu. Tak było z PHP, Pythonem i JavaScriptem.

Internet i język angielski

Mnóstwo darmowych i świetnych materiałów można znaleźć w sieci. Jeżeli jeszcze nie umiesz języka angielskiego na poziomie pozwalającym na swobodne czytanie technicznych artykułów, a masz tylko jakieś podstawy angielskiego, to zmuś się do czytania i korzystania z takich tekstów. Zasoby anglojęzyczne są nieporównywalnie bogatsze, więc łatwiej trafić na dobre materiały.

Jeżeli znasz angielski przynajmniej na podstawowym poziomie polecam freecodecamp.com. Świetnie przygotowane, interaktywne kursy HTML, CSS, Javascript, Bootstrap – jest tego mnóstwo. Mój dziewięcioletni syn w jeden dzień nauczył się z nich podstaw HTML/CSS i Bootstrap’a.

Moja pomoc w podjęciu decyzji

Jeżeli po przeczytaniu powyższych porad dalej nie wiesz, od czego zacząć to skorzystaj z mojego doświadczenia. Moim zdaniem, jeżeli interesuje cię programowanie aplikacji webowych, to warto zainteresować się Javascript. Pozwoli Ci to w przyszłości zrealizować wszystko od prostych stron www, rozbudowanych serwisów internetowych, przez aplikacje realizujące konkretne zadania po proste gry online. No i przede wszystkim zagwarantuje ciekawą i dobrze płatną pracę.

Programiści aplikacji webowych próbują się dzielić na frontendowców i backendowców. Frontend to ta część widoczna dla użytkownika, działająca w przeglądarce komputera lub telefonu, prezentująca dane, animująca interakcje z użytkownikiem. Backend zwykle odpowiada za przechowywanie danych i komunikację z dostarczaną usługą.

Jest jeszcze inne podejście, Full Stack Developer. Ktoś, kto potrafi zająć się aplikacją kompleksowo, zarówno od strony frontendu jak i backendu. I takie podejście mi osobiście bardziej odpowiada.

Oczywiście już teraz nikt nie pisze “gołego” JavaScript, aby stworzyć interakcje w przeglądarce czy zrealizować jakąś funkcję na serwerze. Jest cała masa gotowych rozwiązań z których, w zależności od konkretnego zastosowania, warto skorzystać. Node.js, mySQL, Postgress, GraphQL, MongoDB po stronie serwera (backendu) i Angular, React lub Blaze po stronie klienta (frontendu). Do tego cała masa technologi i gotowych rozwiązań takich jak NPM, jQuery, LESS, underscore.js, express, Bootstrap, które ułatwiają życie współczesnego developera.

Jeżeli interesuje cię Javascript to polecam tę pozycję:

Jest bardzo przystępnie napisana i porządnie wydana. Warto wziąć wersję papierową. Nie uczy zbędnych rzeczy. Idealna, jeżeli choć trochę chcesz poznać programowanie frontendu.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *