JDD 2017 – Orchestrate your choreography!

Orchestrate your choreography!

You can read official talk description here [EN] or at conference page here [PL].

This talk is an effect of a few architectural discussions with several development teams over past few years. I saw that lack of knowledge in this particular area can be a real roadblock on architecture design, also I just “feel” that this topic is important. We – as a community of professionals – ignore base concepts too often.

In my opinion is very important to be able to make a conscious decision. No matter if you create simple monolith application or huge distributed system you will need to choose how modules, services, components communicate with each other. And whats important- you always will be able to choose one of these two: orchestration and choreography.  Good to know how aply orchestration and choreography to your architecture 🙂

Because of that I want to do some kind of “step back” to show that these concepts are a base for many modern architecture patterns. I believe that doing such thing will give possibility to make two or more steps further- just by being conscious about pros and cons of architectural decisions.

I want to show you how to understand these concepts, how to use them and point out what are the potential threats when you choose one over another. After this talk I want you to be more aware about your current project architecture.

Day 1, Track 1, 10:30 am 🙂 See you there!

BTW. You may also look at Validation – Operation – Notification post. This concept will be “somehow” used during my presentation 🙂

BTW2: Remember to rate my talk using official JDD eventory event.

Any other recommendations?


This year at JDD conference I represent SilesiaJUG as a Jugmajster candidate along with two of my colleagues- Grzegorz Gajos and Piotr Wittchen. I’m really proud of be a part of this great team! Take a look at their topics too. You can not miss them!

Full conference schedule is available here.

JDD 2017 – Orchestrate your choreography!

4Developers Gdańsk – Pomeranian edition of the biggest tech festival in Poland

First local 4Developers edition – Gdańsk

I’m really happy to be a part of first local 4Developers edition as a speaker 🙂 About half year ago I presented my topic about the Evolution of Architecture at Warsaw edition of this great event (You can read more about this talk here) and received really motivating feedback from audience. Finally I decided to try my chances to join pomeranian edition as well. As you can see with success 🙂

Evolving Architecture, 4Developers 2017, Warsaw, Image from twitter

I really like the idea of 4Developers Tech Festival and this interdisciplinary approach to topics selection. Because of that professionals that work in different business environment can exchange experiences and find how much we have in common regardless to used technologies or programming language. It’s pretty similar strategy as I use with my colleagues organizing SpreadIT conference 🙂

Note that there will be another local edition of 4Developers soon! Check it out 🙂 And good luck to organizers!

Orchestrate your choreography!

What my talk will be about? Here’s short note:

When we speak about orchestration we should think of conductor in philharmonic orchestra. Basically His role is to show rhythm to all musicians. In the other hand “Swan Lake” musical don’t need conductor for dancers. They know when its their part, and which steps they need to do. It’s all because of choreography.

You can find a lot of examples which use this two fundamental ways of keeping processes in correct order. You can find them in Event Driven Architecture, Microservices, CQRS, Hexagonal Architecture and so on. In my opinion we should talk about them more- to understand them and use them in correct and proper way.

Sometimes you need to do one step back to be able to do two steps forward. I would like to show you advantages and disadvantages of orchestration and choreography. I would like to show you when to use them and finally – how to do it effectively.

My talk will be held at 2PM on App Arch Track. Full agenda here. Also there is site event on blog if you like to check location here 🙂


If you haven’t bought your ticket yet then go and get it with 15% discount! Use this promo code: software-empathy-15

4Developers Gdańsk – Pomeranian edition of the biggest tech festival in Poland

Quality Excites 2017 review


Quality Excites (QE) is a Polish nationwide conference on software quality, dedicated to the professionals who use the newest technologies and the best practices. Year by year, the event attracts more and more people who are interested in Quality Assurance (QA) and who want to influence the field.

The attendees include software developers, project managers, product owners and designers. The popularity of QE is not only represented by the growing number of speakers and participants. The second year in a row, Quality Excites took 1st place in the voting for the best testing events in Poland, within the category of free conferences.



Slides from all presentations should be available on Future Processing slideshare soon. Below some of my thoughts on topics that I was able to attend.

Keynote: Testable Software Architecture
Aslak Hellesøy

Good keynote from creator of Cucumber. At first I was a little bit worried because Aslak was talking about things which was also a part of my talk 🙂 However in middle point he change direction. The only regret that I have is it was quite basic stuff. I identify with statements that tests should be as fast as possible and feedback loop should be as short as possible. Also he told how to maintain architecture in a testable way.

Introduction to machine learning
Marcin Drobik

Quite nice introduction to Machine Learning. I did expect something totally different, but I enjoyed theoretical stuff. It made me think that stuff that I learned at my University can be used for real needs. Marcin did simplify things as much as possible, so definitely it was good “Introduction”. Mission accomplished!

SQA in TestOps era
Dawid Pacia, Tomasz Janiszewski

From my perspective this presentation was rather basic. Short feedback loops, automation everywhere, monitoring- that kind of stuff. However, if someone was there to check if this whole “DevOps, TestOps” culture is for him/her then it could be really interesting.

How to increase the value of unit tests?
Michał Kopacz, Łukasz Wróbel

The only one presentation I did not like. Maybe because of PHP source code examples, maybe because of presentation flow. I just don’t feel it. Also, I did not agree with certain statements and would like to discuss them with speakers someday.

Developer on detox
Michał Płachta

This one was great. If you haven’t seen that then honestly you need to watch recording as soon as it will be published. Presentation about being aware of our limitations- don’t judge too soon, don’t make decisions only based on opinions without facts. Love it.

SOLID Page Objects — Screenplay Pattern in action
Tomasz Kras

Another really good presentation- this time much more technical. Tomasz describe briefly Screenplay pattern which is “Page Object Pattern” on steroids. Very, very, very good introduction.


I talked about Evolving Architecture from a totally different perspective than usual (4Developers 2017, Confitura 2017, JUG BB Meetup, IPIJ). I tried to use my experience with quality assurance from various projects and connect them with my topic. I regret that I didn’t change description and topic name- these talks are quite different (about 50% of this presentation is different than “basic” Evolving Architecture).

You can find slides from my talk here.

Best talk!

As far as i know my talk was rated by conference attendees as the best talk of Quality Excites 2017 with rating 4.90! Thank You all! 


What I liked:

  • Food! Please, don’t even think about change 🙂
  • Immediate feedback boxes:

  • Block A lecture hall,
  • Countdown speaker timer 🙂

What can be improved:

  • Web page. I was not able to share direct link to any presentation. Its (a little bit) annoying from speaker perspective, but also from attendee perspective.
Quality Excites 2017 review

Confitura 2017 retrospective

Last weekend I have attended Confitura 2017 conference. This year not only as a participant, but also as a speaker with my “Evolving Architecture” talk! I must admit it was my dream to speak at this event someday. I don’t have enough words to explain this feeling 🙂 I always thought about Confitura as one of the biggest and the greatest Java events in Poland. Being a part of this was truly awesome!


mid-sized building blocks and hexagonal architecture in real life
Jakub Nabrdalik

Jakub focused on (underestimated sometimes) package-level architecture. His basic statement was to divide source code using package-by-feature, not package-by-layer approach. Then he shows how to better hide class visibility using my beloved package-private access scope. I really, really enjoyed this presentation.

Slides here.

Studium przypadku wystarczająco dobrej architektury
Jakub Kubryński

Good presentation about high level approach to create “good enough” distributed architecture. Kuba point out that e2e tests are very expensive and should cover only really critical path. Also he mention that performance tests are far more expensive than e2e tests and should be skipped. His solution instead is to provide good monitoring. I really liked approach where you can allow pushing bugs to production but only in case that these are not critical and you can deliver fixup within minutes or hours. And you can achieve that only with good and quality unit and integration tests.

Slides: here.

DDD: Q&A – czyli co gryzie świadomego programistę/programistkę
Sławomir Sobótka

This talk was about asking good questions while using DDD approach. I need to admit that I was a little bit nervous before my presentation to be 100% focused on Sławek talk. However this session for sure was for people with at least some experience with DDD. Again there was CQRS approach and statement that CRUD APIs can exist alongside with REST API and cooperate.

Testy wydajności z Gatlingiem
Andrzej Ludwikowski

Really nice talk about testing in gatling (actually its my favorite performance tool at the moment). Source code examples were quite basic and straightforward (which was really good if you look at gatling first time). I really enjoyed first part of presentation where Andrzej show a few popular problems which can cause false-positive tests results and in the end didn’t show performance problem – which is basic idea of these kind of tests 🙂

What’s more – maybe I did found my next pet project! There was a question how to compare previous tests results with current (to find delta) and there was no answer to this question at this session. I’ll need to investigate this topic and if there is nothing out there than small tool which will analyze two gatling result files and draw diagrams (or just put these data to grafana board, as someone in the crowd suggested) would be nice.

Slides: here.

Code Review – how to do it better?
Sebastian Malaca

Good talk about very important topic. I really like approach with very small merge requests, however I did not feel how to implement this approach in my current project. But whats most important. This session made me think about CRs once more. For sure its time to rethink current approach in my project and talk about this topic on next retrospective meeting.

Slides: here.


I did talk about “Evolving Architecture” (I did this talk also at 4Developers conference and BB JUG recently, and also have one smaller version which was delivered for IPIJ). Each time it was a little bit different, each time with different energy and “flow”. Would I do it again? Definitely! I’m sure I will start next year in C4P for Confitura 2018! This feeling and energy is outstanding 🙂 Thank you all for choosing my talk during V4P and coming to see me there! I hope that I met your expectations.

My slides: here.


Great place, great people. Unfortunately because I was pushed to stand up early this day (~4:00 AM) I was too tired to stay long. Next year I definitely will come to Warsaw a day before conference to have enough strength for party 🙂

See you next year!

Confitura 2017 retrospective

SpreadIT 2016 – behind the scenes

SpreadIT 2016 is over! I would like to use this occasion to share my thoughts and show how much effort is needed to create free of charge, technical conference with more than 500 attendees. As some people can find parts of this article offending, please note that this is only my point of view.


A little bit of current situation

First of all, we are not connected to any company and never were. SpreadIT is totally community-based event. For sure, we are very grateful to our sponsors, because without them we would not be able to do this. What we do every year is to create an offer and send it to companies. Every year we have a bit more confidence that we will have enough money. If we’ve possibility to save some extra money – we use it for next year edition (In fact, we need to leave some money as we must print some posters etc. before we receive first money for the next edition).

At the moment conference “management” is just group of 7 people. And these people meet each other regularly on some online meetings. Besides, we have direct communication with each other on slack channel. Everyone of us is 100% responsible for some part of conference which means that it lies on your shoulders to deliver that part of event in time. Everyone can create own “team” to gain some help of course. But… there is not too many people out there who wants to use their free time to write emails, Facebook posts, tweets, do some coding, graphics etc. We are extremely happy when someone new join us (THANK YOU GUYS!).


365 days of preparations

I wrote above that everyone is responsible for some particular tasks. Let’s look at them more deeply:

  • Program – preparation include asking some well-known trainers with a lot of conference experience. We do this because we want new faces every edition. Then there is C4P – we need to look at them, often there is need to discuss particular topics if they (and creators) meet our requirements. Also we give possibility to do C4P by gold and platinum sponsors. But they also have to meet all requirements, and sometimes it could be somehow challenging- in one hand they are our sponsors, they give us money, in other hand – our priority is to establish best possible conference schedule. You can’t invite too much people, you can’t have less than some reasonable number,
  • Sponsors/Finances – we need money. Also we want to do some networking between our attendees and companies. Every company have some specific “culture”, sometimes there are specific requirements, sometimes there is a lot of questions. Imagine that you have to write a lot of emails to some official company mailing addresses (with a lot of redirections) to get sponsors. This part also include “keeping hand on money”, because at the same time rest of SpreadIT team ask you for money for their targets. That’s on daily basis for head of finance 🙂
  • Promotion – Facebook, Twitter, Media patrons, writing news, checking grammar, trying to post something concrete and interesting from time to time… Then preparing posters, advertisements, graphics, ids, folders, stickers etc.
  • IT – We have our webpage (which is all the time “under development” :)) – sometimes there are problems, we also have new ideas, requirements, needs…
  •  Logistic – Someone have to find place for conference, prepare coffee breaks, check audio, mics, adapters for macs or specific ports, order pizzas (find pizzeria which will do 100 pizzas in reasonable time :)), find places for sponsors on conference day, do “shopping”,
  • Strategic contacts – (new role which was introduced first time this year). Mostly discussions with particular contacts, but we found out that this role takes some responsibility which I described under logistics. Also help with charity action which we do this year
  • General coordinator – during preparation phase coordinator is responsible for conflict solving and scheduling meetings, but most important coordinator remove all roadblocks, so everyone can do “their job”. It seems like the most easy role, but in fact this is very serious, because responsibility that coordinator takes is quite big.



“Far side” of the conference

There are some behaviors that makes me sad:

In first 3 editions there were some people who just register to receive “free t-shirt”. They come in on registration, get their starter pack and then go back to home. Fortunately this year because of charity action we didn’t have this problem anymore. However, there were two or three comments like “we don’t like SpreadIT anymore because we didn’t receive free t-shirt”. I don’t want that kind of people on SpreadIT. Seriously.

A lot of criticism. I understand comments about cold pizza, about technical problems, about topic which didn’t meet participant requirements. I just don’t understand pure hate because we can’t afford something or we didn’t do something in particular way. Unfortunately we have small budget and this is always choice how to spent money. Don’t understand me wrong- We want all kinds of suggestions- we need to make a lot of hard decisions and its often about spending money this way or another. I just don’t get why some people have such hate for everything which is not “their way”. Live and let live. Really.

Registered people who don’t show up. It’s quite interesting, about 30% of registered people just didn’t show up on conference day. It’s fine if someone have to change their plans, many things can happen, but 150 people? Please understand that we have to prepare every single starter-pack, registration points, order pizza and many more. I know that you don’t pay for it so “just in case I will register”. Please have some empathy. 150 people is about 2hrs of additional work the day before conference for 10 people.

Bright side of the conference

There are still many reasons why we organize SpreadIT. For me it’s about some networking, about challenges, about growing up and, to be honest, about making my dreams come true. It’s a hard work, but on that day when I can stand in front of these 500+ people and say “we did it!”-it’s priceless. Especially if we did it good.

Call4Proposals and Call4Orgs 🙂


If you would like to speak at SpreadIT 2017 you can either wait for our regular Call4Proposals or contact me at daniel.pokusa(at)spreadit.pl 🙂

If you want to join us, meet cool people and make something great, do not hesitate and contact me or any other of SpreadIT committee member (mails here)!

 See you next year!


SpreadIT 2016 – behind the scenes

SpreadIT 2016 – What’s new at the 4th edition?

Unfortunately I don’t have too much time recently to write new posts. One of the reasons:  SpreadIT 2016.


As I’m part of this great community event I want to share some more info about this year edition:

  1. We decided to give up workshops
  2. Finally we change “Soft talks” path name to “Business and Personal Development”
  3. We want SpreadIT 2016 to follow simple rule: bigger, better, louder 🙂
  4. Our Team changed – we’ve got new people on board
  5. We will have more than 20 presentations (5 rooms parallel – look here)
  6. There will be more than 20 great professional speakers (Look here)
  7. We decided that we will no longer include t-shirts within starterpack. We can’t afford t-shirt for every attendee, and don’t want to (as in previous editions) give them only for “first X registered attendees”. So this year if one want to get SpreadIT custom and limited t-shirt then will need to help sick kids. We choose “Mam Marzenie” charity foundation as beneficent of special charity auction (done by “Allegro Charytatywni”). Every penny spend on our auctions goes directly to foundation and will help to make a sick kid dream come true! You can find these auctions here. Its just 15 PLN for each t-shirt (Of course you can be more generous!)
  8. We want to start one new “culture thing” related to SpreadIT. But for now it is a secret 🙂


Last year there was 500+ attendees, we served more than 70 pizzas (something about 560 large slices :)) and what is important – we are just a bunch of passionate people who want to do something good for local community. SpreadIT is not directly created by any company (of course we are very grateful to our sponsors!).

SpreadIT will be held on Silesian University of Technology in Gliwice on 19.11.2016. For more info visit our site: https://spreadit.pl/en. Remember that our event is totally free. Just go to our site and register for the event (And remember about our cool t-shirts!)

See you there!

SpreadIT 2016 – What’s new at the 4th edition?