Programistów brak. Z tym faktem nie ma co dyskutować. Brak rąk do pracy oraz mnożąca się ilość szkół programowania zachęca coraz to więcej osób do spróbowania tej ścieżki kariery. Uważam, że to dobrze bo przecież programowanie to najfajniejsze co można robić. Jednak nie wszyscy tak sądzą. Coraz częściej spotykam się z opiniami, że to trudny i niewdzięczny zawód. Oczywiście kategorycznie się z tym nie zgadzam.
Geneza problemu
Postanowiłem zgłębić temat i dowiedzieć gdzie tak naprawdę jest pies pogrzebany. Po wielu godzinach rozmów chyba dotarłem do sedna problemu, a jest nim pieniądz. Nie zrozumcie mnie źle. Sam z przyjemnością obserwuję jak co miesiąc jak moja wypłata wpływa na konto i nie ma w tym nic złego. Problem w tym, że kasa jest często jedynym motywatorem początkujących programistów. Ludzie zmuszają samych siebie do nauki programowania by spełnić swoje oczekiwania finansowe. Nauka programowania to długi i żmudny proces. Najważniejsza jest tu wytrwałość. Jeśli uczysz się już dość długo i jeszcze nie zarobiłeś na zdobytej wiedzy ani złotówki, możesz czuć się sfrustrowany. Łatwo wtedy się poddać i zejść ze ścieżki prawdziwych samurajów.
To nie musi tak wyglądać
Tymczasem programowanie to zabawa, a nawet poszedł bym o krok dalej. Umiejętność programowania w Pythonie jest jak magia. Dzięki tej mocy możesz robić rzeczy, o których zwykłym śmiertelnikom się nie śniło. Aplikacja szacująca ilość osób korzystających z twojego Wi-Fi. Bardzo proszę. Zautomatyzowany system karmienia rybek nie ma problemu. Ogranicza się tylko wyobraźnia. Dodajmy, że aby zrealizować większość takich projektów wcale nie musisz być jakimiś Pythonowym wymiataczem. Jeśli wiesz co to zmienna i umiesz napisać funkcje bierz się do roboty. Nie ma na co czekać. Wymówki w stylu „Jeszcze za mało umiem by napisać coś swojego” tylko Cię ograniczają. Jak czegoś nie będziesz wiedzieć to wtedy sobie doczytasz. Trzeba zakasać rękawy i rozpocząć własny mini projekcik.
Oto moje 4 propozycje
1. XIAOMI YEELIGHT – czyli zwykła żarówka
No właśnie nie taka zwykła. Zwykłe w niej jest to, że wkręcisz ją w normalne wejście po starej żarówce i nawet będzie świecić :). Na tą chwilę nic imponującego, ale spokojnie zabawa dopiero się zaczyna. Producent uzbroił nasza niepozorną, żarówkę w moduł Wi-Fi oraz aplikację na Androida umożliwiającą sterownia światłem. Brzmi fajnie, ale to jest funkcjonalność dla zwykłych użytkowników. Jako, że jesteś Pythonowym druidem na 5 levelu, stoi przed tobą cała masa nowych możliwości. Z internetu możesz pobrać Pythonową bibliotekę do sterownia twoją zabawką. Można napisać aplikację zapalającą żarówkę o danych godzinach. Uzależnić to od wschodów i zachodów słońca lub też jakiejkolwiek innej akcji. Dajmy na to, że żarówka mogłaby reagować na pojawienie się telefonu w zasięgu domowej Wi-Fi. Nieskończone morze możliwości. Jedyne co musisz umieć to podstawowa wiedza z programowania w Pythonie. Koszt takiej żarówki to około 90 PLN.
Czego się nauczysz
- Programowania w języku Python
- Zdobędziesz wiedze z zakresu sieci
- Nabędziesz umiejętność czytania dokumentacji technicznej
- Posiądziesz wiedze z Gita bo to właśnie z gitowego repozytorium należy pobrać potrzebną bibliotekę
2. Robot zagłady – czyli LEGO MINDSTORMS
Kto z nas nie marzył o własnym robocie. Teraz to marzenie może się spełnić. Co prawda z naszych klocków nie zbudujemy pełnowymiarowego R2D2 czy też Terminatora, ale to może nawet lepiej. W końcu nie przypominam sobie by Terminator wychodził z gotową biblioteką do Pythona. T1000 raczej nie miał, a kolejne modele były tylko gorsze. Wróćmy jednak na ziemię. Ceny zestawów LEGO MINDSTORMS nie są niskie. Wahają się pomiędzy 1000 a 2000 PLN. Alternatywą jest niedawno wprowadzony zestaw LEGO BOOST. Co prawda przeznaczony jest dla młodszych odbiorców jednak po uzbrojeniu w Pythona da też sporo radości początkującym programistom. Idealne rozwiązanie dla rodzin z dziećmi. Za dnia dzieci bawią się robotem używającąc dedykowanej aplikacji na tablety. Natomiast po zmroku odpalamy Pythona i zaczynamy szaleństwo. Zestaw ten jest też sporo tańszy można go kupić już za około 550 PLN.
Czego się nauczysz
- Podstaw robotyki
- Podstaw elektroniki
- Pythona
- Gita
3. Dron Ryze Tello
Tak to cudeńko także można oprogramować przy użyciu Pythona. Dron ten jest tak w zasadzie latającym hotspotem Wi-Fi. Można się z nim połączyć przy pomocy dedykowanej aplikacji, która poza sterowaniem udostępnia również podgląd obrazu na żywo. Jednak my do tego celu użyjemy biblioteki w Pythonie. Z uwagi na to, że producent zamontował na pokładzie kamerę o całkiem niezłej rozdzielczości można pobawić się w rozpoznawanie obrazu. W internecie znajdziesz multum projektów dotyczących tego drona. Od tych najprostszych zmuszających to maleństwo do krążenia po zadanym kwadracie, poprzez rozpoznawanie twarzy właściciela, kończąc na sztucznej inteligencji. Widziałem także bardzo ciekawy pomysł polegający na sterowaniu całą armią tych maszyn. Bez problemu znajdziesz coś dla siebie. Dodatkowym atutem tej zabawki jest cena 400 PLN, która w kontekście funkcjonalności jaką oferuje nie jest złym wynikiem. Sam osobiście posiadam taka zabawkę i jestem z niej mega zadowolony.
Czego się nauczysz
- Pythona
- Troszkę matmy, jeśli trzeba będzie liczyć trasy dla naszego drona
- Architektury klient – serwer
- Trochę zagadnień sieciowych
4. Raspberry Pi
Ten sprzęt jest tak popularny, że w zasadzie nie trzeba go przedstawiać. Wyszły już 4 edycje tego małego komputerka nie licząc pomniejszonej wersji zero. Mając wymiary zbliżone do karty kredytowej oferuje niesowitą funkcjonalność. Osobiście zachęcam do zakupu wersji od 3 w górę. Wcześniejsze modele nie maja modułów Wi-Fi i Bluetooth, co znacznie ogranicza ich funkcjonalność. Dodatkowo mały apetyt na prąd robi z Raspa świetny materiał na domowy serwer. Sam mam w domu trzy takie komputerki. Co do projektów to tu już można zrobić wszytko. Co powiesz na inteligenty dom ? A może zautomatyzujemy skrzynkę na listy? A co powiesz na nasze własne smart TV ? Dodatkowo nasz Rasp może zarządzać innymi komponentami, czy też hostować jakieś strony. Koszt tego pełnoprawnego komputera to około 180 PLN.
Czego się nauczysz
- Obsługi Linuxa
- Trochę elektroniki, jeśli zajmiemy się inteligentnym domem
- Pythona
- Zagadnień sieciowych
Podsumowanie
Wszystkie przedstawione tu produkty mają dwie wspólne cechy:
- Można programować je przy użyciu Pythona
- Są czymś fizycznym i namacalnym
Zobaczenie na własne oczy jak nasz kod żyje i robi to co od niego oczekujemy zmotywuje Cię do dalszej pracy. To już nie będą suche przykłady wyświetlające coś na ekranie tylko działający program robiący coś ciekawego. Możesz pokazać to swoim znajomym, wrzucić krótki filmik na media społecznościowe. Podzielenie się swoimi planami z przyjaciółmi jest świetnym sposobem na zwiększenia szans na powodzenie naszego projektu. Przy okazji może poznasz ciekawych ludzi, którzy na bank chętnie Ci pomogą jeśli będzie taka potrzeba. Trzeba być otwartym na konstruktywną krytykę. Dodatkowo gwarantuję Ci, że wiedza zdobyta podczas pisania własnej, prostej aplikacji będzie bardziej wartościowa niż ta zawarta w książce. Programowanie polega na rozwiązywaniu dużej ilości problemów. To, że coś nie działa jest stanem raczej częstym i nie ma się tym co martwić. W tym projekcie sam sobie jesteś szefem i tylko sam siebie możesz zawieść. Jeszcze raz zachęcam do rozpoczęcia własnego projektu najszybciej jak tylko się da. Napisz sobie coś co będzie dla ciebie interesujące.
A na koniec krótkie wideo 🙂