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?

YES!

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 🙂

Discount!

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

About

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.

https://qualityexcites.pl/en/

Attendee

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.

Speaker

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! 

Organization

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!

Attendee

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.

Speaker

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.

SPOINA Party

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

How to become a DevOps? @ University of Silesia (11.04.2017)

DevOps (a clipped compound of “software DEVelopment” and “information technology OPerationS“) is a term used to refer to a set of practices that emphasize the collaboration and communication of both software developers and information technology (IT) professionals while automating the process of software delivery and infrastructure changes.[1][2] It aims at establishing a culture and environment where building, testing, and releasing software can happen rapidly, frequently, and more reliably.[3][4][5]

wikipedia

How to become a DevOps?

What DevOps usually are responsible for? Why such a role starts to be more and more important during last time period? This speak is an approach to answer these questions. Its a talk for you if you want to find out if becoming a DevOps is right for you. You will also find out what technologies are used on daily basis and how to start career as a DevOps in world of complex systems and fast, secure deployments. Basically if this blog post looks like something interesting for you, then thinking about become a devops is a good idea.

Presentation will be held in polish.

When and Where?

11.04.2017, 14:00 – 15:30

University of Silesia, Faculty of Computer Science and Materials Science
Institute of Computer Science
41-205 Sosnowiec
Będzińska street, 39
Room B-4

Here you can find official info about event:

http://www.wiinom.us.edu.pl/sprawy-bieżące/1030

How to become a DevOps? @ University of Silesia (11.04.2017)

Evolving Architecture @ 4Developers 2017

4Developers Festival, 03.04.2017, Warsaw

Track: Application Architectures II

Location:

Hotel Sangate Airport *** 
17 Stycznia Street No. 32
02 – 148 Warsaw

Here you can find more info about this great event 🙂

Description

During development phase its very easy to cross the design boundary – we want to take care about all possibilities and potential changes that can happen in our project. On the other hand when we are under the time pressure we take shortcuts which could in the end increase cost of even simple changes. How to deal with “overdesign”? How (at the same time) don’t close for improvements and changes? When we should make crucial technical decisions and when accept technical debt? This session is about true stories, mostly about huge mistakes, but also sometimes about decisions which in the end were very successful. The session for all who don’t want to end up with project that need’s to be rewritten to add a new button. The session for all who cares.

Still not sure?

This talk is a result of last 6 years of my professional experience with more than 10 projects. And within these projects I was able to see bad things and of course … really bad things. After each of them I’d got a feeling that I will never make the same mistake again. What I’m really proud of – I kept that promise! I was making new mistakes each time 🙂 I dealt with “over-designed” systems and “under-designed”. I’ dealt  with “company frameworks” and “our own solution!”.

I would like to do retrospective about all good and bad choices that have been made in all of these projects. I really do believe that with every mistake that has been made we can be closer to deliver better software with more fun and excellence…

There is one great thing about “standard” design patterns (book by gang of four): each of them is not only a description of implementation and its name, but also description of pros&cons. This is in my opinion the most important thing about them. You have solutions with ready on plate information about their limits and possibilities. Knowing the  limits gives you much more power to deliver better and more flexible software. It’s not only about delivering solutions. It’s about providing software that can be adopted to needs, however without wasting time when it’s not necessary.

And this talk is about my vision how to find this balance in real world projects.

Afterwords

I did very similar talk a few weeks ago in Gliwice. This time it will be slightly different with lot of improvements.

Evolving Architecture @ 4Developers 2017

Evolving Architecture, Gliwice, 20.02.2017

It’s really nice to inform all of you that I will conduct one of my newest presentations: Evolving Architecture. It will be held in Gliwice, 20.02.2017 18:00 at Silesian University of Technology (room 903), AEiI Department (Akademicka 16). Short description below 🙂

Have you ever considered how your current project architecture will evolve in the future? Have you ever thought how your team will develop certain features for a client? How about possible over-engineering?

In general,  we always try to predict all possibilities and changes that the client may require. In the other hand under time pressure developers are being pushed to do different kind of “short-cuts”, which can increase cost of developing new features. How to avoid over-design, but without closing your architecture for all sort of changes that your customer will need in future? When certain technical decisions should be made? When technical debt should be accepted, and when is a need to avoid it?

It will be a story about bad decisions and failures, but also about those decisions that can save the day.

Presentation will be held in Polish.  You can also find Facebook event here.

Small update:

Evolving Architecture, Gliwice, 20.02.2017

Agile Silesia – Work in agile distributed teams. Cookbook

Usually I don’t have time 🙂 Last year almost every month I tried to attend Agile Silesia meetings. But every month something happened and I just postponed my “first time”. So I decided to change my strategy. I sent an email if they want me to give them a talk about distributed teams in agile oriented companies (The one that I have chance to give twice on InfoMeet conferences – in Cracow and in Wrocław).

Luckily people behind AgileSilesia had agreed. So I prepared my talk- added some new information, deleted some in order to meet 45min talk length requirement and finally I had a great pleasure to start attending these meetings 🙂

Here you can go through slides from my talk (Polish):

Now I have hope that I will find time for all of these great people in new season after summer break 🙂

Daniel Pokusa - AgileSilesia

Agile Silesia – Work in agile distributed teams. Cookbook

Work in Agile distributed Teams. Cookbook – IT Career Summit 2015

Second time I was able to talk about distributed teams in agile oriented companies (First time I have this talk on InfoMeet event in Kraków). This particular talk is mostly my personal story of mistakes and problems that I had to face on my daily basis at work.

IT Career Summit, Wrocław 26.11.2015

InfoMeet, Kraków 05.11.2015

Work in Agile distributed Teams. Cookbook – IT Career Summit 2015

My own classes!

Finally! My very own classes – Modern IT Systems Architecture are open. It will be conducted on Silesian University of Technology in first winter semester 2015/2016 and as far as I know I will have about 30 students attending the course.

Poster used for promotion (polish):

daniel-plakat-ansi

My own classes!