A year of Poznan Scala User Group

Here is a story of the first year of “Poznan Scala User Group” and the lessons we have learned during that year. We started on January 14, 2016, and since that day, we have already organized 9 meetings. Right now, the group has 187 members.

Lessons learned

It can begin with a tweet

A new meetup can start with a tweet written by someone else:

At the time, we regularly had Scala-related meetings at the office, hence the idea was not very revolutionary, just slightly different. It quickly gained traction, and a few weeks later, we had the first meeting.

Corporate attitude does not help

Jacek must have been terrified during our first Skype call. I was terrified after the call because I realized how many corporate behaviors I managed to incorporate in my private life. I am not sure how many times we said something is impossible because we are still waiting for an email response, someone else’s decision, etc. Busy waiting is a thing in real life too!

You do not need to be an expert

I am not sure if anyone still remembers that, but the group (and probably all user groups in general) was created to learn together, not to be taught by one person. The first topic (ReactiveX) was chosen because of hype-driven development and a desire to use it at work ;)



You should not be afraid of speaking at a meetup because what really matters is showing some results and commenting on what you have learned. What if you tried something and failed? That is even more interesting! Especially if you remember your mistakes and can tell us about them.

You do not need to take good pictures either ;)

The first PSUG picture ever taken. The room was not empty, but I was not paying attention to the "marketing" value of the pictures.
The first PSUG picture ever taken. The room was not empty, but I was not paying attention to the "marketing" value of the pictures.

You cannot have too many pizzas

Two or three times, we ordered enough pizzas to feed a small army. Obviously, it is not a problem anyone should worry about. If you have redundant pizza, someone will take it. It may be the next group having a meeting at the same location, people working there or you can have a pizza raffle ;)

I would like to mention that pizza is mandatory. We tried to substitute pizza with chips and sweets only once, and we will never do it again ;)

So many pizzas! ;)
So many pizzas! ;)

You can have a great meeting even if only three people show up

In the summer, we wanted to meet at a bar instead of organizing a talk, mainly because it was challenging to find a speaker. Three people (including two organizers) are not a group big enough to announce a success and post pictures of programmers drinking beers. Despite that no one was disappointed, we had an interesting discussion, and the beer was awesome ;)

Location matters

If you want to gather a lot of people in Poznan, organize your meetup at Poznan University of Technology. I wonder whether we will ever gather so many people in any other location. Now we organize meetings in the HolidayCheck office. Not only is the office awesome, but also if you want to commute by a tram, there is no better location.

So many people! ;)
So many people! ;)

Talking is not everything

When I was preparing the presentation about Akka Persistence, I realized that I was bored. I could not stand the topic, and my talk was dull. It was necessary to change it dramatically. Two days before the meeting, I decided to replace a significant part of the talk with a more practical exercise.

I created a low-tech version of a workshop. Instead of using computers and writing code, attendees had to design an Akka Persistence-based system using only a whiteboard and everything they managed to memorize.

I think it was quite successful and significantly better than a two-hour-long monologue of a speaker trying to show everything and explain even the slightest details.

I wanted to check what happens when I prepare a short introduction and let people work on solving a "toy problem."
I wanted to check what happens when I prepare a short introduction and let people work on solving a "toy problem."

Cancelling a meeting is not the end of the world

Canceling a meeting is not the end of the world, but I have learned that there are two ways of notifying attendees: the correct one and the one I choose. Not everyone received the message, and some showed up just to see an empty room. Probably in case of canceling an event, it is better to risk spamming people and send more messages than necessary than to send only one update and hope that everybody reads it.

Things to improve

Talks for beginners

When we ask attendees about topics they expect, there are three groups of people. The ones who want to hear more about advanced functional programming concepts, people who want to hear about data processing and big data, but the majority want a beginner-friendly introduction to Scala.

Preparing such talk is tough not only because we must decide which concepts are fundamental and what can be omitted but also because teaching is more demanding than sharing our own experience. Also, a single introductory talk is not enough, and we need a series of meetings. Even though preparing them will be challenging, such talks may significantly increase the number of people coming to our meetups.

See you soon!
See you soon!

Remember to share on social media!
If you like this text, please share it on Facebook/Twitter/LinkedIn/Reddit or other social media.

If you want to contact me, send me a message on LinkedIn or Twitter.

Would you like to have a call and talk? Please schedule a meeting using this link.


Bartosz Mikulski
Bartosz Mikulski * data/machine learning engineer * conference speaker * co-founder of Software Craft Poznan & Poznan Scala User Group