O mnie

Pochodzę z Opola, aktualnie mieszkam we Wrocławiu. Jestem z 1996, w kodzie siedzę od około pięciu lat.

Do komputerów ciągnęło mnie od zawsze, potem ta pasja przerodziła się w programowanie i szkołę techniczną o kierunku informatyk, a w końcu także w sposób na życie.

Poza siedzeniem przed komputerem mam także dwie wielkie pasje. Pierwszą jest narciarstwo, które uprawiam od wieku 10 lat - uwielbiam duże prędkości, daje mi to sporą dawkę adrenaliny i pozwala oderwać się od wszystkiego na chwilę.

Drugą jest łucznictwo tradycyjne, z którym jestem związany od 4 lat - fajna atmosfera, świeże powietrze na turniejach w urokliwych miejscach i świetni ludzie - to dla mnie doskonała odskocznia od nudy.

Programowanie

Programuję od dawna, przez ten czas zdobyłem doświadczenie w takich aspektach jak:

  • Strony www (głównie Backend)
  • Aplikacje windowsowe
  • Modyfikacja gier
  • Praca w środowisku Linux (lub Unix)
  • Edycja, obsługa baz danych

Cały czas się rozwijam i poznaję nowe technologie, środowiska, wzorce, algorytmy.

Swoją przygodę rozpocząłem od modyfikacji gier, tj. głównie kultowego wschodniego MMORPG, Metin2 - tam nauczyłem się podstaw. Klient Metina oparty jest głównie o Pythona, zaś pracująć nad stroną serwerową, pracowałem na FreeBSD, dzięki czemu zaznajomiłem się z czarnym okienkiem i brakiem jakiegokolwiek interfejsu graficznego. Poznałem wiele komend które przydały mi się także przy pracy na Linuxach, pisałem parę skryptów w Shellu. Questy pisane były w języku Lua, dane postaci, przedmiotów były przechowywane w bazie MySQL, a część także w postaci tekstowej np. formularzy XML. Sama gra napisana była w c++, jednak nie od razu było dostępne jej source, więc przy okazji dowiedziałem się co to jest Reverse Engineering i Assembler, nigdy jednak nie opanowując tej umiejętności. Kiedy źródło gry wyciekło, miałem też na koncie parę modyfikacji, jednak moja przygoda związana z tą grą powoli się kończyła - a przynajmniej jeżeli chodzi o moje własne projekty.
Zaraz po ukończeniu 18 lat podjąłem się pracy zdalnej jako programista pythona, w międzynarodowej firmie obsługującej jeden z większych serwerów gry Metin2. W Foxware SRL nie tolerowało się bylejakości kodu, więc nauczyłem się jeszcze bardziej dbać o składnię, prawidłowo nazywać zmienne i optymalizować kod. Oprócz tego, pierwszy raz miałem tu styczność i nauczyłem się korzystać z systemu kontroli wersji - Git. Pracowałem tam na 1/4 etatu więc miałem nieco wolnego czasu - zainteresowałem się programomami na platformę Windows. Tworzyłem własne mini-gierki i pierwsze programy użytkowe w c# (Windows Forms i WPF, środowisko Visual Studio), w tym Pacman do którego podchodziłem z 3 razy, ale nigdy nie ukończyłem. Miałem na końcie też dość duży projekt dla szkoły, Zastępstwa Elektryk, gdzie nauczyłem podstaw programowania obiektowego i regexa - wyrażeń regularnych. Wkrótce potem były praktyki w firmie obsługującej kilkadziesiąt większych i mniejszych portali, gdzie zacząłem pracować przy stronach www i spory projekt szkolny, gdzie pracowałem na frameworku CodeIgniter i poznałem wzorzec MVC (Model - Widok - Kontroler). Po praktykach pracowałem nad swoim lekkim autorskim CMS, nazwanym lightigniter. Kiedy skończyłem go tworzyć już potrafiłem napisać go lepiej, więc cały projekt okazał się jedynie świetną metodą na poszerzenie swojej wiedzy.
Na wakacje pracowałem już w tej samej firmie gdzie miałem praktyki i nauczyłem się dużo więcej. Przenosiłem dane z jednej bazy do drugiej, mimo różniącej się struktury, pisałem pluginy do ich własnego systemu CMS i Wordpressa, pracowałem na Yii2 i Laravelu. Miałem też nieprzyjemność modyfikować skrypt javascript (jquery) napisany przed laty. Był tak fatalnie napisany, że poznałem wtedy jak czasem może być ciężko wdrożyć się w projekt pisany przez kogoś innego, w dodatku pisany tak, żeby tylko działał. Cały czas pracowałem też w Foxware SRL (python) co zapewniło mi to dwie rzeczy - utrzymanie i brak przerwy w programowaniu. To ostatnie było tym ważniejsze, że zaczynał się dla mnie rok maturalny więc miałem coraz mniej wolnego czasu. Na maturze wybrałem jako jeden z przedmiotów dodatkowych informatykę, co zmusiło mnie w niedługim czasie do dalszej nauki c++ i standardowych algorytmów takich jak palindromy czy NWD. Maturę udało mi się zdać, a z informatyki rozszerzonej dostałem 70%.
Zrobiłem sobie rok przerwy w nauce - nie zmarnowałem jednak tego czasu. Od sierpnia '16 pracuję w nowej firmie, Friendly Solutions. Zajmuję się tam przede wszystkim systemem CRM opartym na Laravel'u i automatyzacją (np ściąganie ticketów, generowanie faktur), ponadto różnymi bieżącymi zadaniami takimi jak naprawa błędów w różnych systemów czy budowa nowych portali dla klientów. Obecnie studiuję informatykę na Dolnośląskiej Szkole Wyższej.

Moje umiejętności

PHP

Bardzo dobra znajomość PHP - w tym wzorzec MVC (CodeIgniter, Laravel)

MySQL

Bardzo dobra znajomość relacyjnych baz danych - MySQL, MS Access

Javascript

Dobra znajomość javascript - w tym jquery

HTML

Podstawowa znajomość html, css (bootstrap, twig, blade)

Narzędzia

Doświadczenie z narzędziami ułatwiającymi pracę: git, composer, gulp, npm

Linux

Doświadczenie w pracy z linuxami/unixami - m. in. FreeBSD, CentOS

c#

Znajomość c# - Visual Studio (Windows Forms, WPF)

Python

Znajomość języka python - tylko Windows

Pracujmy razem!

Projekty

Różne projekty i gotowe aplikacje które napisałem w różnym okresie.


Doświadczenie

2017 - teraz

Studia na kierunku Inżynier Informatyk

Dolnośląska Szkoła Wyższa we Wrocławiu

08/2016 – teraz

Rozbudowa systemu CRM, nowe portale dla klientów itp

Friendly Solutions Polska - Limanowa
(praca zdalna)

06/2015 – 08/2015

Zarządzanie, rozwój i edycja stron opartych na różnych technologiach

Netkoncept.com - Opole

10/2014 – 10/2016

Modyfikacje klienta gry Metin2

FOX WARE SRL - Bukareszt Rumunia (praca zdalna)

2012 - 2016

Nauka na profilu Technik Informatyk

Zespół Szkół Elektrycznych im. Tadeusza Kościuszki w Opolu

Technik Informatyk

Publiczne Technikum nr 5, najlepsze na Opolszczyźnie i 11 w kraju (Perspektywy 2016)

Kwalifikacja E14

Tworzenie aplikacji internetowych i baz danych oraz administrowanie bazami

Kwalifikacja E13

Projektowanie lokalnych sieci komputerowych i administrowanie sieciami

Kwalifikacja E12

Montaż i eksploatacja komputerów osobistych oraz urządzeń peryferyjnych

Egzamin dojrzałości

Informatyka rozszerzona 70%

Prawo jazdy

Kategoria B

Nigdy nie przestaję się uczyć.