My year in the PHP community - 2017

This is a personal recap of my path to become part of the PHP community in 2017.

This is a re-post of my contribution to 24DaysInDecember.


It all started with my first acceptance at a real conference in September 2016. I spoke at Code.Talks in Hamburg, Germany about the history of a framework my colleagues and I developed over the last two years. The primary intent of that talk was to give an idea why we intentionally ignored current framework approaches and built one upon practical thinking about the problems we needed to solve. However, when I attended the first sessions of the conference I realized that most talks were technically very deep. I became uncertain about my talk. During the speaker dinner Raimo Radczewski got in touch with me because we both were supposed to give talks about the same topic – CQRS. His talk was scheduled directly before mine, so he was really kind and send all his attendees to my room, which was quite filled with about 350 people. The next day I read the feedbacks to my talk in the conference’s mobile app. My fear confirmed and most of the feedback was quite negative about missing technical depth and proof of statements I made. There was also positive feedback, so it wasn’t a complete miss. Even though I really enjoyed this conference I concluded that I am not yet ready to speak at big conferences, that I need to learn how to present technical details and how to express my ideas in a better way. In order to do so I signed a mission for myself.


I already was a regular speaker at our local PHP user group in Dresden (PHPUGDD) and like many user groups out there, we also lacked speakers and topics to fill a whole year with interesting meetups. I also found that the user groups were quite disconnected, so the idea grow to visit all PHP user groups in Germany to make connections, practice speaking in front of smaller, but equally critical audiences and to see what we may can improve in our local user group. As I already was in touch with Stephan Hochdörfer I thought the Frankfurt/Main PHP user group (PHPUGFFM) would be a good start for this journey. (And it was!)

I also was uncertain about the outcome of all this and if/how my company is supporting my private mission. So I decided to bear all the expenses myself, to do a review at the end of the year and then to decide what kind of deal I have to make with my company or myself.

Tackling more technical details by digging deeper when researching and creating talks was on the roadmap, too. I decided to reactivate my blog and started collecting ideas to write and speak about.


DRS 🛫 FRA. I had three hours to prepare my slides in the hotel room before Stephan picked me up for a short snack and took me to the meetup location. I was very busy the weeks before at work so I only had a lot of changes in mind that still needed to find their way into the slides. I intended to talk about the same framework as I did at Code.Talks, but with focus on the implementation. So I ended up adding a lot of code to it in a tiny hotel room in Frankfurt. We entered the meetup location and I was warmly welcomed by Andreas Heigl and Sebastian Feldmann. I didn’t know at that time, but both will play a key role in my mission later on. Andreas, who is also organizing PHPUGFFM, gave a nice intro about the user group (the presumably oldest one in Germany) and started a short introduction round through all attendees. I was giving the last talk that evening and spoke for about an hour. Because I spoke about the details of code I wrote myself, I was very confident what I am talking about and had a good feeling when answering intense questions in the Q/A round. The evening ended up with some good discussions and a good sleep.

Fun fact: This meetup was also the first time that I met Marco Pivetta without knowing it was him. A couple of days later I saw this thread on Twitter and it took me a while to realize that it was one of my slides and that Marco was calling it “creative”. If you know Marco, it’s kind of a compliment. 🙂



Stephan immediately returned the favour and flew over to our next meetup in Dresden. I am pretty sure he would have come regardless of my previous visit in Frankfurt, but I keep telling myself that his talk in Dresden was a payoff of my mission’s first milestone. 🙂


Still thrilled by the past two meetup experiences I couldn’t wait to schedule my next milestone and got in touch with Christoph Lühr who is organizing the PHP user group in Berlin (BEPHPUG) and submitted a talk for their next meetup. Again I was talking about our framework with focus on implementation, but with revised slides. This user group only has three slots of 20-30 minutes and all talks must be given in english. So I needed to trim my 60 minutes talk down to 20 minutes and had to do it in english – for the first time ever. That really pushed me far out of my comfort zone. Even though I write and read a lot of english texts, speaking is a different thing. But I recalled my mission which included me getting out of my comfort zone – and told myself: Let’s do this!

DRS 🚘 BER. I was a bit early at the meetup location when one of the organizers asked me if I was speaking and wanted to check the projector. There was a very short user group and no host intro. I was first to speak this evening so I did my best to not overrun the 30 minutes talk slot and opened the Q/A round after 25 minutes. No questions. I ended my talk with “Thank you for listening.”. Half the audience stood up and started chatting with each other. I felt a bit like “Why am I doing this here?”. In the break I reached out to Frank Sons who is organizer of the PHP user group in Hamburg (PHPUGHH). He was accidentally in town for a client and helped out to fill the meetup slots. I took the chance to ask for a talk in Hamburg later this year. I also met Tomáš Votruba and Ondrej Machulda. Tomáš is one of the organizers of the PHP user group meetups in Prague, Czech Republic (Péhápkaři) and he was touring around PHP user groups as well.

BER 🚘 DRS. On my way home from Berlin I reflected this meetup with the strange feeling that most attendees were not really interested or engaged in having a social event among friends to learn something. They were like watching TV – to be entertained instead of being involved. The three other speakers got almost the same reactions. That was definitely not what I expected from a town like Berlin. On the other hand I was quite happy that I mastered my first english talk without bigger struggle. In fact I found it comfortable and more fluent to not switch between technical terms in English, German sentence structure and half-German-half-English (we say “denglisch”) words. From a German point of view English also offers to build shorter sentences to the point. That especially helps if your day-to-day vocabulary is a little bit rusty.


Tomáš Votruba checked in and gave a talk about code quality tools at our local meetup. Another connection that paid off! We also had Vladimir Reznichenko, author of the PhpStorm Plugin “PHP Inspections (EA Extended)” and Ondřej Mirtes, author of PHPStan, in the house. It was one of our meetups with the highest number of attendees.


April was also the month the PHP USERGROUP DRESDEN e.V. effectively started to organize the annual PHP Developer Day. Since we founded a legal club in 2016, we decided to lift this event as a community with no primary company in the background like there was in the previous two years. So we came together and made a plan, scheduled tasks, prepared speaker invitations and listed potential sponsors. Our main goal was to double the number of attendees and to create an event our speakers and our attendees will feel comfortable at and will recommend or visit again. I immediately had a lot of fun doing this and felt the big opportunity to move something, to do something useful inside the sphere of our local PHP community.


In the first week of May I got an e-mail from Andreas Heigl telling me that a speaker canceled for PHPkonf in Istanbul and that they desperately needed someone who can talk about CQRS and Event Sourcing. Surprised I was heavily struggling with that offer for four reasons: First, I didn’t want to go to big conferences. Second, travelling to a foreign country always costs me quite an effort to do it. Third, the conference was on my wife’s birthday. And fourth, I was a bit afraid of the political situation during the elections in Turkey. Then I saw this line-up and immediately knew I would regret it, if I would not say “I’m in.”. So I did and literally two hours later Emir Karşıyakalı contacted me and handed me over a hotel and a flight booking. All my concerns were overwhelmed by the excitement and the challenge to bring up a talk about CQRS and Event Sourcing in just two weeks.

I took a week off of work to research and prepare my talk and slides.

DRS 🚘 TXL, TXL 🛫 IST. I was told that there will be a shuttle picking me up at the airport. No sign, no shuttle. I went outside the airport building to have a look if it is waiting outside. No sign, no shuttle. I went back in and realized that security checks are not located before you get to the gates, but straight at the entrance of the building. So unpacking all my equipment again, going through security check, back to the arrival exit. Right there I saw Andreas waiting as well. After texting Emir we were picked up some time later and got to the hotel in the center of the city. At check-in we met Juliette Reinders Folmer, Elena Kolevska and Nikita Popov who warmly welcomed us and we decided to have dinner together somewhere in the city. It was such a nice evening full of empathy, curiosity and awesome Turkish meal. I didn’t feel like a stranger even though only Andreas and I have met once before. (And needless to mention my imposter syndrome caused by one of the PHP 7 heroes (Nikita Popov) enjoying his meal right next to me.)

Rasmus Lerdorf joined us the next morning. He was giving the keynote to kick off the conference. Meeting two people that defined my work life for quite a time in two days is not bad, right? A couple of minutes before the keynote, Emir told Rasmus that there will be a simultaneous translation of the talks and we should speak slow to give the translator the chance to keep up. Rasmus immediately joined the circle of speakers in front of the main stage and gave some advice how to handle this situation. In the loveliest and most positive temporal meaning: This was a picture of daddy teaching his kids, that I will never forget.

My talk was one of the last slots, so I had the opportunity to see a bunch of very known speakers and good sessions before I entered the stage. Seeing others talking always calms me down, because you realize there is no such thing like a perfect presentation. There is always someone double-clicking the clicker, rushing too fast through slides, losing thread after an interruptive question or struggling to find the right words in a foreign language. You also get a good feeling for the audience. Are they engaged? How difficult are their questions and do they appreciate the effort put into the event, the topics and the sessions. So if you are new to speaking or plan to speak at a conference, try to get a slot after some other talks. It will reduce your nervousness. Even though I heavily suffer from imposter syndrome and inner flurry, telling myself we are all developers, coincidentally sitting in the same room to learn something new, helps me to slow down my mind and speech when I am up for speaking.

After the conference everyone (speakers and attendees) were invited to a diner in a restaurant nearby with a beautiful view over the bay of Istanbul. I was listening to first-job tales by Rasmus, Rafael and some others. Most of the time I was just listening, inhaling the spirit of that very evening. And I was glad that I jumped over my shadow and managed to take that opportunity.

On the next morning I originally planned to leave early to the airport to avoid stress by rushing through a foreign country and airport. Just to be sure I won’t miss my flight. There is one thing I really don’t like about travelling: Scheduled travelling. However, as I was waiting in the lobby of the hotel Emir rushed in and asked if I wanted to join the breakfast and sightseeing tour and promised we’ll be back in time to catch my flight. I tempted to say no, but again there was that feeling of future regret letting me say “OK.”. Andreas, Rob Allen and me, squeezed in Emir’s car, drove off to the asian side of Istanbul to have breakfast in a traditional tea house with a diversity and mass of Börek from another store nearby. Some more speakers joined us. Turkish tea glasses have no handle and they are filled up to the edge with very hot tea. No one was able to drink it before it cooled down. As good developers we tried to improve the situation by pitching a better solution (handles) to the waiter. That funny moment expressed the spirit of the whole weekend.



Tomáš Votruba invited me to speak at their next meetup in Prague. A couple of days before I released a new version of one of my open source projects and decided to speak about its usage. Two of my fellow user group organizers joined and we had a great meetup and social in Prague. That was the second time the whole speaker exchange idea worked out pretty well.


Sebastian Feldmann and I were on schedule for our next local meetup. Sebastian introduced us to his open source PHP backup utility (PHPBU) and he was great fun to watch speaking. After the meetup Sebastian and I were going same direction to the public transport and his hotel. I remember that we were chatting about technical stuff at the tram station for like hours before tiredness told us to go to sleep. Third strike for connecting to other user groups.


DRS 🛫 MUC. The main office of my company is located in Munich. Now and then I am travelling for work to Munich and because I was on my mission I sent a message to Mathias Burger if I can give a talk at the PHP user group in Munich and pitched my framework talk. He replied very quickly and confirmed me on the schedule. There was a very warm welcome and a comfortable atmosphere when I entered the meetup location. Everyone was supposed to put on a name sticker to simplify the social communication, a lot of food and drinks for free and a tough number of 70 attendees! Luckily Sebastian Feldmann – a familiar face – was there, too. Again I had the last slot of the evening and assumed the audience already got a bit tired because it was around 10:30pm when I started the presentation.

I opened the Q/A round after 45 minutes and I was blown away by about 20 raised-up hands all asking intense questions and giving a lot of positive feedback regarding my work. About one hour later I was able to grab me a drink. Now I was the one being tired.

As my brain was cooling down, Lars Röttig came over. He is one of Magento CE’s core developers and told me that they also try to apply CQRS within Magento as part of a huge refactoring and if I may can help out. I was flattered. We’re still in contact from time to time, but a real coding session didn’t happen yet – unfortunately. But it will eventually and I am looking forward to it. If you are in Munich and there is a meetup at the same time. Go there, I can totally recommend it!



Occasionally I read about something called “WeCamp” on Twitter, but never had the time to follow up on the links. When I met Juliette and Stefan Koopmanschap in Istanbul I learned that Stefan is running this “WeCamp” and that it is a 5 day event with tech people left on an island, building teams with a coach, working on “something” and having loads of fun. Now they got me and I decided to buy a ticket. If I’m not mistaken, it was the first ticket sold this year, because I remember refreshing the website every 10 seconds to see the order button becoming active. 🙂

DRS 🚘 NL, NL 🚤 De Kluut

Dropped off on the island, after a short introduction to everyone, we moved into our tippis. A bit later the team compositions and their coaches were announced. Stefan explained the intention of the whole event. Juliette was my coach and together with Marieke Bednarczyk, Thijs Hulshof and Michael Harris we started a brain storming session right away. This special place made it very easy to feel comfortable and productive, even though most of us didn’t know each other. Anyway, I don’t want to spoiler to much about this event, you need to be there. But let me say a few more words about the take-aways.

All of the coaches were very well known people from the PHP community and I was very happy to meet them all in person, to get the chance to talk to each of them during these 5 days. On a regular conference you probably don’t get the opportunity to find a quiet spot and have a face-to-face chat with Michelangelo van Dam, Chris Hartjes, Jeroen van der Gulik, Jeremy Coates, Steven de Vries and of course Juliette, when you barely know them.

After a while I also realized that this event is not about tech, not about computer skills – no it was about people. How do I behave in a foreign team? How do I solve conflicts or different points of view about something? How do we agree on a mission together? What do we want to learn and how do we accomplish that? How can I serve the team best? What speed do we go? These were some of the questions I came across on that island. The welcoming atmosphere, the community spirit and the absence of real world problems gave me space to think about it – without the need for a quick answer. And that was an experience that changed me – in a very positive way. It changed how I think about my job and the definition of the term “team”.

The moment I won’t forget about WeCamp is: Juliette, Michelangelo and me, sitting in the main tippi around midnight, a crackling campfire in the back, playing cards on a low table, Juliette served some scotch, Michelangelo offered a cigar and we were sharing stories. I am very thankful to all who made this event possible!

Before we left the island, Stefan called all the teams to the main tent and started a lottery for Enfys and a ticket for the PHP North West conference (PHPNW) in Manchester, UK. I was lucky and won the latter, happy to see a lot of the WeCamp people again in just a couple of weeks.

De Kluut 🚤 NL, NL 🚘 DRS


The last 4 weeks before our own little conference were really stressful, but in a positive way. We were very late with all the print media, still had to answer a lot of sponsorship e-mails and we were checking our first ticket sale ever like every 5 minutes. But we managed to finish all tasks the day before the day. The last ticket was sold at the entrance and we were able to double the number of attendees compared to the previous year. So we achieved our main goal: Reaching more people!

I was giving the keynote with the main intent to provide some initial information about our user group, the speakers and to point out the importance of diversity and community spirit. But I must admit that I was not prepared well and forgot to talk about some important points. I actually don’t know if it was too much excitement or just fatigue or both.

Anyway, the whole day was a huge success for everyone who was there. The vast majority of feedback was absolutely positive, by speakers, attendees, sponsors and the organization team. Our speakers did an amazing job and provided fun and intense material. The day past way to fast for my taste.

On the next day we met most of the speakers for a brunch in the old town of Dresden. We went for a short sightseeing tour and talked about projects, tech and travelling. Later Marco and I were going to his hotel and ordered some drinks in the lobby. We were discussing Event Sourcing implementation approaches and async PHP. And I wished we could have those chats more often, because it is mind blowing to brainstorm with Marco.

On Sunday, two days after the conference, I was completely wasted and unable to get off my couch. But there was a big satisfaction in me and I already started to imagine next year’s PHP Developer Day.


DRS 🛫 FRA, FRA 🛫 MAN. Next stop: Manchester! I was a bit late with my flight booking and had to spend more money than I liked. Still, I didn’t have a hotel yet. I knew some of the WeCamp people would be in Manchester, so I asked for a recommendation in the WeCamp slack. Michael, who was on my WeCamp team, responded quickly and offered me to stay at his flat during the conference. This is how community works! I hope one day I can return the favour.

Stephan and I checked in at the conference centre (we were on the same flight), Michelangelo welcomed us, sitting alone at the front desk waiting for his workshop to begin. After a while we also met Derick Rethans who took us on a detour through the city to a nice pub where we had some “interesting” beer flavours. At Friday evening there supposed to be a Hackaton and I was eager to attend it. That evening was the first time I realized that this event is all about socializing. Almost no one was actually hacking. There was a bar area and a courtyard with heaters and pavilions where attendees and speakers spent time to talk and relax. This was such a pleasant atmosphere. I was very happy to see Juliette again, who joined us after her workshop.

There was an unconf track on Saturday that I submitted a talk for. I was lucky and was scheduled for 3pm. Juliette’s talk preceded mine, so I had the chance to see her speaking for the first time. I love her passion for community driven projects!

Looking back I didn’t attend so many sessions, but I do remember a lot of very good discussions with new people, like Dan Ackroyd author of the PHP Imagick extension and Mark Baker, the man behind the Diversity ElePHPant initiative that I was backing at kickstarter. I needed to shake his hand and say “Thank you for all this. It is so very important!”. He is such a polite and inspiring person carrying a huge version of Enfys (literally and metaphorically).

During the closing keynote by Jeremy Coats and his organizer team a sudden twist turned the whole audience into a big ball of emotions. He announced that after 10 years of PHP North West they need a break and that this was the last PHPNW, for now. I was totally feeling his conflict – having an awesome event but all the hard, exhausting work to get there. And everyone else was, too. I was so glad in that moment that I had the chance to enjoy this conference and salute to Jeremy and the organizers.

After the conference I attended my first WurstCon! 🌭



My good friend Raimo, who I first met at the Code.Talks in Hamburg 2016 and had lunch with in April 2017, organized the first edition of the SoCraTes day in Berlin and even though it is not a PHP community event, I was eager to attend. I even had a ticket already. But when the day came, after heavy travelling to Manchester and in behalf of my job the weeks before, I was completely exhausted and my body conked out. Heartbroken I had to cancel this event. 🙁


DRS 🚘 Mannheim. It was half past 10pm when I arrived at the hotel. Stephan told me that Michelangelo stayed at the same hotel, so I asked him, if he was still up for a coffee. Dumb question. This fellow is always up for a coffee. Far after midnight we found us still chatting in the hotel bar, drinking coffee.

The unkonf is kind of a bar camp with a session planning at the beginning. But before Stephan started the voting and to distribute rooms, Michelangelo gave his keynote about “Community and me”. He told us his very personal story of how he faced the ups and downs in his youth and the turning point where he decided to start a new life. I had goosebumps all the time during his talk. It was a hammer to the face, a reminder of how privileged we are to be part of a tech culture, having all these possibilities to choose our own paths.

The unkonf talks were amazingly diverse in topics and of high quality. All speakers delivered great content in a very relaxing atmosphere. The day was over very quickly. Andreas spontaneously offered a GPG signing session after all sessions were over to build a circle of trust. It was fun to see a crowd of geeks staring at their laptops and waiting for key servers to catch up with synchronization.

We convinced Stephan to join us for dinner in the city. Even though he was tired and started to get sick, he was in. He drove us back to the hotel, where he gave a private #Disco talk to Michelangelo and me. He really was pulling through that day!

Mannheim 🚘 DRS.


DRS 🚘 Warsaw. Dariusz Grzesista and his team organized a sightseeing day in Warsaw one day before the conference. An impressive city with a lot of history. Our last stop that day was a city museum. There I met Alain Schlesser for the first time and we had great discussions about coding and architecture.

Warsaw 🚘 Rawa Mazowiecka. The venue was a huge spa resort in the middle of nowhere. One really could have get lost in the endless hallways inside the hotel, if there weren’t number signs on the walls.

Again I was able to meet Andreas Heigl, who gave his first keynote ever in front of a thousand people, Michelangelo van Dam and Derick Rethans. I was also lucky to meet Mariusz Gil, Michael Bodnarchuk, Arnout Boks, Ivo Lukač, Mihail Irintchev, Nikola Poša and many more. We had a constant spot at the bar where we met during the conference days.

Andreas’ keynote was about how to get the most out of a tech conference and was really inspiring and intended to help especially people who attend a conference for the first time or are too shy to join a discussion with speakers or other attendees. Remember the pacman rule?!

PHP CE is a conference that starts travelling through Europe in the next years. I really like that idea. Our user group and PHP CE started a PHPartnership just before PHP Developer Day and Dariusz proposed to let the PHP CE conference happen in Dresden in 2019 which would be a big deal and great opportunity for our local community and the city. Anyway, we still have a way to go from 180 attendees to over a thousand in less than two years. But I want to make that happen!

Rawa Mazowiecka 🚘 DRS.


DRS 🚘 Münster. Benjamin Cremer invited me to speak in Münster. Usually they only have one talk per meetup, but since I had a long way over to Münster, they allowed me to give two talks. This user group is special: They are about 20-25 people who attend the meetups regularly, but those attendees do understand how to ask the hell out of you.

It was nice to have the last remote event this year in such a small and charming round. At the end of the meetup we talked about an extension to my presented piece of software in detail. So when I got home I started working on it and it was done in three days. Community driven development!

Münster 🚘 DRS.


Our second last meetup in 2017 took place in my company’s office. I was giving the user group and host intro. We had a first-time speaker with Frank Jogeleit talking about API Platform. He did a great job. Because we were lacking a lightning talk I decided to shortly present my experience at PHP CE in Poland, talked about our goals for the next PHP Developer Day in 2018 and ended with a call for volunteers. Two people stood up and offered their help. That was amazing!

I was also happy to see new faces in the audience and our crowd becoming more diverse – a goal we were working on for the past year and will keep working on in the future.


Looking back to my initial mission statement, I kind of failed being focused on the target. For example I didn’t manage to visit the user group in Hamburg, which is definitely on top of my list for next year. I also failed to resist speaking at conferences. But hey, circumstances lead to chances. You have to take it or leave it, right? I am very happy to end my community year in my hometown with a local user group meetup giving a short talk about the news in PHP 7.2. It makes me looking forward to an amazing year 2018 among old and new PHPriends.


I had an incredible amazing year and made a whole bunch of new friends which I know will have positive influence to my life and career in the long term! I learned a lot – personally and technically – and had loads of fun.

Being on the road that often of course has implications at home and at work. I learned that a planning meeting (sounds weird, I know) with my wife once a week helps to avoid misunderstandings and stressful moments when suddenly a reminder pops up in the calendar. I also created the habit to take one more day off after a conference before I get back to work. That helps to gain new energy, get some sleep and decide what topics/technologies that I have seen I like to follow up on and maybe introduce to the company.

Like I said at the beginning, I not only wanted to recap my last year but also sum up my expenses and make conclusions on how to deal with a community life in the future. So I did the math:

🚘 I drove ca. 5.800 km by car to attend community events. 🛬 I flew ca. 7.700 km by airplane to get to conferences and meetups. 💸 I spent ca. 7.400 € for community activities (not all listed here). 🇪🇺 I travelled to 5 different countries. 🏖 I spent 90% of my vacation days in community activity. 👫 I gained two new colleagues out of community connections. 🌈 I gave away 7 Enfys (Diversity ElePHPants) to great people I met. 🍹 I drank massively less alcohol and more water during the whole year. (A very good thing!) 🍔 I ate way more fast food than usual. (Not a good thing!) 📝 I managed to write 6 blog posts of which 2 are already published (this one not included). 🐣 I increased the number of Twitter accounts I actively manage (with others) from 1 to 4.

Now I have a way better idea of what I can or have to put on my company’s table for negotiations and I’m curious about the outcome. I also have a better feeling for planning with my family, thinks that work or not work out.

After all, I am very grateful for the countless take-aways I was able to collect on this trip, unable to put them all in words here. So let me say “Thank you PHP community!”.


Thank you!