Jeżeli oprócz kursów programistycznych postawisz jeszcze na praktykę, to zdecydowanie będzie to najlepsza droga. Warto w takim razie zbudować swoje programistyczne portfolio. W tym artykule przybliżę Ci, jak takie portfolio może wyglądać, a także podam przykładowe funkcje, jakie mogą zawierać aplikacje, które będziesz tworzył.
GitHub
Na początek przede wszystkim warto założyć swoje konto na platformie, gdzie będziesz mógł udostępnić swój kod innym osobom. Najbardziej popularną platformą do udostępniania swojego kodu jest obecnie github. Udostępniając swój kod na githubie, już na wstępnie możesz pochwalić się znajomością tej platformy, a także znajomością systemu wersjonowania kodu np. Gita. Także już w tym miejscu możesz wypaść w lepszym świetle przed Twoim potencjalnym pracodawcą, czy rekruterem.
Jeden projekt czy wiele projektów?
Sporo osób zastanawia się, czy lepiej udostępnić jako portfolio jeden duży projekt, czy wiele mniejszych? Jeżeli ubiegasz się o pracę młodszego programisty, to moim zdaniem lepszym wyjściem będzie udostępnienie w swoim CV tylko jednego bardziej zaawansowanego projektu.
Z czego to wynika? Otóż jeżeli będziesz chciał udostępnić wiele projektów, to prawdopodobnie będą one mniej zaawansowane, będą to jakieś proste aplikacje, które mogą nie zrobić wrażenia na rekruterze.
Ponadto pamiętaj, że rekruterzy otrzymują mnóstwo CV, jeżeli każda osoba załączy kilka projektów, to szansa, że rekruter na nie spojrzy, jest dużo mniejsza. Oczywiście możesz mieć wiele projektów na GitHubie, w końcu pokazujesz wtedy, że faktycznie systematycznie Tworzysz nowe projekty i cały czas uczysz się programowania, ale w CV najlepiej umieścić informacje o jednym, najbardziej zaawansowanym, wybranym projekcie.
Także wydaje mi się, że lepiej stworzyć jeden, ale za to konkretny projekt, który już rozwiązuje jakieś problemy, pokazuje Twoje umiejętności, pokazuje to, co potrafisz napisać w wybranym przez Ciebie języku. Ponadto, jeżeli ubiegasz się o stanowisku młodszego programisty C#, to warto, żeby Twój projekt był stworzony właśnie w tym języku.
Jak powinna wyglądać aplikacja w portfolio?
Moim zdaniem warto stworzyć taką aplikację, gdzie pochwalisz się tym, czego się nauczyłeś. Jeżeli nauczysz się jak dodać w aplikacji zarządzanie użytkownikami, to pochwal się tą wiedzą. Jeżeli nauczyłeś się ostatnio tworzyć ładne wykresy, to również to pokaż. Zrób projekt, który będzie pokazywał różne zaawansowane mechanizmy, które już opanowałeś i stwórz jeden projekt, w którym to pokażesz.
Możesz też zacząć tworzyć taki projekt, dzięki któremu rozwiniesz jeszcze bardziej swoje umiejętności. Jeżeli zaczniesz tworzyć nowy projekt, to zawsze nauczysz się czegoś nowego. Jeżeli będziesz chciał zaimplementować jakąś nową funkcję, którą dopiero będziesz tworzył pierwszy raz, to zawsze możesz doczytać na ten temat. Taka nauka jest najbardziej efektywna. Poprzez pisanie nowych aplikacji uczysz się wtedy nowych umiejętności i poszerzasz swoją wiedzę.
Z doświadczenia wiem, że taka nauka jest najlepsza. Widzę też to po uczestnikach mojego szkolenia. Osoby, które rozwiązują wszystkie prace domowe, uczą się najszybciej i najszybciej również znajdują swoją pierwszą pracę w zawodzie.
Jakie funkcje warto dodać do swojej aplikacji?
Jeżeli nie wiesz jakie funkcje dodać do swoich aplikacji, to dam Ci kilka przykładów. Tutaj oczywiście masz bardzo wiele możliwości.
W zależności od tego, jaka będzie to aplikacji, to te funkcje będą inne, ale między innymi takie funkcje i dobre wzorce możesz zaimplementować w swojej aplikacji:
- Rejestracja i logowanie użytkowników.
- Zarządzanie użytkownikami.
- Role użytkowników (zarządzanie rolami, przypisywanie ról do użytkowników).
- Dostęp do zasobów na podstawie ról.
- Współpraca z bazą danych (np. za pomocą Entity Framework Core).
- Testy automatyczne (jednostkowe i integracyjne).
- Szyfrowanie danych.
- Ładny UI (w zależności od typu aplikacji, dobra grafika, ikony).
- Kalendarz.
- Oś czasu.
- Komponenty.
- Rest API.
- Zarządzanie plikami aplikacji.
- Wizualizacja danych (np. wykresy).
- CRUD (tworzenia, pobieranie, aktualizacja i usuwanie danych).
- Formularze (różne kontrolki input, checkbox, datepicker, dropdown, textarea, editor, colorpicker itd.).
- System płatności.
- Fakturowanie.
- Generowanie PDF, Excel, Word itp.
- Wydruk.
- Wyszukiwarka, filtrowanie danych, paginacja, sortowanie.
- Ajax.
- Wysyłanie e-mail, sms.
- Obsługa wyjątków.
- Logowanie danych.
- Popupy, notyfikacja.
- Walidacja danych.
- Panel administratora.
- Konfiguracja aplikacji.
- Routing.
- Kody QR, kody kreskowe.
- Używanie zewnętrznych usług.
- Zakładki, menu.
- Zdarzenia.
- Wersje językowe.
- JWT, identity.
- Wykonywanie operacji w tle.
- Metody asynchroniczne.
- Wielowątkowość.
- Znajomość SOLID.
- Dependency injection.
- Wzorce projektowe.
- Wzorce architektoniczne.
- Bezpieczeństwo danych.
Jaką aplikację stworzyć?
Aplikacja, jaką będziesz tworzył, będzie zależała od Twojego stopnia zaawansowania. W najbliższym czasie na blogu podzielę się z Tobą moimi 100 przykładowymi pomysłami na aplikację, dzięki której nauczysz się programować oraz stworzysz zaawansowane portfolio.
Podzielę te pomysły na kilka etapów. Zaproponuję aplikację dla osób początkujących, które dopiero rozpoczynają swoją naukę, poprzez aplikacje o trudności średnio-zaawansowanej, aplikacje branżowe, aplikacje biznesowe i aplikacja dla osób zaawansowanych. Także, nie ważne, na jakim teraz jesteś etapie, zdecydowanie znajdziesz tam coś dla siebie.
Podsumowanie
To tyle wskazówek, jeżeli chodzi o programistyczne portfolio młodszego programisty. Jeżeli uczysz się programowania, to zawsze oprócz podstawowej formy nauki z kursów online, szkoleń, książek, czy studiów dodaj praktykę i naukę przez tworzenia aplikacji. Spróbuj stworzyć własną zaawansowaną aplikację (tutaj też pokazuje jak to zrobić w ASP.NET Core – Szkoła ASP.NET Core). Może też okazać się, że Twoja aplikacja nie tylko posłuży Ci do nauki programowania, czy budowania portfolio, ale jeżeli będzie rozwiązywała jakieś problemy, to będziesz mógł ją sprzedać i na niej zarabiać. Czego Ci życzę.
To wszystkie na dzisiaj. Jeżeli taki artykuł Ci się spodobał, to koniecznie dołącz do mojej społeczności – darmowe zapisy, gdzie będziesz również miał dostęp do dodatkowych materiałów i przede wszystkim bonusów. Do zobaczenia w kolejnym artykule.
Poprzedni artykuł - Jak Wygląda Cały Proces Tworzenia Aplikacji Od A Do Z?