Well, keeping dependencies up-to-date is a complex responsibility. I am sure you had in the past so many cases when you were tackling too many outdated libraries, security vulnerabilities, and so on. And I would like to share with you the story of how we are facing this problem at the Fresha team.

So, let us start with the problem. Please, imagine the application developed by 100 people at the same time. That is impressive how often changes appear in the git log. This application is also in development for five years or more. As you probably know — it…

Hi after a long time! This time I’d like to present to you my short story about creating a side-project with my friends. Yep, I know that the title is a little click-baiting, but I want you to read this post.

Let’s start from the beginning — as I’ve mentioned I’m working on a side-project that is a SaaS application for car rental companies. I know, I know — it’s not rocket science, but we’re trying to do the best experience both for our customers and… for us. We want to have an amazing developer experience level and ease of…

Hi! After a long time, I’d like to share with you one of my thoughts. Pull Requests, Code Reviews, version control, and git — that’s buzzwords with whom we are so familiar on daily software engineering work. That’s of course not hard to commit some changes, push to the git repository and then open a pull request, true. After all, we’re merging these changes to the main branch like master or development, etc. — of course, it depends on your project’s git-flow. Nothing interesting, that’s the thing that we’re teaching interns and juniors, yep.

But… I think it’s not that…

Hi guys! I should apologize to you for that I’m not writing too often. It’s because Autumn is not my favorite time of the year; meh.

I’m after my first quarter worked as an Elixir engineer. Does it was easy for me? No. Changing language from PHP to Java? Why not! PHP to C#? Let’s go for it! But learning functional concepts is something more than changing your daily toolset from the wood hammer into the metal hammer. It’s about how are you looking at the problems from a higher level.

In object-oriented languages, we think about the data encapsulated…

Elixir coding tools

Hi! I was trying to write something about Elixir for the last week, but… you know what will happen if you found a new IDE and trying to customize everything to be so useful for yourself. So! I have wasted about 6 hours configuring my code editor. I am simply a master of procrastination. Thanks to this — I can give you this story. Enjoy reading!

I love being an IDE’s power user

In the last years, I was working with amazing IDE’s like PHPStorm, IntelliJ, or GoLand — they were so powerful, ergonomic, and they increased my productivity with every new keyboard shortcut! I was on…

Today’s post is not a story, it’s just a collection of links to the interesting resources that could be useful for you in this epic journey.


Actually, I’ve read only two books about Elixir-lang. Both of them were pretty good so I’d like to recommend to you to read both.

  • Programming Elixir ≥ 1.6: Functional > Concurrent > Pragmatic > Fun” — Dave Thomas. The biggest advantage of this book is that — it was written for the people that came from the OOP world. I think you are one of them, so read it, it’s useful and light. …

My journey of changing the technological stack

Hi everyone! Welcome to my first post from the “From PHP to Elixir” series about changing the paradigm and programming language. I’d like to present to you my way to start learning a new tool that is the Elixir.

Beginning of the story

When and where has it started? I was participating in the Domain-Driven Design Warsaw group meeting and there was a presentation from Sebastian Gębski about “DDD — the lost chapters”. It was not only about the DDD, but Sebastian also threw a few flavors about the Elixir language into the presentation. He just showed the audience how pragmatic Elixir is. It…

Hi there! This article is mostly for people who, like me some time ago, are looking for information on how to configure Messenger for applications based on CQRS architectural patterns. To be honest, Messenger is my favorite SF component.

So at first — what is a CQRS? It’s the acronym of Command-Query Segregation Responsibility. In simple words — you’re split the write-model from the read-model. That’s an approach first described by Greg Young.

Read-Model is the part of your application that is reading (wow?!) something from the source (eg. database, files, etc.). …

I have written about an error topic about two years ago. From this time some things in my mind have changed and that’s totally fine. I feel I’m just a better engineer from this time.
Okay, so what’s happened to me so I am writing again about the same thread? I want to share with you my observations of how people are working with exceptions — what are the mistakes etc. The examples will be in PHP, but I think you can easily translate the problems into your favorite object-oriented programming language.
I hope you’ll somehow enjoy this post. 🍪

Sarah Kilian Unsplash

Should I throw an error every time when something has failed?

Hi! I wrote this post to make it easier for you to test your PHP application. The first two tricks are related to the Symfony web framework and functional/integration testing in this framework, but the second one is a pattern that every PHP engineer should know. You can treat this article as a note created for me from the past. It’s also time-capsule for me from the future if I forget how to work with Symfony testing services. Mr. Google please — index this article perfectly that I can find it in the future.


Separated implementations for functional testing and the other environments

While I was working on my…

Patryk Woziński

Product Engineer with many years of experience in creating and designing web applications. #DDD freak

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store