Portfolio Początkującego Programisty – 3 Najlepsze Projekty

W tym artykule opowiem Ci na co zwraca uwagę rekruter w Twoim portfolio. Dam Ci także przykłady projektów, dzięki którym wyprzedzisz konkurencję. 

Rynek IT zmienia się z roku na rok. Zarówno szkoły programowania jak i studia informatyczne (mimo swej użyteczności) nie gwarantują już pracy w zawodzie. Co więcej, na jedno stanowisko (Junior Developer), aplikuje od kilkudziesięciu do kilkuset osób. By wejść do tej branży musisz wyróżnić się spośród tłumu kandydatów.

W tym artykule przeprowadzę Cię przez proces tworzenia portfolio, które wyróżni Cię nie tylko na etapie weryfikacji CV, ale podczas całego procesu rekrutacyjnego.
Dam Ci przykłady aplikacji, po wykonaniu których, realnie zwiększysz swoje szanse, na zdobycie wymarzonej pracy.

Weryfikacja CV – Na Co Zwraca Uwagę Rekruter ?

Etap weryfikacji CV jest dla Ciebie kluczowy. To właśnie na tym etapie będą warzyć się losy Twojej przyszłej kariery. Rekruter będzie szukał w nadesłanym dokumencie, informacji o Twoich umiejętnościach i doświadczeniu.

By przejść przez ten proces obronną ręką, kluczowe jest, by Twoje umiejętności przedstawione w CV były:

  1. Zgodne ze stosem technologicznym stanowiska na jakie aplikujesz.
  2. Poparte realnymi projektami jakie zrobiłeś. Tym zajmiemy się w dalszej części artykułu.

Więcej informacji o tworzeniu efektywnego CV znajdziesz w artykule:
https://www.itsphere.dev/cv

Tworzenie portfolio

W branży IT, każda ze specjalizacji (Mobile, Backend, Frontend, itd.) posiada często wykonywaną funkcjonalność projektową. W swoim portfolio skup się właśnie na niej. Dla obszaru Mobile, jest to praca z webserwisami oraz bazami danych.

W dalszej części artykułu, na przykładzie Androida, przedstawię Ci pomysły na trzy aplikacje wraz z sugerowanym stosem technologicznym.
Na końcu artykułu, znajdziesz linki do materiałów edukacyjnych, które pomogą Ci „wgryźć” się w nieznane Ci dotąd, biblioteki, frameworki, itp.
Oczywiście nie musisz użyć ich wszystkich. Jest to jedynie kierunek w jakim warto byś się rozwijał.

Pamiętaj by każdy projekt jaki wykonujesz, przesłać na zdalne repozytorium (GitHub lub Bitbucket). Zwróć także szczególną uwagę, na jakość Twojego kodu (założenia SOLID) oraz jego otestowanie.

Projekt pierwszy – Komunikacja z webserwisem

Nasza pierwsza aplikacja, służyć będzie do sczytywania warunków pogodowych dla dowolnego miejsca na świecie. Możesz skorzystać z następującego API: https://openweathermap.org/api.

Stack technologiczny:

MVP/MVVM – preferowane wzorce architektoniczne jakich możesz użyć w aplikacji
Retrofit – biblioteka ułatwiająca komunikację z zewnętrznymi API, opartymi na architekturze REST
Moshi/Gson – biblioteka służąca do parsowania pobranego json’a na obiekty Javowe
OkHttp – biblioteka udostępniająca synchroniczne i asynchroniczne metody do wykonywania połączeń HTTP
Koin – framework służący do wstrzykiwanie zależności
RxAndroid – biblioteka dedykowana dla systemu Android wykorzystująca RxJavę
Mockk, Mockito – biblioteki służące do testów jednostkowych

Projekt drugi – Komunikacja z bazą danych

Kolejna aplikacja będzie wykorzystywać proste operacje na bazie danych (zapis, odczyt, edycja, itp.). Możesz stworzyć prosty notatnik.

Stack technologiczny:

MVP/MVVM – preferowane wzorce architektoniczne jakich możesz użyć w aplikacji
Koin – framework służący do wstrzykiwanie zależności
Room/Realm – biblioteki jakich możesz użyć do komunikacji z bazą danych
RxAndroid – biblioteka dedykowana dla systemu Android wykorzystująca RxJavę
Mockk, Mockito – biblioteki służące do testów jednostkowych

Projekt trzeci – Własna aplikacja w Sklepie Google Play

Niewiele osób na początku swojej kariery, może pochwalić się własną aplikacją dostępną online. W taki sposób nie tylko przyciągniesz uwagę rekrutera, ale także otworzysz sobie drogę do dodatkowych przychodów finansowych (reklamy, itp.).

Stwórz projekt jaki tylko zechcesz. Warto jednak by Twoja aplikacja zawierała ciekawy stos technologiczny. Poniżej znajdziesz materiały edukacyjne, pomocne w procesie publikacji.
https://www.udacity.com/course/monetize-your-android-app-with-ads–ud876-3

Stack technologiczny – Materiały edukacyjne

Podsumowanie

By rozpocząć programistyczną karierę, posiadanie wiedzy teoretycznej to jedynie połowa sukcesu. Bardzo ważne jest, byś dysponował wiedzą praktyczną.

Reasumując, mam dla Ciebie dwie sugestie:
1. Znajdź zakres technologiczny, jaki wymagany jest na stanowisku o jakie się ubiegasz.
2. Pisz projekty, korzystające z tych technologii.

Mam szczerą nadzieję, że ten artykuł pomoże Ci zdobyć wymarzoną pracę, czego życzę Ci z całego serca!