Daj się poznać – podsumowanie

Blog konkursowy (łącznie 24 wpisy w kategorii “Daj się poznać!”)

summary
W ciągu ostatnich 3 miesięcy udało mi się napisać 24 posty konkursowe. Posty przygotowywałem w dwóch językach – polskim oraz angielskim. Wpisy w języku angielskim dotyczyły postępu w pracy nad projektem, natomiast te w języku polskim moich przemyśleń i doświadczeń związanych z samodzielną nauką programowania. Wpisy w języku polskim pojawiały się w niedzielę, a wpisy w języku angielskim – w środy.
activityDo promowania wpisów konkursowych starałem się wykorzystać portal wykop.pl. Podczas trwania konkursu, Java Dev Matt na swoim blogu (http://www.javadevmatt.pl/) opublikował post o osobach zmieniających branżę, gdzie również postanowiłem zgłosić krótką notatkę i zaprosić czytelników do odwiedzenia mojego bloga.

refereers

W marcu oraz w kwietniu wszystkie wpisy konkursowe udostępniałem na portalu wykop.pl. W maju postanowiłem ograniczyć promowanie bloga, aby móc ocenić jak promocja w poprzednich miesiącach wpłynie na odwiedziny strony.

views months

views weekly

Miesiącem w którym blog uzyskał najwięcej odwiedzin był kwiecień. Myślę, że udało się to osiągnąć dzięki materiałowi Java Dev Matta o zmianie branży. W tygodniu, w którym ukazał się ten wpis, liczba odsłon bloga wyraźnie zwiększyła się i zdecydowanie wyróżnia się na tle całego okresu konkursowego.

most popular day
Ze względu na promowanie niedzielnych wpisów w języku polskim, blog najczęściej odwiedzany był w poniedziałki. W pozostałe dni ruch był dużo niższy, ale nie wygasał całkowicie.

visitorsapril

Statystyczny czytelnik mojego bloga odwiedził stronę około 3 krotnie! Jest to dla mnie bardzo duże wyróżnienie, ponieważ oznacza to, że użytkownicy po przeczytaniu jednego posta wracali przeczytać kolejne posty w innym terminie.

Projekt konkursowy

Jako temat projektu konkursowego wybrałem napisanie aplikacji wspomagającej oglądanie streamów z meczów piłkarskich na platformę android. Projekt składał się z dwóch części – strony internetowej (web serivce) i aplikacji mobilnej.

landingpage.png

Do wykonania obu części projektu zdecydowałem się wybrać technologie skoncentrowane wokół języka Java. Strona internetowa została zrealizowana z wykorzystaniem frameworków Spring i Hibernate. Za część wizualną odpowiada HTML, CSS oraz Bootstrap. W celu przechowywania informacji o użytkownikach oraz ich ustawień wybrałem bazę danych PostgreSQL. Do budowy restowego Web Service-u wykorzystałem framwork Jersey. Narzędziem do budowania projektu był maven.

dashboard1

Oprócz Javy, do restowej komunikacji z zewnętrzną bazą statystyk piłkarskich, wykorzystałem język Groovy. Wykorzystane w projekcie API piłkarskie posiada informację o aktualnych wynikach spotkań, statystykach zespołów oraz tabelach ligowych.

dashboard2

Aplikacja mobilna została zbudowana w całości przy użyciu Android Studio. Narzędziem do budowania projektu był Gradle. Aplikacja mobilna obecnie pozwala na oglądanie streamów, sprawdzanie dzisiejszego harmonogramu rozgrywek, oraz przeglądanie historii aktywności użytkownika.

pv.png

Postęp prac projektowych oceniam na 80% w przypadku webservice-u oraz 60% dla aplikacji mobilnej. Głównym brakiem aplikacji mobilnej jest połączenie “na sztywno” i brak autoryzacji (w planach wykorzystanie tokenów OAuth). Pozostało jeszcze trochę pracy do końca projektu, ale ze względu na zakończenie konkursu postanowiłem podzielić się obecnym stanem zaawansowania.

stream

Jeśli jesteś zainteresowany obejrzeniem części webowej w akcji, jest on dostępny pod adresem http://streamplayer.herokuapp.com/
Uwaga: zalecam nie podawać prawdziwego hasła oraz adresu e-mail podczas rejestracji. Jeżeli strona nie ładuje się proszę spróbować ją odświeżyć – strona wykorzystuje darmową chmurę heroku i jeśli przez 30 minut nie było żadnego zapytania, strona przechodzi w stan uśpienia.

Podsumowanie

Chciałbym bardzo podziękować wszystkim, którzy odwiedzili mojego konkursowego bloga. Bardzo dziękuję wszystkim użytkownikom portalu wykop.pl, zarówno za krytykę, jak i za miłe słowa. Było to dla mnie coś na prawdę dużego, bo dzięki temu mogłem pracować nad jakością publikowanych materiałów, chociaż z pewnością nie zawsze mi się to udawało. Podczas trwania konkursu dostałem od was bardzo dużo wiadomości prywatnych z prośbą o porady i wskazówki, albo tak po prostu, żeby pogadać. Bardzo wam wszystkim dziękuję za dużą aktywność, bo to z pewnością dzięki temu w dużej mierze udało mi się jakoś przez te 3 miesiące regularnie blogować, bo miałem dla kogo!

Projekt, mimo iż nie udało mi się go jeszcze dokończyć, uznaję za udany. Na początku marca nie znałem żadnej wykorzystanej w projekcie technologii. Podczas trwania projektu nauczyłem się bardzo bardzo dużo i dzięki konkursowi wiem jak dużo pracy jeszcze przede mną. To była dla mnie wspaniała lekcja i polecam każdemu uczestnictwo w podobnych przedsięwzięciach. Mam nadzieję, że chociaż trochę dałem wam się poznać 🙂

Na koniec podrzucam krótki filmik promujący projekt

Advertisements

Jak to jest z tym rynkiem pracy?

Dwa miesiące i będziesz pracował. Na rynku pracy jest takie ssanie, że wystarczy ze masz 2 ręce, 2 nogi, trochę chęci i juz możesz być devem!

Przeczytałeś już te książki? To wiesz co, fajnie jakbyś nauczył się jeszcze trochę tego frameworku, trochę tego, tego i tamtego, no i jakieś algorytmy żeby przejść rozmowę i myślę, że bedzie ok. A i najlepiej zrób jeszcze jakiś projekt.
Hej ale czy przed chwilą nie mówiłeś mi, że jest jakieś super ssanie i nic nie trzeba wiedzieć?
Cykl życia inwestycji
Jako pierwsi potencjał inwestycyjny dostrzegają wielcy gracze, obeznani na rynku. To oni jako pierwsi inwestują w biznes. Następnie o potencjalnych zarobkach dowiadują się banki. Wiadomość o żyle złota rozprzestrzenia się. Do gry wkraczają fundusze inwestycyjne, drobni klienci indywidualni. O stopie zwrotu piszą już w gazetach, mówią w wieczornych wiadomościach. I wtedy właśnie Mirek i Halinka oglądają telewizję
–  “Super inwestycja, nieziemska stopa zwrotu!”
– Te, Halynka, yle to my mamy tych oszczemnosci?
– No trochę mamy
– To chodź zainwestujem, jak w telewizji mówio
I tak Mirek i Halinka wchodzą do biznesu. Przez kilka miesięcy inwestycja notuje jeszcze zyski, Mirek właśnie kupił sobie nowy garnitur, jest królem biznesu wśród znajomych. Jego kolega Janusz widzi w nim prawdziwy inewstorski talent! Wieczorem umówili się nawet na spotkanie, żeby porozmawiać o wielkim świecie! W tym momencie wycofują się pierwsi inwestorzy, najwięksi wygrani, rekiny biznesu. Następnie wycofują się banki, odnotowują nieco mniejsze zyski, ale to wciąż bardzo duże dochody. I tak krok po kroku, z inwestycji wychodzą kolejni gracze odnotowując coraz mniejsze zyski, aż dochodzimy do Halinki i Mirka, którzy wchodząc do interesu zbyt późno tracą większość swoich oszczędności, choć liczą na to, że jeszcze się odbiją.
Kurs programowania jak inwestycja Halinki i Mirka?
Czy pracodawcy rzeczywiście tak bardzo cenią osoby po kursach programowania i garściami biorą ich do pracy? Nie wiem, nie bylem na takim kursie, ale moim zdaniem z szukaniem pracy po kursie może być różnie. Chciałbym żebyś wiedział, że w pracy jako developer prawdopodobnie trafisz na rzeczy których nie da się nauczyć w domu. W wielu firmach stosuje się wewnętrzne frameworki i procedury, wykorzystuje wewnętrzne narzędzia. Wiedzy o takich frameworkach i narzędziach nie nauczysz się na żadnym kursie programowania.
Po trudnych studiach jest łatwiej?
Dlatego właśnie moim zdaniem warto uczyć się samodzielnie. Bo na koniec dnia oprócz wiedzy technicznej oraz tej najpotrzebniejszej rzeczy o nazwie “umiejętność rozwiązywania problemów” nauczysz sie czegoś sto tysięcy razy cenniejszego. Nauczysz się jak się uczyć. To na tym polega ta niewielka przewaga osób które przeszły trudne studia – oni umieją się uczyć.
Jak to jest z tym rynkiem pracy?
Dla osób bez wykształcenia kierunkowego, pokrewnego czy innego dopasowywalnego do pracy polegającej na rozwiązywaniu problemów, moim zdaniem droga samouka czy kursanta do zostania devem nie musi być wcale  łatwa. Jeśli dowiadujesz się o tym dopiero teraz, możesz być pewien, że jesteś jedną z wielu osób które usłyszały o technicznym eldorado i chciałyby zostać programistą 15k. Czy powinieneś z tego powodu zrezygnować? Absolutnie nie. Chciałbym, żebyś z tego powodu dał z siebie 10% więcej. Przeczytaj jeden artykuł wiecej. Obejrzyj jeszcze jeden material. Zrób ten jeden projekt więcej! Dostaw nogę, wyróżnij się! Nagroda jest tego warta.

So far so good

Hi!

Short update. I made big progress on web service. Code looks really bad for now and it surely needs refactoring. There are still few things left to be implemented (remove and edit stream on the list, edit user details, password reminder, few rest methods for android ui). I would like to have all web-things finished by 20.05.

You can log in and see the web service here:

http://streamplayer.herokuapp.com/

screen_streamplayer.png

It is up and running!

Hello 🙂
As I have promised in my previous entry, I have some big updates today 🙂

First of all, I have managed to run web project in the cloud!  If you want to take a look at the progress, you can find it below 🙂 It is still under development at this moment and not everything works as it is supposed to do when the project is finished, but I’m working on it everyday in order to bring some improvements.

http://streamplayer.herokuapp.com/

WARNING: I am using free heroku account, so if you are having troubles connecting to the website please be patient and refresh page after few minutes! It goes to “sleep mode” if there are no request in period of 30 minutes, so if you are first guest after 30 minutes of inactivity you will proably need to wait few seconds for the website to start.

Feel free to leave feedback in the comments if you have any suggestions how to improve the web service 🙂

Second of all, the android development is going really really well. I have managed to run the test stream on my device! At this moment I’m having troubles with battery consumption by my application, but I think I will leave the rest of android development for the last days of competition and I will focus now on finishing web app. You can find screenshot of main menu layout below:

menu.png

Słowo na do widzenia!

Jeżeli już uda Ci się zmienić pracę i znajdziesz nową, wymarzoną, to chciałbym żebyś pamiętał, że szczęście nie jest dane raz na zawsze. Należy o nie dbać i pielęgnować je każdego dnia.

Czysta karta

To czym się zajmowałeś w poprzedniej pracy nie ma już znaczenia. Czeka na Ciebie czysta karta. Nieważne jak wielkie sukcesy odnosiłeś w poprzedniej pracy, jak szło Ci na uczelni, jak wielkich obowiązków nie miałeś, to już nie ma znaczenia, zapomnij o tym, oto nowy początek.

Ludzie chodzący do kasyna albo obstawiający wyniki wydarzeń sportowych często wpadają w mentalność “odrabiania strat”. Gdybym tylko mógł wrócić do początku! Ja już nawet nie chcę nic wygrać, ja chcę tylko odzyskać to co przegrałem! Nie ważne czy byłeś kierownikiem zmiany czy innym mega wymiataczem, a może napotykałeś na wiele przeciwności. Teraz zaczynasz od zera. Każda gra to zaczynanie od nowa, nie ma odrabiania strat. To kim byłeś w poprzedniej pracy jest już za Tobą, tutaj zaczynasz od zera.

Słowo na do widzenia!

Grałeś kiedyś w totolotka? Czy znasz to uczucie kiedy tego jednego dnia, do momentu losowania, jesteś milionerem? Kiedy myślisz o tym co mógłbyś zrobić gdybyś tylko wygrał główną nagrodę?

A jak to fajnie musi być programistą, mieć wspaniałą pracę, jeździć na konferencje i występować przed wielką publicznością! Fajnie jest czytać o tych wszystkich szczęśliwych, młodych i bogatych ludziach, którzy realizują się w pracy!

…a później jak co poniedziałek czas wstać do pracy, wrócić do rzeczywistości. Bo na koniec dnia to tylko czytanie o uczeniu się, czytanie o podejmowaniu ryzyka, czytanie o odwadze i czytaniu o tej drugiej stronie. Ten jeden raz zrób coś dla siebie. Po prostu to zrób. Nie myśl o nauce, po prostu się ucz. Nie myśl o pisaniu kodu, po prostu to rób. Nie myśl o zmianie pracy.

Po prostu to zrób!

Login successful!

Hello!

I finally made it :)! I made a connection between android application and my web app 😀 I am so proud!

We have 4 weeks left and I will do my best in order to provide as good solution as possible! You can find the way my android app works on the gif down below :):

ezgif.com-crop.gif

I was following this tutorial: http://www.androidhive.info/2012/08/android-session-management-using-shared-preferences/

Next week I am hoping to bring some huuuuge update on my progress on the project. Stay tuned 🙂