Welcome on my portfolio site

Here you can read my CV and learn about my abilities and work experience. You can also find out about my career and private software development projects. At present I am focused on expanding and perfecting my skills in using JVM technology. If you have any questions, feel free to contact me through the contact form.

Experiences

Experience

10+ years of commercial experience
15+ commercial projects in finance, media, e-commerce

Education

Education

Numerous certificates, completed courses and training, books in the IT field read
Engineer and Master of Computer Science Degree

Passion

Passion

I like IT!
Many open source projects

IT skills

programming languages

Kotlin, Java (6-19), Scala, Groovy, Go, JavaScript, PHP, Python, C++, Assembler

frameworks

Akka, EJB, Spring MVC, JSF, JSP, Grails, Django, Zend

programming libraries

Kotlin Coroutines, Kotest, Mockk, RxJava, Hibernate, JdbcTemplate, RabbitMQ, Kafka, Kafka Streams, Spring, Spring Security, Thrift, Javaslang, Joda-Time, Apache Commons (FileUpload, Imaging, Email), PrimeFaces, RichFaces, jQuery

databases

MongoDB, Oracle Database 11g (knowledge of PL/SQL), PostgreSQL, MySQL, Cassandra, Elasticsearch, Redisson

cloud platforms & containers technology

GCP, Azure, OpenShift, Docker, Kubernetes

operation systems

Linux (administrative level), MacOS, Windows

control version systems

Git, Bazaar, Mercurial, SVN

application servers

WildFly, JBoss, Tomcat, GlassFish, WebSphere

additional softwares

Jira, Miro, IntelliJ IDEA, NetBeans, Eclipse, Vim, Enterprise Architect, StarUML, MS Visio, MS Project, Pencil

Legends: EXCELENT, GOOD, BASIC

Language skills

English

Intermediate level

Additional abilites

Very good knowledge of software engineering, agile programming methodologies, desing patterns, DDD, TDD, intellectual property and copyright laws

Career history

Contractor – Remote Work August 2023 – now

Senior Kotlin Developer

  • working with microservices architecture,
  • technologies used: Kotlin, Kotlin Coroutines, MongoDB, Kafka, OpenShift, Kotest, Mockk.

jCommerce – Katowice Febuary 2020 – July 2023

Senior JVM Developer, Technical Team Leader function

  • forming a developer team and day-to-day project support,
  • designing and creating solutions based on business requirements – implementation of two large projects,
  • working with big microservices architecture,
  • technologies used: Kotlin, Kotlin Coroutines, MongoDB, Spark, Java, Scala, Hadoop, GCP, Hermes, Kafka, Kotest, Mockk.

Relayr – Katowice May 2018 – January 2020

Senior Java Developer

  • IoT industry,
  • designing solutions based on business requirements,
  • creating new microservices and frameworks,
  • technologies used: Java, Akka, RabbitMQ, Kafka, Kafka Streams, PostgreSQL, Elasticsearch, Cassandra, Redisson, Azure, Docker, Kubernetes.

eConsulting – Katowice January 2016 – April 2018

Contractor in ING Bank Śląski S.A.

  • designing and developing microservices based on Java technology,
  • developing applications based on JEE and Spring technology,
  • technologies used: Java, JEE, Spring Boot, Oracle Database, JSF, EJB, Hibernate, jUnit, Mockito, JMS, PrimeFaces, RichFaces.

JCommerce S.A. – Katowice June 2013 – December 2015

Senior JAVA Developer

  • designing and developing applications based on Java technology,
  • creating documentation for applications,
  • technologies used: Java, JavaScript, Oracle Database, PostgreSQL, JSF, EJB, Hibernate, jUnit, Spring MVC, Spring Security, JAX-WS, jms, PrimeFaces, RichFaces, jQuery.

NeronIT Sp. Z o.o. – Katowice June 2011 – May 2013

Senior Developer, Web Application Architect

  • creating desing and development solutions, setting quality standards for the production of software,
  • technologies used: Java, PHP5, JavaScript, MySQL and libraries: JSP, JSF, Hibernate, PrimeFaces, Kohana Framework, Zend, jQuery,
  • participating in projects such as: digital flow of orders, CRM systems for cable television, digital customer services, ERP systems, bidding platforms, e-commerce solutions.

Grupa Leonardo Sp. J. – Tychy April 2011 – June 2011

Developer


Setia.pl Bartłomiej Damek – Bielsko-Biała October 2009 – March 2010

Trainee, employee of technical department


Reference letters

Allegro reference

Allegro reference

Relayr reference

Relayr reference

JCommerce reference

JCommerce reference

Gratitude for giving a lectures at University of Opole (PL)

Gratitude for giving a lectures at University of Opole (PL)

NeronIT reference (PL)

NeronIT reference (PL)

Leonardo Group reference (PL)

Leonard Group reference (PL)

Setia reference (PL)

Setia reference (PL)

Commercial projects

System for management remote devices. System getting data, processes them and presents to the clients. System give opportunity to aggregate devices in hierarchical structure, getting logs and alerts, presents statistics and making analysis.

The most interesting functions of the system:

  • microservices architecture,
  • a lot of used technologies: akka, kafka, rabbitMQ, Cassandra, ElasticSearch, PostgreSQL, Docker,
  • emphasis on performance.

My scope of work:

  • design and implementation new features,
  • write new getaway to connect with this system,
  • design and write independent framework to decorating input data based on DSL scripts (with support for asynchronous operations and data schema validation),
  • support for existing microservices.
System for checking and calculating clients' creditworthiness and conducting campaigns.

The most interesting functions of the system:

  • microservices architecture,
  • connecting with many services for getting data
  • big project, with lots of data and specialistic algorithms.

My scope of work:

  • design new architecture (refactoring from monolit to microservices architecture)
  • design and implementation many microservices, algorithms and solutions
System for manage, redemption and settlement the virtual currency. System included a lot of modules which allow to purchase and redemption virtual currency, integration with banks, exchange subsystem, integration getaway (allows to integration with another system in the future).

The most interesting functions of the system:

  • advanced crypthography algorithms,
  • intagrations with banks and payments system,
  • exchange subsystem,
  • integration getaway.

My scope of work:

  • maintain the integrity of the system,
  • integration with 4 polish banks and 1 payment system,
  • design and implementation exchange subsystem, integration getaway and another parts of system,
  • contact with client and cooperate with people responsible for extarnal systems.
Audit system for polish bank.

My scope of work:

  • migration from websphere to jboss enterprise application server,
  • upgrade libraries (richfaces, seam, jsf),
  • development.
Prototype of real-time aplication for tracking stock prices.

The most interesting functions of the system:

  • real-time data updating,
  • advanced data filtering and search options.

My scope of work:

  • preparation of the prototype (job in team).
Electronic orders flow system for furniture company. System supports core business of the company. It controls the order flow: begins on printing order for the production, across monitoring the every job step, ends with the analizing performance department based on created reports.

The most interesting functions of the system:

  • workflow automation by supporting for barcode readers,
  • order import from independent system (system for cutting boards),
  • multidepartments,
  • marking elements as out-of-order,
  • support for managers by generating reports and real-time order flow monitoring, seeing job progress for every machine: begin and finish times, information about employees who carry out order, information about amount of out-of-order elements, etc.,
  • ability to monitoring employees with machine they are logged in and which order they do,
  • ability to remote logged out employees from the machine,
  • employees monitoring based on machines logged time and execiution orders time.

My scope of work:

  • database design,
  • project design based on specification,
  • project implemented.
Enterprise resource planning for international trading company. This company works in mobile devices and IT hardware brands. System supports distribution process which are wholesale quantities. It allows to insert new producs and making reservation on them. System also stores documents which are created during realization of the transaction and allows to generate invoices based on inserting data.

The most interesting functions of the system:

  • inserting and booking goods,
  • generating invoices and corrections,
  • special view of the blackboard which informs about ongoing operations,
  • support for international transactions.

My scope of work:

  • cooperating with designed system based on the specification,
  • cooperating with implemented project.
The online auctions procesing system (called the online order procesing system) for the companies and offices making a lot of purchase of variety of goods. This system allows to create actions or orders (depents of version). The auctions can browse companies whose want to put offer Added auctions are separated on public and private. System lets choose weights for criteria offer. System administrator can settle auction. In the case of orders suboffices can reports the demand for particular goods, next the administrator groups them and starts realization process.

The most interesting functions of the system:

  • adding auctions with a choice of evaluation criteria (by weights) and settle it,
  • ability to put offer by intependent companies,
  • the subsciptions system for companies which put offers (by branches and categories),
  • ability to put demands by suboffices.

My scope of work:

  • cooperate with finish step project realization (in the version for auctions),
  • refactoring (in the version for auctions),
  • design database for changes for the offers version.
Customer relationship management system for companies which provides telecommunication services (phone, internet, digital television). The system lets manage the client services (added, suspended, blocked, closed). The application allows to count a fee and generate invoice. System also supports information about client payments and lets count interests when the client doesn't pay. System has also newsletter module whose lets send mails to clients (all or by selecting groups).

The most interesting functions of the system:

  • complex management for client services,
  • bank files import and automatic settlement of payments,
  • charging issues for activation, monthly, additional services, promotions and installation costs,
  • generate invoicing and correction for them,
  • a lot of reports,
  • cooperation with another system (billing imports, generating files for telephone exchange, etc.),
  • invoices mass printing (integration with CUPS server).

My scope of work:

  • design new functionality,
  • supervision work progress (Team Leader role),
  • cooperate with project realization,
  • the invoice printing module (integrated with CUPS server),
  • the newsletter module.
Customer relationship management system for companies provides services. The system is for traders. They can follow the progress of talks with customers. CRM allows pin notes, tasks, ongoing projects and documents to clients. Trades also can review the history of contact. Thanks to the integrated e-mail system users can join every e-mail message with client and project.

The most interesting functions of the system:

  • ability to insert full organization structure of the client company (in three form),
  • task division of projects (and project steps) joined with the clients,
  • advenced e-mail client web-module which allows to search, download (by IMAP or POP3 protocol), send (by SMTP protocOl) messages and joining it with clients and projects.

My scope of work:

  • cooperate with database designed,
  • cooperate with project implemented,
  • design and implementation e-mail client web-module.
Online shops for companies of furniture industry. It isn't a single project but group of projects with similar functionality. Besides of standard capabilities in this shops administrator can configure parameters for every product, that means the system allows to set parameters and their properties for products (like material color: black oak, light oak, alder, etc). Administrator also can set price for every parameter (like additional cost or percent of base amount). The system was implemented advanced engine for dependencies and exclusions beetween diferent parameters and theirs properties. This engine allows to set which pairs of parameters and properties can occur together.

The most interesting functions of the system:

  • adding parameters and theirs properties for every product,
  • advantage mechanism to build dependencies and exclusions allow to set which parameters and properties can't occur together, and which can,
  • import product prices and parametwers from excel (xls) file (in one project),
  • multidepartments (in some projects),
  • advantage search engine lets finding products by criteria (in some projects).

My scope of work:

  • cooperate with projects (implemented some functionality, extension, refactoring),
  • design and implementation dependencies and exclusions mechanizm for parameters and theirs properties,
  • design and implementation data import mechanizm from excel (xls) file,
  • extension the search engine (in some projects).
Online customer service system for telecommunications companies which cooperates with CRM system. System allows clients to browse invoices and infromations about payments. It also lets contact with company client service department in order to change client address, send questions about new offers, change or suspend exists.

The most interesting functions of the system:

  • presenting clients data (addresses data, information about services, invoices and payments) based on data from company CRM system,
  • mechanism to sending requests (about add new services, change exists, change addresses data) to company client service department.

My scope of work:

  • design and implementation system.
Booking system for hotels lets clients online booking rooms for chosen period of time. System has clients data and allows to define promotions and discounts per season.

The most interesting functions of the system:

  • checking rooms availability at a given time,
  • ability to define seasonal promotions and discounts.

My scope of work:

  • changes and customisation for some clients.
Independent module for generating table data in different formats. Available formats: html, pdf, csv. Module based on abstract factory pattern and lets to extension on another formats.

The most interesting functions of the system:

  • simple export data to html, pdf, csv,
  • possibility of expansion to another formats.

My scope of work:

  • design and implementation.
Independent module for system administrators is to monitor all changes on the database. The ability to view database changes for selected table or for page request. The system is very easy to configure. Based on table names, the system automatically creates tables and database triggers to save changes.

The most interesting functions of the system:

  • automatic generation of historical tables and triggers to monitor changes on the database,
  • browsing changes per page request.

My scope of work:

  • design and implementation module,
  • module deploy in another systems.
Module for managing user permissions based on list of pages which are available in the system. Module scans system and searches for available pages alone. Administrator must only joins found pages with user groups.

The most interesting functions of the system:

  • system scans and searches available pages (based on controlers),
  • joins availability pages with user groups.

My scope of work:

  • design and implementation module,
  • module deploy in another systems.
Base system for all new projects. In the case of the group of projects system lets making changes for some clients without making changes in original code. System allows to "cover" chosen views, controllers and models. Purpose of the base system is also to speed up working on the new projecst by easier creating new modules, using common patterns and a clear structure. In this project there also were implemented frequently used modules.

The most interesting functions of the system:

  • clear structure (based on HMVC),
  • automatically generated menu, titles and page paths based on file configurations,
  • SEO friendly
  • modularity.

My scope of work:

  • design and implemenation system (based on earlier systems),
  • integrated earlier modules to this system.

Private projects

Json to Java class mapper based on json path syntax.

The most interesting features

  • fast and easy to use,
  • support & required java 8,
  • support all types of data classes: dto, value object, builders, etc
Licence: MIT

Project on GitHub
jChess Chess game has written in Java to play for 2 players on local computers and via network connection. University project made in collaboration with Mateucz Lach.

The most interesting features

  • local or network players game (as client and as server),
  • tabbed window - each game in separate tab,
  • save & restore game in chess notation (in both: short and long syntax)
  • game clock
  • embedded chat
  • skins support (for chessboard & pieces)
  • move history
Licence: GNU GPL v3

Project on launchpad Project on sourceforge
pyFinder Simple search engine crawlers crawles web pages and couting keywords. University project has written in Python. For more information run programs with command: "python pyFinder.pyc --help".

Download
Console strategy game Console strategy game for 2 players. Game has written in Python and has turn-based gameplay. To win this game a player must eliminate all oponent army. To the game there is included application which uses evolutionary algorithm to generate strategies for it. The game and evolutionary algorithm have been written for the purposes of enginering doctorate: "Generating strategy using selected algorithms".

My scope of work:

  • design and implementation (co-author with Mateusz Lach),
  • design and implementation evolutionary algorithm.
Download
Ships simulation Application searches the shortest route between obstacles. Bases on evolutionary algorithm. University project made in collaboration with Mateucz Lach.
Licence: GNU GPL v3

Project on launchpad
Categories The well known game has written in Java where players guess name of countries, cities, things, etc. This is network game for 2-4 players.
Licence: GNU GPL v3

Project website Project on launchpad
Screen switcher Simple program has written in C++. Inspired by virtual desktops used in Linux Systems. Application groups windows of applications lets you toggle beetwen this groups.

Download
fast translator Small application has been written in Java. This program is to translate the content of the system clipboard. It is very usefull during reading or translating foreign texts. The application uses the Google Translator to translate text and network connection is required.

Download
MyOS Project of the operating system. Published on this site disk image includes system that can runs on the VirtualBox (and another emulators). System on startup runs "snake" game which moves on the screens and can't hit in the walls.

Control:
'w', 'a', 's', 'd' - move
'+', '-' - speed up / speed down

The most interesting functions of the system:

  • keyboard support,
  • clock interrupt service.
Download

Education history

July 2013

Academy of Business in Dąbrowa Górnicza

Presentation and defense of MA thesis: “The overview and comparison of classifiers used in biometrics using the example of dynamic typing”, grade: very good, degree: a Master's of the Computer Science.

2011 – 2013

Academy of Business in Dąbrowa Górnicza

Faculty: computer science, specialisation: Information Security in Computer Systems, Master's degree – EU grant and rector grant for the best students.

March 2011

BWS in Bielsko-Biała

Presentation and defense of an engineering thesis: “Generating strategy using selected algorithms”, grade: very good, degree: a Engineer of the Computer Science.

2007 – 2011

BWS in Bielsko-Biała

Faculty: computer science, specialisation: Software Engineering and Network Systems, engineering studies – grant for academic performance.

Certifications

Oracle Certified Expert EE 6 Java Persistence API Developer

Oracle Certified Expert, EE 6 Java Persistence API Developer

Oracle Certified Expert, Java Platform, EE 6 Web Component Developer

Oracle Certified Expert, Java Platform, EE 6 Web Component Developer

Oracle Certified Professional, Java SE 6 Programmer

MongoDB for Java Developers

MongoDB for Java Developers

Training on Oracle PL/SQL (80 hours)

Training on Oracle PL/SQL (80 hours)

JCommerce academy: Java 8

JCommerce Academy: Java 8

JCommerce Academy: Design patterns

JCommerce Academy: Design patterns

JCommerce Academy: Web security

JCommerce Academy: Web security

JCommerce Academy: Design patterns

JCommerce Academy: The art of presentation

Contact