Mentoring programistyczny
Uczysz się z mentorem 1 na 1
Osobisty kontakt zapewnia bezpośredni dostęp do wiedzy i doświadczenia mentora. To pozwala uczestnikom na szybkie rozwiązywanie problemów i otrzymanie bezpośredniej odpowiedzi na pytania. W przeciwieństwie do nauczania grupowego, metoda 1 na 1 pozwala na lepsze zrozumienie i realizację wyzwań w projekcie. Kontakt odbywa się poprzez spotkania online, mailowo i na repozytorium.

Zobacz próbkę projektów
Dashboard Trendów Technologicznych

Coraz więcej firm chce wiedzieć, jakie technologie są na topie, aby inwestować w odpowiednie narzędzia i szkolenia. Twoje zadanie polega na stworzeniu interaktywnego dashboardu, który agreguje i wyświetla dane na temat popularności różnych języków programowania, frameworków i narzędzi.
Wymagania
- Tabela zawiera 5 kolumn:
- # (index)
- Język Programowania
- Top 3 Frameworki
- Liczba Ofert Pracy
- Średnie Wynagrodzenie
- Dane: Wykonaj request do API aby otrzymać dane. Poniżej dwa adresy do tego samego zbioru danych - na wypadek, gdyby któryś link przestał działać.
- https://mocki.io/v1/40df3fbe-37bb-4b0e-8897-05ee0284de65
- Stan początkowy wierszów w tabeli: Dane dotyczące języków zawarte w załączniku mają być wylistowane w kolejności zależnej od indexu (1, 2, 3, 4, 5)
- Sortowanie kolumn: Zaimplementuj funkcję, która umożliwia użytkownikom sortowanie danych poprzez klikanie nagłówków tabeli.
- Rosnąco (dla wartości liczbowych - ▲)
- Malejąco (dla wartości liczbowych - ▼)
- Alfabetycznie A-Z (dla ciągów znaków - ▲)
- Alfabetycznie Z-A (dla ciągów znaków - ▼)
- Nieposortowany (stan początkowy, domyślny)
- Pokaż, która kolumna jest obecnie sortowania i w którą stronę: ▲ lub ▼ - aktualizuj wuświetlaną ikonkę przy każdym kliknięciu w dany nagłówek tabeli
- Responsywność: Na mniejszych rozdzielczościach tabela powinna mieć horyzontalny scroll.
- Tech stack: Wykonaj zadanie w wybranym frameworku frontendowym (np. React, Angular, Vue).
Nice to have
- Skorzystaj z gotowej abstrakcji dla tabeli, np. MUI lub Tanstack table
- Dark Mode: Opcja przełączania między jasnym i ciemnym motywem
Wizualizacja komponentu
- Szczegółowy designu w figmie: Link do figmy

Materiał pomocniczy
Dashboard Trendów Technologicznych

Wymagania
Zachowaj początkowe wymagania z poziomu "Intern" i rozszerz o poniższe.
- Obsługa błędów: Zaimplementuj obsługę poniższych scenariuszy błędów. W przypadku wystąpienia jednego z nich, wyświetl tabelkę z nagłówkami ale zamiast rzędów z danymi, wyświetl poniższe komunikaty przypisane do określonych błędów:
- Błąd Sieciowy ("Nie udało się nawiązać połączenia. Spróbuj ponownie później.")
- Przypadek kiedy request się powiedzie ale api zwróciło pustą tablicę ("Brak Danych do wyświetlenia")
- Błędy Serwera z kodem http 500 ("Wystąpił błąd serwera. Proszę spróbować później.")
- Filtrowanie kolumn:
- Dołącz pole na tekst (input), które pozwali użytkownikowi filtrować wiersze na podstawie zawartości w kolumnach "Język programowania" lub "Top 3 frameworki".
- Dodaj funkcjonalność "debounce" przy filtrowaniu - program nie reaguje na każde pojedyncze naciśnięcie klawisza, ale czeka chwilę, zanim zacznie filtrować wyniki. Dzięki temu, jeśli ktoś szybko wpisuje frazę do wyszukiwania, filtracja nie będzie wykonywana dla każdej litery osobno, co mogłoby spowalniać działanie strony. Na przykład, jeśli wpiszesz "javascript", zamiast filtrować wyniki dla "j", potem dla "ja", "jav", "java", itd., funkcja "debounce" poczeka, aż skończysz wpisywać, i przefiltruje wyniki tylko raz, dla pełnej frazy "javascript". Oszczędza to zasoby i przyspiesza działanie aplikacji.
- Cache'owanie:
- Zaimplementuj prosty mechanizm cache'owania, który zapobiegnie wielokrotnemu ładowaniu tych samych danych z API.
- wyszukując np. "javascript" a następnie usuwając wprowadzoną frazę-filtr i ponownie wpisując "javascript" nie ładuj ponownie danych z API tylko z cache
- Tłumaczenia:
- Przetłumacz frazy z nagłówków tabeli, inputu filtrowania oraz przycisku "Dodaj do obserwowanych" w aplikacji tworząc własną funkcję do obsługi języków
- Jeżeli nie możesz wykryć języka użytkownika lub nie masz dla niego tłumaczeń, automatycznie użyj języka angielskiego
- Szczegóły: Po kliknięciu w dany rząd tabeli (tr w tbody) wyświetl szczegóły z krótkim opisem:
- "[nazwa języka] description."
- Watchlista: Po kliknięciu w dany rząd tabeli w rozwiniętym obszarze z opisem dodaj button "Dodaj do obserwowanych 🔍".
- Po kliknięciu w button zmień wyświetlaną frazę na "Usuń z obserwowanych ❌"
- Zmień kolor tła (#7CD3FA) danego rzędu tabeli z językiem programowania, który został dodany do "obserwowanych"
- Zapisz stan dodanych do obserwowanych języków programowania w pamięci przeglądarki localStorage i bazuj na nim przy kolejnym renderowaniu komponentu
- Dodaj nad tabelą przycisk "Wyczyść listę obserwowanych" oraz "Obserwuj wszystkie"
- Tech stack: Używając frameworka (np. React, Angular, Vue) skorzystaj również z TypeScript.
Nice to have
- Testy jednostkowe: Napisz testy jednostkowe dla komponentów i funkcji.
Wizualizacja komponentu
- Szczegółowy designu w figmie: Link do figmy

Materiał pomocniczy
Dashboard Trendów Technologicznych

Wymagania
Zachowaj początkowe wymagania z poziomu "Intern" oraz "Junior" i rozszerz o poniższe.
- Historia filtrowania:
- Stwórz listę z historią ostatnich 3 filtrów z możliwością kliknięcia w danych element w historii aby go użyć
- Wyświetlaj historię filtrowania w momencie kliknięcia w input
- Przy pierwszym użyciu nie pokazuj listy z historią pod inputem
- Testy jednostkowe: Napisz testy jednostkowe dla komponentów i funkcji.
- Docker:
- Stwórz dockerfile dla naszej aplikacji
- Stwórz docker compose dla naszej aplikacji
Nice to have
- Pipelines:
- Dodaj CI pipelines za pomocą gitlab-ci lub innego narzędzia.
- Wymagane pipeline-y to:
- type-check: sprawdzenie zgodności typów w kodzie
- lint: analiza kodu w celu identyfikacji i naprawy problemów dotyczących stylu kodowania i potencjalnych błędów (np. ESLint dla JavaScript, pylint dla Pythona)
- test: automatyczne uruchomienie zestawu testów jednostkowych i integracyjnych
- build: kompilacja i budowa aplikacji w formie, która jest gotowa do wdrożenia na serwerze produkcyjnym
- Szczegółowy designu w figmie: Link do figmy
Wizualizacja komponentu
Poznaj Nas

Twoje tempo, Twój poziom trudności
Wolisz opisać problem i rozwijać się tylko przez code review bez spotkań na żywo? Żaden problem dopasujemy styl nauczania do Twoich potrzeb - godziny od mentora możesz wykorzystać w wybrany sposób. Tempo i poziom trudności planu szkoleniowego dobieramy indywidualnie dla każdego.
Uczysz się na realnych problemach biznesowych
To na ile rozwiniesz się jako programista zależy od tego jakie problemy realnie rozwiążesz - im większe i bardziej złożone, tym większe zdobędziesz doświadczenie i umiejętności. Ucząc się na konkretnym, złożonym problemie biznesowym, nie bawimy się technologią w oderwaniu od realnych warunków pracy, tylko rozwijamy jednocześnie z kompetencjami technicznymi umiejętności analizy procesowo-systemowej i wiedzą biznesową.



Nie tracisz czasu na próby i błędy
Skupiamy się na najważniejszych aspektach i esencji w wybranym przez Ciebie tech stacku. Plan szkoleniowy jest dopasowany do Twojego poziomu i wyznaczonego celu, minimalizując rozproszenia. Bezpośrednia interakcja z mentorem pomaga utrzymać rozwój na wysokim poziomie. Mentoring 1 na 1 zapewnia ciągłą motywację, wsparcie i feedback, które są kluczowe dla skutecznego uczenia się.
Rozwijasz umiejętności techniczne i biznesowe
Obok rozwoju technicznego doskonalimy również umiejętności miękkie, takie jak komunikacja, praca zespołowa, zarządzanie czasem i umiejętność rozwiązywania problemów. Nauka odbywa się na rzeczywistych problemach biznesowych, co umożliwia uczestnikom zdobycie praktycznej wiedzy i doświadczenia niezbędnego w świecie IT.


Ustawiasz grafik według swoich potrzeb
Ty wybierasz w jakich godzinach chcesz spotkać się z mentorem na indywidualną sesję oraz sam definiujesz jaką pólę godzin z mentorem potrzebujesz w danym miesiącu.
Dla każdego. Osoby stawiające pierwsze kroki mogą podjąć z nami dłuższy mentoring w kierunku zdobycia pracy, a doświadczeni specjaliści podnieść swoje kwalifikacje lub zmienić specjalizację IT. Proces indywidualnego mentoringu 1 na 1 z doświadczonym ekspertem z IT jest usługą end-to-end obejmującą praktyczne doświadczenie na projekcie odzwierciedlającym specyfikę dużych komercyjnych wdrożeń, przygotowanie do rozmów technicznych oraz pełne wsparcie zawodowe oraz coachingowe w zakresie realizacji ustalonych celów.
Ceny mentoringu są w zakresie od 800 do 2000 zł miesięcznie w zależności od wybranego pakietu do Twojego poziomu, który jest dopasowywany w ramach darmowych konsultacji.
Prowadzimy mentoringi w obszarze frontendu, backendu i inżynierii danych oraz uczenia maszynowego. Główne języki w jakich specjalizują się nasi mentorzy to Python, Java, TypeScript/JavaScript, C#, PHP.
Program mentoringowy nie ma sztywnych ram czasowych. Minimalny czas współpracy to 1 miesiąc. Ilość kolejnych miesięcy zależy od umiejętności danej osoby na początku cyklu, wyznaczonych celów i rodzaju zakupionego pakietu dostępu do mentora. Natomiast na bazie doświadczeń klientów mentoringi trwają często od 6 do 12 miesięcy.
Ty wybierasz częstotliwość oraz ilość godzin do dyspozycji od mentora jaką potrzebujesz w danym miesiącu na spotkania lub code review.
Główny zakres dostępnych godzin to 17-21. Natomiast wielu mentorów posiada bardziej niestandardowe zakresy dostępności, więc istnieje możliwość umawiania spotkań również we wcześniejszych godzinach na potrzeby ucznia.
Większość mentorów posiada sloty na spotkania również w soboty.
Możesz dołączyć jeszcze dzisiaj.
Tak, aczkolwiek wówczas wymagany jest konkretny plan rozwoju aplikacji po Twojej stronie.
Po każdym zakończonym miesiącu mentoringu możesz wstrzymać się z kontynuacją i wrócić do współpracy później.
Liczba godzin z mentorem jest do wykorzystania w ciągu 30 dni kalendarzowych od daty rozpoczęcia mentoringu. Godziny niewykorzystane nie przechodzą na kolejne miesiące do odbioru, oczekujemy systematyczności i zaangażowania od uczestników programu mentoringowego, co przekłada się potem na sukces zawodowy.
Tak, prowadzimy wszystkie mentoringi po polsku oraz po angielsku.
Tak, możesz w trakcie zmienić ścieżkę programu mentoringowego.
Tak, jak najbardziej. Wystarczy podać dane, na które ma być wystawiona faktura za usługę.
Płatność za mentoring jest w formie abonamentowej z góry za dany miesiąc. Jest możliwość zakupu z góry 4, 6, 8 lub 12 miesięcy z adekwatną do dłuższego okresu zniżką.