Krótki wstęp:

Moja przygoda z komputerami zaczęła się w 1988 roku od czasopisma “Bajtek” i Atari 130XE, później był Commodore 64, Amiga 500 Plus (nawet obecnie posiadam trochę retrosprzętu) a później PC. Początkowo tworzenie oprogramowania z było związane z demosceną i gamedev, od 2002 pracowałem jako freelancer, a zawodowo jako programista od 2007 roku.

W tym czasie realizowałem małe i duże projekty, od prostych stron i aplikacji internetowych, sklepów poprzez bardziej rozbudowane systemy CRM i e-comerce, kończąc na projektach dużych projektach wykorzystujących architekturę mikroserwisową związanych z branżą telekomunikacyjną, e-comerce oraz naukową.

W zakresie moich obowiązków wchodzi: projektowanie i planowanie rozwoju aplikacji, systemów IT, uzgadnianiem wymagań z biznesem, kierowanie zespołami programistycznymi, a jak potrzeba to bycie SysOpsem/DevOpsem (nie jest mi to obce).

Oprócz tego zajmuję się: stosowaniem dobrych praktyk programistycznych (code review, testowanie, czysty kod – w starych projektach różnie z tym idzie …), ciągły rozwój, zdarzy mi się wypowiadać publicznie lub dodać artykuł do bloga.

Czego używam:

Języki programowania:

  • głównie: JAVA – (certyfikat OCPJP), Kotlin, TypoScript, JavaScript
  • dodatkowo: PHP, Python, Go Lang, C++, , Bash, HTML/CSS, Asm x86

Bazy danych:

  • SQL: MySQL, Postgresql
  • NoSQL: Redis, Cassandra, MongoDB, Apache Hadoop

Architektura/podejścia:

  • Domain Driven Design
  • Mikroserwisy
  • Wzorce projektowe
  • Programowanie reaktywne i funkcyjne
  • Serwisy REST i SOAP
  • Systemy rozproszone
  • Architektura sterowana zdarzeniami
  • Architektura hexagonalna
  • Testowanie (TDD)
  • Single Sign On – pojedyncze logowanie
  • Scrum, Kanban
  • Lean Canvas

Biblioteki, narzędzia:

  • Java, Android, Spring, Spring Boot, Spring Cloud, Project Reactor, Mockito, DL4J, Junit, Hibernate/JPA, OpenGL, LibGdx
  • Php 5/7.2/7.4, Yii2
  • Angular 4+, React, jQuery ,BootStrap, oAuth/JWT
  • IntelliJ IDEA, Eclipse, NetBeans, MySQL Workbench, Visual Studio
  • Adobe Photoshop, Adobe Illustrator
  • Git, GitHub, Svn, Maven, Jankins, Gradle
  • Bash, WireMock, ELK Stack, Apache Tomcat, WASM, Emscripten, WAMP

Dodatkowo mam wiedzę z:

  • Projektowania i implementacji aplikacji rozproszonych
  • Przetwarzania dużej ilości danych w bazach typu OLAP, OLTP
  • Znajomości dotyczących projektowania interfejsu
  • Debugowania oraz wsteczna inżynieria aplikacji webowych, oprogramowania działającego pod systemami Android i Windows
  • Pozycjonowania stron internetowych – wiedza praktyczna i teoretyczna na temat działań SEO/SEM, budowy zaplecza oraz optymalizacji z uwzględnieniem tworzenia serwisów przyjaznych wyszukiwarkom
  • Administracji systemami Linux

Z kim współpracowałem:

Moje profile: