W tym wpisie chciałbym streścić moją historię jak zaczęła się droga z programowaniem.
Początki przed programowaniem
Komputer w domu może miałem już chyba w wakacje 2007 roku. W tym okresie nie ciągnęło mnie mocno do komputera ani do gier. Byłem wtedy małym gówniarzem który spędzał całymi dniami poza domem. W domu nie było od razu internetu, był on założony jakoś rok później. W tym czasie grałem od czasu do czasu w jakieś gry dla dzieci, Simsy 2 oraz gry windowsowe. W tym czasie spędzałem może maks godzinę dziennie siedząc przy komputerze. Gdzie obecnie korzystam z niego około 6-10h dziennie, plus doliczyć do tego można czas spędzony korzystając z telefonu. Gdy miałem już założony Internet, grałem w jakieś gry flashowe online oraz w Fifę. W tym okresie nie ciągnęło mnie zbyt mocno do programowania, nawet nie wiedziałem z czym to się je. W tamtym okresie marzyło mi się stworzenie jakiejś własnej gry. Lecz na marzeniach wtedy się to skończyło.
W 2012/2013 chciałem prowadzić własnego bloga, wtedy natknąłem się na jakiś system do prowadzenia blogów podobny do tego którego obecnie używam czyli wordpress.com. Ostatnio natknąłem się na niego przypadkowo, spojrzałem na datę utworzenia, widniała data 2012r. Treści praktycznie bez wiedzy merytorycznej. Nie było tam praktycznie żadnych wpisów, znudziło mi się to bardzo szybko, bo nikt nie odwiedzał mojego blogaska, więc to porzuciłem.
Pierwsze początki w HTMLu
Na lekcji informatyki w gimnazjum uczyliśmy się podstaw programowania języka HTML. Były to proste strony gdzie był obrazek, jakiś link, trochę tekstu i koniec. Wtedy dostałem z niego piątkę. Na ocenę celującą trzeba było zrobić stronę w jakimś CMSie, lecz nie potrafiłem tego obsłużyć. Moja strona zawierała skopiowane opisy różnych opisów gier. Wtedy uczyłem się programowania w HTML i CSS z panem Mirosławem Zelentem. Według mnie nikt nie tworzy tak lepszych kursów pod względem merytorycznym co pan Mirosław.
Wtedy chciałem rozwijać się dalej pod względem programowania. Umiałem napisać własną stronę w HTML i CSS. Chciałem nauczyć się jakiegoś PHP lub JS, lecz poziom był dla mnie zbyt trudny i nie dałem rady z podstawami PHPa, gdzie obecnie tworzę większość projektów w tym języku. Próby były także ogarnięcia podstaw C++, lecz wtedy wolałem spędzać czas na graniu w Counter Strike’a. Czy żałuję tej decyzji że wolałem spędzać czas na graniu w gry zamiast programowaniu. Nie, pod tym względem na wszystko przyjdzie pora i czas. Być może gdybym wcześniej zaczął drogę z programowaniem, duże prawdopodobieństwo byłoby że nie wrócę do kodowania.
Wakacyjna nauka programowania
Skończyłem gimnazjum i stwierdziłem, że wakacje to dobra pora do nauki programowania. Siedząc w domu, to przynajmniej wykorzystałem czas pożytecznie. Zacząłem naukę od podstaw C++, nie był to kurs pana Zelenta. Gdy ogarnąłem podstawy C++, to wiedziałem że nie chcę dalej iść tą drogą, tworzenie aplikacji konsolowych lub okienkowych na komputer, to nie tędy droga Większą przyszłość widziałem w programowaniu webowym. Próbowałem na początku ogarnąć jakieś podstawy programowania w PHP, potem zacząłem uczyć się z kursów pana Zelenta z kanału Pasja Informatyki. Równocześnie uczyłem się podstaw MySQLa, która nauka szła mi bardzo szybko. Stworzyłem wtedy swój pierwszy projekt. Była to strona gdzie użytkownik zostawiał maila. Był panel administratora, jeszcze wtedy nie umiałem napisać skryptu do logowania, a co dopiero rejestracji i walidacji użytkownika. Logowanie działało na zasadzie, podajesz login hasło, następnie w pliku php były zapisane w zmiennych login i hasło, gdzie następnie było sprawdzane czy są takie same. W tym panelu była możliwość wysłania mailingu do wszystkich osób które zostawiły maila.
Zrobiłem jeszcze kilka mniejszych projektów stron internetowych. Wrzuciłem post na forum pasja informatyki aby ktoś ocenił mój projekt. Pierwsze co się każdy przyczepiał to fakt że strona nie była responsywna. To był dobry okres aby nauczyć się czegoś nowego. Zacząłem naukę frameworka Boostrap, którego komponenty nauczyły mnie tworzyć całkiem przyzwoicie wyglądające strony. Samego bootstrapa używam praktycznie do każdego projektu. Jego możliwości znacznie usprawniają pracę.
Daj się poznać
Na przełomie lutego i marca zacząłem oglądać kanał devstyle na youtube. Macieja są tak interesujące że nadal oglądam każdy odcinek. W tym okresie startowała edycja konkursu Daj się poznać 2017. Projekt miał za zadanie stworzyć kopię facebooka. W tym czasie także prowadziłem bloga programistycznego, lecz porzuciłem jego pisanie. O tym blogu będzie kiedyś indziej. W mniejszym większym stopniu projekt udało mi się skończyć. Projekt nazywał się Social Site. Była możliwość tworzenia własnych stron, grup, dodawania użytkowników do znajomych, polubienia i komentowanie postów itd. To był okres w którym pierwszy raz podzieliłem się otwarcie swoim kodem. Wrzucając swój kod do internetu mocno naraziłem się na krytykę innych lepszych programistów, to dobrze. Mogłem wtedy usprawnić mój kod, aby działał jeszcze lepiej i był bardziej ustrukturyzowany do najnowszych standardów programowania. Nie dałem się także zwieść perfekcyjnego pisania kodu. Bo nigdy nie jesteśmy w stanie napisać optymalnego kodu, zawsze znajdzie się kawałek, który można usprawnić. Wraz z końcem konkursu, projekt upadł.
Początki tworzenia aplikacji mobilnych
W wakacje 2017 roku zacząłem eksperymentować z aplikacjami mobilnymi. Postawiłem na rozwiązanie hybrydowe, każde rozwiązanie ma swoje plusy i minusy. Dla mnie najważniejsze było to że mogę tworzyć aplikacje mobilne oparte w językach HTML, CSS, JS. Wiedziałem że nie będę musiał uczyć się Javy aby tworzyć aplikacje mobilne. Stworzyłem wtedy grę typu clicker. Gra polegała na zarabianiu pieniędzy poprzez klikanie, z zarobionych pieniędzy mogliśmy usprawniać nasze “klikanie”, aby jeszcze więcej zarabiać lub kupować różne rzeczy które generowały nam pieniądze. Gra nie ujrzała światła dziennego na Google Play, może i dobrze. w niej nie było nic oprócz działających przycisków i wyświetlanej treści, nie miałem przygotowanych żadnych grafik. Projekt runął wtedy gdy chciałem jakoś go zmonetyzować. Jedną z funkcji jeszcze w fazie prototypu chciałem przetestować jak działają reklamy w Admob. Wtedy zaczęły się mocne schody pod górkę. Do tej pory nie umiem tego problemu rozwiązać jak dodać reklamy admob do aplikacji hybrydowej. Robiłem wszystko wg. tutorialu, lecz reklamy na aplikacji się nie pokazywały. Nawet nie chcę wiedzieć ile czasu straciłem na szukanie rozwiązań oraz osób które są w stanie mi pomóc. Ich pomoc kończyła się na wklejeniu innego poradnika.
Takie były moje początki z programowaniem. Na naukę poświęciłem w wakacje może 3-4 godziny na naukę nowych rzeczy, po wakacjach spędzałem 2-3 godziny dziennie. Przez ponad pół roku czasu moja nauka programowania mocno zaprocentowała i daje mi to doskonałe efekty. Obecnie więcej czasu spędzam pod względem programowania na samym kodowaniu, niż na poznawania nowych możliwości programowania. Nie można się tylko ograniczać do poznawania nowych języków, bibliotek, frameworków nie używając ich w praktyce. Pisząc ten wpis mam 18 lat i 3 lata związane z programowaniem. Była to jedna z lepszych dróg jaką poszedłem w życiu, czyli nauczyć się programować.
Ładna historia miło się to czyta :D Rzadko się widzi ludzików którzy tak wcześnie zaczynają naukę, w wieku 16 lat większość ludzi marnuje na granie.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Dzięki za miłe słowa, większość osób mówi mi że piszę beznadziejnie.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Nie ma co się słuchać opinii innych, ludzie to kutasy :D
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Miło spędziłem czas czytając twój post! Chciałem się jeszcze dowiedzieć jakie są twoje dalsze plany? Pozdrawiam!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Mam dużo planów na przyszłość. W niedługim czasie chciałbym odpalić jakąś zarabiającą na siebie stronę. Dużo się uczę, poznaje różne rynki, branże, aby znaleźć dla siebie odpowiednią niszę.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Szanuję za chęci, fajny tekst. Jedyne do czego można się przyczepić to składnia, jakbyś następnym razem przeczytał swój tekst parę razy przed opublikowaniem myślę, że spokojnie wyłapałbyś "babole" kryjące się w nim. Upvote na zachętę :)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit