Programowanie jest aktualnie jednym z najciekawszych i najbardziej satysfakcjonujących zainteresowań, które dodatkowo ma ogromną wartość na rynku pracy. Uwierz mi, nie ma nic bardziej satysfakcjonującego niż przyglądanie się stworzonemu od zera własnemu rozwiązaniu i świadomości, że wiemy, jak działa każdy jego fragment. Jego nauka jest jednak wymagającym procesem ze względu na złożoność wielu zagadnień. A jak ALO może Ci w tym pomóc?
Chociaż w podstawówce miałem pewną styczność z pisaniem programów w C#, poważniej podstaw Pythona nauczyłem się w pierwszej klasie Gimnazjum Akademickiego Politechniki Wrocławskiej. W liceum te zajęcia, niestety, nie są już prowadzone. Myślę jednak, że dla osób, które są w stanie samodzielnie zmotywować się do nauki, nie będzie to dużym problemem – dzięki rozwojowi internetu i stron dedykowanych programistom większym problemem jest wybór, z których materiałów korzystać niż samo ich znalezienie.
Jeśli chodzi o moje rekomendacje, warto skorzystać z bezpłatnego kursu CodeAcademy lub książki „Learn Python The Hard Way”, o ile oczywiście zdecydujemy się na ten język programowania. Ale co do tego raczej nie ma wątpliwości – o ile aplikacje na urządzenia mobilne nie są Waszym głównym punktem zainteresowania, Python sprawdzi się bezbłędnie (również do tworzenia stron internetowych).
Okej, ale co zrobić po skończeniu przyswajania podstaw? W tym momencie zaczynają się schody, bo tak naprawdę nie ma jedynej właściwej drogi. Jeśli jednak mógłbym coś zasugerować, to jest to zdobywanie doświadczenia. Znajomość na pamięć całej dokumentacji Django REST API nic Ci nie da do momentu, w którym będziesz w stanie ten interfejs zaimplementować w aplikacji z rzeczywistego życia.
Dlatego najoptymalniejsze rozwiązanie moim zdaniem jest jedno - tworzenie jak największej liczby każdego rodzaju projektów tak, aby kumulować swoje doświadczenie. Po drodze na pewno napotkasz wiele barier. Umiesz wyświetlać tekst tylko w domyślnym kolorze, a chciałbyś, żeby „GAME OVER” wyświetlało się na czerwono? Wykonujesz kod po kolei, ale koniecznie pewne polecenie musisz wykonać asynchronicznie? Podobne problemy w swojej codziennej pracy napotykają dziesiątki programistów, ale ich rozwiązanie jest proste – wystarczy tylko poszerzyć swoją wiedzę za pomocą zasobów internetu.
Tworzenie własnych projektów z pewnością jest sposobem znacznie ciekawszym niż monotonne przeklepywanie kodu z książek. Często jednak adepci zapominają o doskonaleniu równie ważnej umiejętności programisty – skutecznej pracy w grupie. I tu na Twojej ścieżce pojawia się nasze Akademickie LO. Chociaż dysponujemy ogromnym zapleczem technicznym Politechniki Wrocławskiej, największą przewagą są inni uczniowie. Bardzo prawdopodobne, że wybrali oni tę szkołę z tego samego powodu co Ty – mają podobne zainteresowania i nie jest to polski, historia i społeczeństwo. Dlatego łatwo realizować tu własne, rozwijające projekty.
Piętnastego października 2019, godz. 8.15. Ja, Szymon i Mikołaj wchodzimy do boksu na drugim piętrze i otwieramy laptopy. Wszystko dzięki uzyskanemu przez nas dzień wcześniej urlopowi naukowemu.
Gdyby nie urlopy, liczba sukcesów uczniów ALO zmniejszyłaby się znacznie, bo takie urlopy pozwalają w całości skupić się na realizacji swojego celu, a nie zajmowaniu się innymi sprawami (które oczywiście później z poświęceniem nadrabiamy).
Przygotowywaliśmy projekt na ogólnopolski konkurs Hack Heroes. Chociaż pojawiają się pewne zastrzeżenia co do obiektywności jurorów, ma on bardzo ciekawą formułę – zespoły przygotowują własne projekty programistyczne związane z corocznym hasłem zmiennym. W tym roku były to problemy globalne. Mało tego, mają na to zaledwie 20 dni.
Ten jeden projekt – strona internetowej do śledzenia zmian swojej wagi wraz z dedykowaną aplikacją na Androida, współpracującą z inteligentną wagą Xiaomi – nauczył nas naprawdę wielu nowych rzeczy, które pozwolą usprawnić tworzenie naszych kolejnych projektów. Nauczyliśmy się korzystania m. in. z takich rozwiązań jak Django, REST API, Celery czy matplotlib, które wykorzystywane są w licznych międzynarodowych przedsiębiorstwach. Dodatkowo był po prostu ogromną przyjemnością i zabawą.
Gotowy projekt dostępny jest online, a kod źródłowy znajduje się na Githubie, więc skutecznie zostanie jednym z elementów naszego CV.
Przede wszystkim jednak rozwinęliśmy się, jeśli chodzi o pracę w grupie. Usprawniliśmy nasz podział obowiązków na poszczególną funkcjonalność portalu (np. Mikołaj zajmował się aplikacją, stworzoną w języku Kotlin). Praca pod wpływem dużego stresu i bardzo krótki termin to dla nas nie problem. Korzystaliśmy np. z Todoist oraz Slacka, aby sprawnie zarządzać obowiązkami. Projekty takie jak justweight.me w ALO powstają na co dzień – jest to np. przygotowana przez Łukasza Świszcza nowa strona szkoły, lub nieistniejący już darmowy klient Librusa na Androida.
Tekst został opublikowany w wydaniu specjalnym Politechnika Juniora na Dzień Otwarty ALO.