LionNet

Programowanie, sieci komputerowe, informatyka.

Umiejętności LionNet


Posiadam ponad 7-letnie doświadczenie w tworzeniu systemów informatycznych

Specjalizuję się w projektach związanych z systemami zarządzania sieciami internetowymi LAN, zarządzania centralami VoIP, systemami wspierającymi MVNO. Miałem okazję projektować, programować i wdrażać u klientów systemy B2B i B2C. Brałem udział w projektach IT dla administracji samorządowej.

Od 6 lat biorę udział w rozwijaniu systemu Lan Management System (LMS) - narzędzia do zarządzania sieciami LAN. W tym czasie zdobyłem doświadczenie w dostosowywaniu LMS do potrzeb klienta, a wiele z moich pomysłów zostało wprowadzonych do głównej gałęzi projektu.

Od 3 lat pracuję nad rozwojem platformy wspierającej zarządzanie systemem VoIP firmy Adescom.

Bazy danych

Projektuję bazy danych dla systemów informatycznych. Dużą uwagę przywiązuję do poprawności tworzonych schematów baz danych, do doprowadzenia ich do optymalnego stanu. Staram się, aby logika bazy danych w zrozumiały sposób odtwarzała logikę biznesową projektu. Na co dzień zajmuję się optymalizacją zapytań SQL oraz kontrolą spójności schematu bazy danych ze schematami modelów ORM. Pracuję przy projektach wykorzystujących technologie bazodanowe takie jak MySQL, PostgreSQL, MSSQL.

Programowanie obiektowe

Piszę oprogramowanie w sposób obiektowy. Nie obce mi są zagadnienia z zakresu OOP takie jak wzorce projektowe, modelowanie systemów przy pomocy UML, techniki TDD oraz DDD, zasady SOLID.

Technologie webowe

Systemy, nad którymi pracuję są w większości systemami webowymi, posiadającymi interfejsy przeglądarkowe. W związku z tym od lat zdobywam i wykorzystuję wiedzę z zakresu pisania poprawnego składniowo i semantycznie HTML, wykorzystania CSS w warstwie prezentacji i progresywnego ulepszania przy pomocy JavaScript (Ajax, Websocket, biblioteki jQuery i Prototype).

Backend oprogramowania tworzę w języku PHP. Znane mi są frameworki Symfony i CodeIgniter. Na co dzień wykorzystuję narzędzia takie jak Composer i z pomyślnością integruję zewnętrzne biblioteki z własnymi rozwiązaniami.

Poza GUI programuję także API dla systemów informatycznych. Wykorzystuję w tym celu zarówno technologię SOAP jak i REST.

Zarządzanie projektem

Dbam o wysoką jakość kodu wytwarzanego przeze mnie jak i przez cały zespół. W jednym z projektów jestem odpowiedzialny za środowisko ciągłej integracji. Z tego powodu poznałem narzędzia takie jak serwer ciągłej integracji Jenkins, narzędzia do analizy statycznej projektów jak PHP Code Sniffer, PHP Depend, PHP Mess Detector, PHP Stan, PHP Copy Paste Detector oraz PHPLOC.

Unikam ciągłego testowania manualnego tych samych części rozwijanych przeze mnie systemów stosując techniki testowania automatycznego. Piszę testy jednostkowe dla PHP wykorzystując PHPUnit, a dla JS przy pomocy Jasmine. Tworzę testy integracyjne i akceptacyjne przy pomocy Selenium.

Do sprawnego zarządzania projektem wykorzystuję systemy kontroli wersji takie jak GIT i SVN.


LMS MySQL PostgreSQL Linux PHP