• Home
  • Blog
  • Jak zostać programistą? Krótki poradnik dla początkujących!

PO PRACY, TRENDY

Jak zostać programistą? Krótki poradnik dla początkujących!

15.04.2016 - Przeczytasz w 5 min.

Programista dziś to bardzo poszukiwany zawód. Wiele osób kuszą wysokie zarobki powiązane z tą specjalistyczną branżą. Mówi się, że programistą może zostać każdy - jeśli tak, to od czego zacząć?

Jak zostac programista RST Software

Programista dziś to bardzo poszukiwany zawód. W niejednej gazecie ukazały się artykuły opisujące rynek IT jako najszybciej rozwijający się oraz o najwyższym zapotrzebowaniu na pracowników.

Wiele osób kuszą też wysokie zarobki powiązane z tą specjalistyczną branżą. Mówi się, że każdy może zostać programistą – jeśli tak, to od czego zacząć? Możesz zerknąć na nasz film:

Czy szkoły programowania zrobią z Ciebie developera?

 

Umiejętność programowania != znajomość języka programowania

Pierwszy dylemat przed którym stają zwykle osoby chcące nauczyć się programować jest wybór języka. Moim zdaniem, z perspektywy czasu nie ma znaczenia jaki konkretnie język wybierzemy, tylko bardziej ogólnie technologię w jakiej czujemy się najlepiej i jaka nas interesuje. Dla przykładu w przypadku technologii webowych popularne są języki PHP, Javascript (Node.js), Ruby, ASP, dla technologii mobilnych Java/Swift a dla przemysłu języki takie jak C/C++/Asembler. To oczywiście tylko mały wycinek możliwości, ale jest to dobry start – zastanówmy się, co chcielibyśmy w danym języku osiągnąć.

Najważniejsze jest to, że nie trzeba podporządkowywać temu wyborowi całej późniejszej kariery. Najpierw czeka nas nauka konkretnego języka, później ogólnie pojęta nauka programowania. Język to konstrukcje i struktury, przez programowanie rozumiem pewien sposób myślenia, który jest łatwo przekładalny na język komputera. Gdy opanujemy tę umiejętność to nagle przejście na kolejny język programowania będzie w większości tylko kwestią poznania składni lub elementów typowych dla danej technologii.

 

Internet kopalnią wiedzy, jak zostać programistą

Trochę truizm, ale aż ciężko byłoby wymienić wszystkie strony i serwisy, gdzie można (najczęściej za darmo) nauczyć się programowania. Wystarczy najczęściej podstawowa znajomość języka angielskiego aby takie serwisy stanęły przed nami otworem. Na dodatek możemy wtedy czytać dokumentację techniczną i specyfikację języka. Jest to niejednokrotnie świetny pomysł na zapoznanie się z językiem i dobrymi praktykami – jestem zdziwiony, że tak wiele osób pomija ten element.

 

Cel to dobry początek, droga do zwycięstwa ważniejsza niż zwycięstwo

Dla mnie jednym z większych motywatorów do nauki programowania było postawienie sobie celu – zadania, które na chwilę obecną wydawało mi się nie do rozwiązania. Stopniowo dochodziłem samodzielnie do sposobu w jaki można to zrealizować. Same wyzwania stawiałem sobie różne, czy to napisanie prostej gry, czy stworzenia programu do rysowania (odpowiednika Painta) czy jakiegoś edytora tekstowego. Świetnym i motywującym pomysłem jest znalezienie drugiej osoby pragnącej nauczyć się kodować. Dzięki temu oprócz naturalnego dążenia do celu dokładamy również element rywalizacji, który świetnie podkręca motywację. W moim przypadku dzięki takim “konkursom” ze znajomym bardzo szybko rozwijałem swoją wiedzę – dziś oboje pracujemy z sukcesami w IT. Ponadto zaskakujące było dla mnie jak w tej dziedzinie wiedzy można dwojako podejść do problemu. Przykład z brzegu – w “konkursie” na program do rysowania ja skupiłem się na obrazach rastrowych, cofaniu zmian, różnych rodzajach pędzla. W tym samym czasie kolega poszedł w zupełnie inną stronę umożliwiając “rysowanie” prostych obrazów wektorowych, z których każdy był osobno edytowalny niczym niezależna warstwa.

 

Skorzystaj z chęci dzielenia się innych

Jeśli automotywacja lub współzawodnictwo z kolegą nie jest dla Ciebie – to wciąż nie koniec! Jednym z ciekawszych podejść jest podejście nie od strony tworzenia wszystkiego na nowo, tylko modyfikowania tego co już ktoś zrobił. Społeczność Open Source (ludzi udostępniających swój kod źródłowy) jest gigantyczna, można znaleźć nawet duże gry gotowe do ściągnięcia w postaci kodu.

Dobrym polem do nauki jest próba zapoznania się z tym jak taka gra działa a co fajniejsze próba zepsucia jej mechanizmów. Częstym prostym przykładem jest np. zmiana parametrów broni, ustawień środowiska (grawitacja, oświetlenie, tekstury) itp. Taka zabawa nie dość, że często dostarcza rozrywki (można niekiedy uzyskać naprawdę komiczne rezultaty) to dodatkowo pozwala zrozumieć działanie gry “od spodu” . Ta wiedza jest już dobrą podstawą by zainteresować się i zrozumieć czym jest programowanie.

 

Co jest najłatwiejsze do nauki programowania? Ile czasu muszę się uczyć?

Moim zdaniem programowanie ma bardzo nierówną krzywą nauki. Początek jest prosty – zrozumienie idei zmiennej, prostego jej przekazywania, wszelkiego typu aplikacje “Hello world” – jest to proste, bo zachowuje się tak jak możemy tego oczekiwać. Dużym krokiem jest zrozumienie działania struktur, jakie są w programowaniu – tablic, pętli, wskaźników. Te elementy są typowe dla maszyn, ale nie tak oczywiste dla człowieka.

Dalej znajduje się bariera samego języka – trzeba znać przynajmniej część “stylistyki” języka – sposobu opisu danych obiektów, budowy metod i klas.

Jeśli chodzi o czas, który trzeba poświecić, aby zostać programistą… Cóż, to pytanie pojawia się bardzo często, ale nie ma na nie jednolitej odpowiedzi. To trochę tak jak z nauką języka angielskiego – wszystko zależy. Od predyspozycji osoby (czy szybko przyswaja nowe słowa, struktury), zaangażowania (czy regularnie ćwiczy, odnotowuje własne sukcesy) i ilości poświęconego czasu na naukę. Człowiek uczący się codziennie mniejszej porcji nauczy się szybciej i efektywniej od osoby, która wiedzę przyswaja w dużych porcjach w większych odstępach czasu.

Najlepiej, żeby programowanie zamienić w zabawę, a nie traktować jako obowiązek lub tylko sposób na zarobek. To branża, w której bardzo szybko można się wypalić. Jeśli naszą motywacją pozostają tylko pieniądze to niestety naszą karierę możemy zakończyć bardzo szybko. Wynika to ze specyfiki branży IT. Trendy i technologie zmieniają się tak szybko, że aby za nimi nadążyć trzeba regularnie odświeżać swoją wiedzę poznając nowe języki, narzędzia, rozwiązania.

 

Kolejny artykuł bez konkretów!

Jeśli ktoś potrzebuje zawsze przepisu na wszystko, to może miec problem, żeby zostać programistą. 🙂 W tym zawodzie kreatywność, kojarzenie faktów i umiejętność samodzielnego rozwiązywania problemów jest bardzo cenna. Niemniej jednak, jeśli potrzebujesz klarownej “instrukcji w X krokach – jak zostać programistą” moją wersję znajdziesz poniżej – powodzenia!

  1. Wybierz Javascript i Node.js na początek – to technologie o relatywnie niskiej barierze wejścia (w łatwy sposób można szybko osiągnąć rezultaty – to motywuje!). Obie technologie są bardzo przyszłościowe, mają silną społecznosć i mnóstwo gotowego kodu do zabawy.
  2. Znajdź kolegę, koleżankę, znajomego, osobę z internetu która też chce się nauczyć (to nie jest takie trudne!)
  3. Cel 1: stworzenie gry w kółko i krzyżyk przez internet (lub na dwóch kartach przeglądarki, jeśli chcesz pracować samemu)
  4. Do stworzenia gry potrzebujesz:
    1. Serwera w Node.js, który będzie obsługiwał grę
    2. Socket.io które pozwala na łatwą komunikację serwera z przeglądarką
    3. Prosty kod w HTML + Javascript do rysowania interfejsu
  5. Działaj!

Na początku wszystkie terminy mogą wydać Ci się obce, zacznij od zainstalowania lokalnie Node.js. Kolejno przejdź samouczek, pobierz i urchom parę przykładów. Spróbuj znaleźć najbardziej zbliżony do potrzebnego (np. prosty czat w node.js) i przerób go na grę w Kółko i krzyżyk. Opcjonalnie znajdź gotową grę i na jej podstawie napisz własną.

 

Możliwe cele na przyszłość, jeśli chcesz zostać programistą

  • Gra w statki
  • Gra w karty
  • Komunikator internetowy z opcją przesyłania zdjęć, tworzenia pokojów
  • Milion innych pomysłów!

 

Do dzieła!

Ocena artykułu

Udostępnij

Tomasz Banasiak-RST Software

Tomasz Banasiak

Software Developer

Programista zawodowy od 12 lat, programista pasjonat od zawsze. Bez przywiązania do technologii, bo one jak moda lubią się zmieniać - i tak jak w modzie dobrze jest znać nowe trendy, ale też świetnie odnajdywać się w klasyce. Fan dobrze zrobionej asynchroniczności, silnego typowania i systemów rozproszonych. Ponadto człowiek od zadań specjalnych - organizacji eventów, promocyjnych materiałów wideo i dzielenia się wiedzą. Po godzinach amator sportu, dronów i sztucznej inteligencji.

Newsletter

Newsletter

Dziękujemy, Twój email został wysłany.

Nasz serwis internetowy używa plików cookies do prawidłowego działania strony. Korzystanie z serwisu bez zmiany ustawień dla plików cookies oznacza, że będą one zapisywane w pamięci urządzenia. Ustawienia te można zmieniać w przeglądarce internetowej. Więcej informacji udostępniamy w Polityce plików cookies.