Cracow, Małopolskie, Poland
I’m a passionate front-end/full-stack developer who loves to learn new technology stacks. I’m especially excited about refactoring bigger systems. I love making a maintainable and SOLID code base out from legacy systems. Currently I’m mostly focused on JavaScript-related technologies, I have some Java experience, but it became old and rusty.
Preparing and leading the Java EE workshops. Topics covered by me included application servers based on WildFly, CI/CD based on Jenkins, JPA with Hibernate, CDI and EJB. This was an after-hours work, workshops were conducted from time to time usually during weekends. I treated it more like a hobby than work.
Pragmatists is a small software house, there are a couple of aspects that are different from other software houses that I worked in: development team has full responsibility of contact with client, working on requirements and generally managing relations between Pragmatists and client. The second differentiator is the development process which assumes pair programming by default. I took part mainly in 2 projects in Pragmatists. The first one was a tool for managing documentation of data analytics projects. From a technical point of view it was basically a CRUD with sophisticated searching functionality. It was written in TypeScript with Express.js REST API deployed to AWS elastic beanstalk (originally backend was set up on AWS lambda) and backed up with Elasticsearch database. The front-end application was written in React. We were developing the project in a 3 people team (2 devs+UX). Overall this was a successful project, unfortunately our client was hit very badly by COVID19 pandemic and needed to stop the project. The second project (the current one) is about work schedules of security company employees. The system is used to schedule work of our client employees based on their clients requirements and then automatically figure out how to manage invoicing and work agreements of employees to stay aligned with Polish low regulations and optimize costs of employment. From the business requirements and algorithmic point of view, this is the most complex system that I’ve ever seen. It’s made by our team (5 devs+1 UX) from scratch. It is written in JS with Express.js REST API and React frontend application. We use MongoDB as a database.
Development of a swing-based java client application for retail shops of a sports betting company. The main responsibility of our team throughout the last year has been refactoring an old and big system to decouple view layer from business logic on the client side. I introduced a step-by-step way to migrate a java-based client to a web application. The web-based part of our application is done with React and TypeScript. Communication between the java part and the web part of the application is done via RxJs/RxJava streams (more details about the communication part can be found in my JUG presentation available on GitHub: https://github.com/mlewando/java-js-communication-talk).
Developing a company project for managing waste streams on landfills. The system was developed in scrum methodology in a small team (4 DEVs, 1 QA, 1SM, 1PO) and was based on Spring MVC and Spring Boot in some parts (two “microservices” running in Docker containers). I’ve been a part of the team since almost the beginning of the project. We had managed to successfully deploy the system to couple of landfills where it proved to be a very useful tool.