O mnie

Pochodzę z Opola, tutaj też aktualnie mieszkam. Urodziłem się w 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)
  • Obsługa programów kontroli wersji (Git)

Cały czas się rozwijam i poznaję nowe technologie, środowiska, wzorce, algorytmy. Na pewno chcę kiedyś dopisać do tej listy aplikacje mobilne.

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.
Doświadczenie które tam zdobyłem pozwoliło mi się rozwijać dalej, tym razem skierowałem się ku programom 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). Na wakacje pracowałem już w tej samej firmie 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ł.
Po wakacjach podjąłem się pracy zdalnej jako programista pythona, w międzynarodowej firmie obsługującej jeden z większych serwerów gry Metin2. 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. W tej firmie 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. W wolnym czasie 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 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%.
Obecnie zrobiłem sobie rok przerwy w nauce - nie marnuję jednak tego czasu. Pracuję w dwóch firmach, programuję w php i pythonie. Staram się nigdy nie stać w miejscu i cały czas się rozwijać.

Moje umiejętności

PHP

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

MySQL

Znajomość relacyjnych baz danych - MySQL, MS Access

Javascript

Podstawowa znajomość javascript - w tym jquery

HTML

Podstawowa znajomość html, css - także bootstrap

Git

Doświadczenie w pracy z systemem kontroli

Linux

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

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

08/2016 – teraz

Rozbudowa systemu CRM

Friendly Solutions Polska - Limanowa
(praca zdalna ¾ etatu)

09/2015 – teraz

Modyfikacje klienta gry Metin2

FOX WARE SRL - Bukareszt Rumunia (praca zdalna ¼ etatu)

06/2015 – 08/2015

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

Netkoncept.com - Opole

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ć.