Junior Java | Fullstack Developer
Posiadam dwuletnie doświadczenie komercyjne na stanowisku Junior Software Developer w firmie z branży finansowej. Dodatkowo kilkuletnie doświadczenie niekomercyjne związane z tworzeniem projektów narzędzi użytkowych (także wdrożonych na serwerach), które np. wspierały w przeszłości moją pracę i pracę innych w zakładzie produkcyjnym. Mam wykształcenie Techniczno-Informatyczne (mgr inż.) oraz Studia podyplomowe w zakresie Programowania w języku Java więcej
Praca w odpowiednim środowisku programistycznym (jak IntelliJ, PyCharm, SpringToolSuite, AndroidStudio albo VisualStudioCode), wybór odpowiednich zależności i umiejętność stworzenia w nim projektu w języku Java, Kotlin, Python lub JavaScript (aplikacje tradycyjne lub webowe, a także na systemy Android);
Utworzenie bazy danych, która będzie współpracowała z projektem: ustalenie połączenia z bazą, wykorzystanie technologii mapowania obiektowo-relacyjnego w komunikacji między logiką aplikacji a bazą danych;
Utworzenie warstwy widoku aplikacji, z wykorzystaniem technologii JPA (JakartaServerPages) lub szablonów (jak Thymeleaf), albo zastosowaniem bardziej zaawansowanego rozwiązania korzystając z frameworku Angular lub AngularJS (niezależna aplikacja);
Umiejętność pisania testów do tworzonej aplikacji oraz zadbania o właściwą walidację danych przetwarzanych przez aplikację (JUnit, Mockito, Spock);
Umiejętność implementacji procesu autoryzacji w tworzonej aplikacji (także z wykorzystaniem bazy danych);
Instalacja niezbędnego oprogramowania na serwerze oraz wdrożenie aplikacji na serwer pod systemem Debian (także przypisanie domeny);
Korzystanie z narzędzi kontroli wersji jak GIT, z serwisu GitHub (lub Bitbucket) do współpracy z innymi, jak i do procesu ciągłej integracji oprogramowania (praca z narzędziem Jenkins);
Jest to obecnie rozwijany nowy projekt (posiadający już podstawową funkcjonalność)
Charakterystyka technologiczna:
> Java, Spring, Angular,
> MongoDB, Liquibase,
> Groovy, Spock, JUnit
Aplikacja dająca możliwość nauki i sprawdzenia się poprzez przerabianie ‘quizów’ np. związanych z nauką programowania w Javie albo w dowolnym innym temacie. Obecnie są dostępne przykładowe quizy związane z nauką Javy, nie ma możliwości ani potrzeby logowania się do serwisu. Rejestrowany jest jedynie czas wykonania testu.
W aplikacji jest wyświetlana lista dostępnych quizów, klikniecie na wybrany rozpoczyna quiz (ładuje pytania z odpowiedziami). Po wyborze odpowiedzi quiz należy przesłać do ‘backendu’, aby otrzymać informacje o wyniku. Na wynik zawiera się ocena (pozytywna/negatywna), liczba prawidłowych odpowiedzi i czas odpowiedzi (liczony od ‘kliknięcia’ na wybrany quiz w ‘backendzie’ na podstawie wygenerowanego ‘session id’).
Wraz z wynikiem zwracane są także poprawne odpowiedzi, dzięki czemu na ‘frontendzie’ zaimplementowano zmianę kolorystyki, po zakonczonym teście, poprawnych/nieprawidłowych odpowiedzi w formularzu (a także całych pytań w zależności od oceny odpowiedzi).
Aplikacja pomocna w zarządzaniu finansami w małej działalności gospodarczej (zmodyfikowana wersja aplikacji napisanej pierwotnie w języku Python, z wykorzystaniem innych technologii). Na narzędzie składają się dwie odrębne aplikacje (osobno zdefiniowano ‘frontend’ i odrębnie ‘backend’).
Po wprowadzeniu danych o rzeczywistych transakcjach przeprowadzanych w prowadzonej działalności, narzędzie pozwala ustalić uzyskiwane dochody, podstawę opodatkowania oraz wysokość podatków koniecznych do odprowadzenia, zależną od typu opodatkowania.
Aplikacja napisana w architekturze REST, pracująca na danych zapisywanych w bazie PostgreSQL. Część ‘back-endowa’ została aktualnie zaimplementowana wraz z bazą danych w kontenerach Dockera na serwerze VPS pod systemem Debian. Część ‘frontendową’, komunikującą się z częścią ‘back-endową’, umieszczono w innej lokalizacji z wykorzystaniem usługi oferowanej przez Amazon Web Services (AWS).
Aplikacja obsługująca bazę problemów jakościowych (typowych wad i procedur postępowania) występujących w wyspecjalizowanym zakładzie produkującym butelki z tworzywa sztucznego.
Okienkowe narzędzie pomocne w monitorowaniu zużycia mediów, jak np. woda lub prąd (może służyć też do ewidencji innych rzeczy). Zapisuje dane w pliku, wczytuje je do tabeli i oblicza zużycie między rekordami, całkowite, a także średnie. Dane przedstawia na prostym wykresie.
Aplikacja pomocna w zarządzaniu finansami w małej działalności gospodarczej. Po wprowadzeniu danych o rzeczywistych transakcjach przeprowadzanych w prowadzonej działalności, narzędzie pozwala ustalić uzyskiwane dochody, podstawę opodatkowania oraz wysokość podatków koniecznych do odprowadzenia, zależną od typu opodatkowania.
Mój projekt zaliczeniowy z kierunku Programowanie Aplikacji Java. Aplikacja jest dziennikiem żywieniowym/podejmowanych aktywności oraz przedstawia obliczenia osobistego bilansu energetycznego. W warstwie widoku wykorzystano szablony.
Proste narzędzie obliczające przewidywany czas realizacji produkcji i inne wartości na podstawie wprowadzonych danych, jak czas cyklu maszyny, wielkość produkcji oraz waga produktu. Przydatne do codziennego nadzoru produkcji w zakładzie produkującym opakowania w procesie “wtrysko-rozdmuchu”.
Wersja na systemy Android narzędzia obliczającego przewidywany czas realizacji produkcji i inne wartości na podstawie wprowadzonych danych, jak czas cyklu maszyny, wielkość produkcji oraz waga produktu. Narzędzie jest przydatne do codziennego nadzoru produkcji w zakładzie produkującym opakowania w procesie “wtrysko-rozdmuchu”.
Prosta gra logiczna, polegająca na przesuwaniu klocków w celu ułożenia ich w odpowiedniej kolejności.
Rocznik 1984, zamieszkały w Zielonej Górze.
W latach 2003 - 2008 studia: Edukacja Techniczno-Informatyczna na Uniwersytecie Zielonogórskim, gdzie między innymi nabyłem podstawową wiedzę na temat informatyki i programowania (informatyka ogólna, HTML i języki programowania - głównie Turbo Pascal) oraz zdobyłem przygotowanie pedagogiczne do nauczania techniki i informatyki (praktyki z nauczania informatyki).
Posiadam wieloletnie doświadczenie w pracy na produkcji w charakterze nadzoru produkcji, ustawiania procesu i naprawy maszyn.
Doświadczenie na stanowisku Operator CNC (a także kurs “Obsługa i programowanie obrabiarek sterowanych numerycznie”).
Ostatnie kilka lat (przed podjęciem pracy w IT) to postanowianie zainteresowania się “typowym” programowaniem oraz bardziej “nowoczesnym” językiem (w przeciwieństwie do Pascal’a), jak Java, aby w przyszłości móc zmienić charakter swojej pracy na bardziej niezależny i uniwersalny, niezwiązany bezpośrednio z pracą na produkcji.
Jeszcze pracując w zakładzie produkcyjnym, postanowiłem z własnej inicjatywy (ponad swoje obowiązki zawodowe) utworzyć narzędzia produkcyjne opisywane powyżej, które pomagają niektórym pracownikom nadzorować produkcję w zakładzie, gdzie byłem zatrudniony do wrzesinia 2022.
Lata 2020/2021 Studia Podyplomowe: Programowanie aplikacji Java, Wyższa Szkoła Bankowa we Wrocławiu.
Obecnie mam dwuletnie doświadczenie (luty 2023 - styczeń 2025) na stanowisku Junior Software Developer w firmie z branży finansowej. Obejmowane stanowisko posiadało profil Java, a w praktyce dotyczyło programowania także w języku Kotlin, oraz obejmowało też pracę ‘frontendową’ z frameworkiem Angular i kilkoma innymi technologiami.