In good times and in bad times

A lot has been written about the PHP Community. How it is an integral part of why PHP is not dead. About who is part of the community. About how it helped people become better developers. About how people improved because of the community.

And most of that is about the PHP language. Almost all of us came for the language. But what makes the PHP-Community so special for me is that a lot of the people stayed for the friends.

Friends that are beyond “everything is fine”. Friends you can count on and friends that actually take care for each other.

Whether that is people enquiring about the health of others just because they were suddenly not that active on Twitter anymore. Or people making plans to more closely engage with someone to help them through a rough time. Up to realizing that there are people talking about their health issues openly in chat-rooms or in blog posts.

And I think it is great that we as a community stand together in good times as well as in bad times.

We for sure have our differences. And we can fight! Over almost nothing!

It starts with Tabs vs Spaces or VSCode vs. PHPStorm, and doesn’t end at deprecating dynamic properties.

We are also capable of toxic behaviour. There are some people that are challenging the community in every way. And there are even some that we had to say “no” to. To be able to become more welcoming and more empathic.

And especially in bad times, it doesn’t matter whether we have a background in WordPress, Laravel, Symfony, Drupal, PHP, or whatever else we started out with. What matters is that we are not afraid to say that not everything is fine. And that there are people that take care of each other beyond mentoring through the next development challenge. People that help each other out. No matter what!

And it gives me a tingling feeling that I can be a part of that.

Thank you all for providing such an overall safe space.

Handing over the baton

Some years back I was sad that PHPAdvent was not happening. And as the saying goes: If you are missing something, then you are the one responsible for it to happen. So I decided to make it happen. And I started this blog.

I invited people that I knew, to write about whatever they wanted. If it was something about the Community they feel at home with, that’s great but in the end I decided that it was their blogpost. So whatever the person felt right was right.

But gosh! That was draining. To be honest, it was exhausting. Starting at the beginning of November I reached out to get folks to write something for December. And that usually got me covered for the first few days. Of course – as time goes by – I got some more ideas of whom to invite for that year and about 50% committed to writing something. And a good number of those got their contributions in well in advance. And then there were those where I was literally having sleepless nights as, when the post should have been published, nothing was there. So I moved contributions around or wrote something myself.

And in these for me challenging times I learned one of the most important lesson for myself: When I told people the problem: There is no post for today due to reasons – I got one or two people writing something almost immediately. People do not want to see the project fail! People do not want to see you fail! Thank you Cal Evans! Thank you Stefan Koopmanschap! You saved me more than once!

In addition to this I learned so much from organising this project. I learned about the challenges of working with people from different time zones. I learned about different ways of handling deadlines. I learned about different ways to say “no”. I learned about diversity and that it is not really easy to get a diverse mix of contributions. I learned about different mediums of communication throughout the world, I learned about how hard it is to get contacts in some local communities.

And last year I learned how much easier it becomes when you share the burden between different people. Thanks Jonathan and Claudio for joining in.

And this year I learn how difficult it is to let go.

Jonathan and Claudio do an awesome job! Everything just falls into place. They struggle with the same things that I struggled with (usually between the 6th and the 10th to 12th there is a gap that needs to be filled somehow) but they manage to get over that with such an ease (from what I see) that I’m really envious! But it is still difficult to “let go”. To not have the final say in who’s going to write. To accept that we’re publicly asking who wants to contribute (That was an awesome idea – even though it wasn’t mine). To see that they are doing an awesome job without needing me.

Letting go isn’t easy. Handing over a project that is dear to me isn’t easy. But handing it over to people that do such an awesome job with it and that are so enthusiastic about it is the best that could happen to me!

So what do I learn from that? Try not to do it on your own. While it was fun to do it on my own it was much more fun to do it with others. And by inviting others and showing them how to do it and mentoring them, they can take over at one point. And then the most important lesson is: Hand over the baton! They will manage to do it on their own! I am still around for questions. But so far they didn’t need me.

So finding the right time when to hand over the baton might be a tricky part. Too early and they are not ready yet, too late and they think you won’t let them do it on their own. There is no mathematical solution to it. Perhaps if you think they are not 100% ready yet is the best point in time to give it a try. The missing stuff is then “training on the job”.

So the next time, you think about how to hand over this project of yours or how to pass on responsibility, think about who might just not 100% ready for it and talk to them! And the moment they ask you about taking over responsibility: Rest assured that they are ready!

ElePHPant Santa

During the last weeks we’ve read a lot about the community around the language PHP. And it seems to have influenced a lot of people.

And usually all the ideas about the community evolve around abstract ideas like learning or encouragement. Usually it’s all about non-monetary things.

But sometimes that’s not enough. And in those times the bonds of the community are strong enough to collect money to make things possible for fellow PHP-Coders that otherwise would not work. Whether that’s collecting money to bring a community member to the community or to collect money for the bereaved of a community member. People that can and want to, give a small amount. And these small amounts from a community add up. And make things possible.

And it’s one thing to reach out to the community to tell good stories. But it’s a completely different thing to reach out in bad times. To reach out and ask for help. But exactly that is it, what makes up a great community. That people dare to reach out in bad times and ask for help.

Yesterday I’ve seen this tweet by Cal Evans.

Go, follow the link and have a read.

Let’s stand together and make this christmas an unforgetable one not only for a kid but also for its parents. Because we can!

A big “Thank You”

This year has been quite overwhelming for me. I got invited to speak at conferences all over the world, visited a few usergroups in Europe, finally managed to attended WeCamp and met amazing people in real life that I knew only via chats and emails or not at all before we met.

And throughout these encounters every now and then there was someone thanking me for something I did. And I usually try to play that down. In my eyes that “something” isn’t noteworthy for me. It isn’t something “big” or “important”. It’s not something that I created to become famous. Usually that “something” was created to scratch my own itch. And suddenly people thank me for me scratching my itch. That somehow doesn’t seem “right” for me.

Accepting a Thank You for something that everyone else could have done feels weird. But the thing is: I did it. Not someone else. And what I thought is just my itch seems to have been the itch of so many other people as well. But they didn’t step up and scratch it. Some might not even have known that it was their itch. But by having it scratched others realized that it was “scratchworthy”. And so I came to realize that it’s OK to accept a Thank You. It’s not only for doing whatever people thank me, it’s also for realizing that something should be done. It’s for going from “someone should” to “I will”. For making a general wish actually actionable.

And even though I wrote about me in these lines so far, the same applies to everyone out there: Most of the awesome things created out there where created because someone was solving an issue they had, and not because they wanted to become famous for something. Becoming famous sort of happens along the way. I remember a friend of mine telling me that he didn’t understand “Twitter-Fame”: People stepping up to him at conferences just to take a selfie with him. But that was exactly the thing. Those people valued him for what he did for them, even without realizing that he did something. And by now every time someone steps up to me for a selfie (which doesn’t happen that often) I’m grinning for myself and mumble “Thank you too”.

So accepting a Thank You is still not easy (and I think that’s good because it shows me it’s not the default) but I can accept it now. And it is a nice way of getting a bit of reward back for time and effort put into that scratching my own itch.

Which brings me to the other side of that Thank You.

As I just said: Most projects where born by solving a problem someone had. And from that point on it also suddenly solved the same problem for a lot of people. So if you haven’t done so already, why not say Thank You to those projects, people, companies that made it possible to help you with your work?

Think about which projects, people of companies have actually helped you with your days to day job? Sit down (or stand up) and thank them! You might ask: “How can I thank them?” Well, nothing is easier than that: Write them a mail or a tweet with a plain and simple “Thank you”. Or a more elaborate “Thank you for your hard work that makes my life as Developer easier”. Or have a look around the internet to see whether there is an Amazon Wishlist to get something from or a Patreon you can support or a consulting-gig you can use to support the project. Or hire one of the developers for a certain amount of time to allow them working full-time on their project.

Say Thank you to the people that created your framework of choice, your DBAL of choice, your programming-language of choice, your WebServer of choice, your TLS of choice. Thank the people that provide your serverless-environment, your billing-plattform or your tax-return. And even if you pay for those services, that’s a matter of allowing them to continue to run the service. But that Thank You also shows them that it’s been the right thing to do in the first place. And that it’s not only a business but also something their customers value.

And isn’t this the best time of the year to say Thank You?

So from me a big Thank You to all the usergroup-organizers, all the conference-organizers, all the Chat-Channel moderators, all the volunteers that help keeping and making my language of choice awesome, all the maintainers of all the awesome libraries and projects, all the companies that support OpenSourceSoftware, all the people doing their share to make this community awesome and to everyone I forgot!

And also – last but not least – a big Thank you to you for reading this! And perhaps Thank You for saying Thank you?

Thank you…

Today I want to say thank you to two people who changed my life; two people without whom I wouldn’t be the person I am today and without whom you wouldn’t be reading this blog.


41e629489-32785881 I’ll start with Gero, who I started my studies at university with. After a short time there, we both ended up doing IT stuff for the student body; setting up computers and such stuff.

However, after our first attempts at the intermediate exams I took some time off, and he started studying something else. But, during my time off, he one day asked me whether I’d like to do some web-dev work for a university department.

Up to that point I had worked with FileMaker and 4D, and also dabbled with FoxPro (yes Cal, me to πŸ˜‰). I’d made some static websites as well. But my work with dynamic websites ended with my first encounter with Perl.

But he was convinced that I could do it. So, I bought myself a book on MySQL and that PHP-thingy he told me about. And on the 1st of August, 2001, I started doing web development with PHP and MySQL.

Besides my studies, I did all the things you shouldn’t do. I created my own Framework. I kept in my small bubble. And I only slowlyΒ started to realize that there must be others out there like me.

However, with time, I subscribed to the German PHP Mailing list and even had a brief encounter with an English Newsgroup. It was a great time – even though the product I was trying to create never launched.

And then 3 years later I graduated and went looking for a job. As a direct result of all the things I’d experimented with during university I got one. Actually, it’s the one I’m still doing!

I wasn’t employed for programming though, but soon they realized I could. So I started doing PHP again; a small fix for the intranet here, an interface to edit stuff there.

And slowly I went from the person fixing XPress-Layouts to the person that did programming and fixing XPress-Layouts. I ended up becoming the person doing programming, fixing XPress-Layouts – even managing development in the department.


darren And during that time my second friend, Darren, appeared. He was hired in our web development department (which I wasn’t – and still am not – part of) to bring in and adopt more modern methods.

One day he organized a workshop with Sebastian Bergmann where he invited me to participate in. That was my first encounter with modern development practices in PHP.

From what I recall, I was the only one who understood what was going on. The tools that Sebastian showed us were awesome, and helped me improve a lot of code I had recently created.

After that workshop I started testing, I set up Jenkins and Selenium-Tests. I even used it on a daily basis in my development work.

And then one day Darren invited me to a usergroup meetup at the university. I felt a bit strange between all those really knowledgeable people talking about IoC and stuff the likes of which I hadn’t heard of before. But, they explained it to me, and that was awesome.

One meetup followed another. And then one Day Darren asked whether I’d like to step up and help him organize the meetup. I did, and it was great. Well, actually Darren did most of the work, or reminded me what to do. But it was still great.

Then one day he said he’d step back! And there we were. Christian and I on our own. But it was great! We wanted the show to go on! So we did! And from there on the small user group prospered and grew.

And then one Day Darren again came around and asked me whether I’d like to go to a BarCamp he was organizing. So I said yes. And – BarCamp rule #1 – I had to do a talk. Me! Talk! In front of people! People I didn’t know! People that for sure knew much more than myself!

But it’s the rule. So I did it. And I still remember Talking about Zend_Form in front of Kore Nordmann and feeling like a complete idiot.

But I did it. And I realized that I actually was the one person in the room that knew the most about Zend_Form (OK, it was a small room!). I didn’t know everything. But I knew more than anyone else.

So, thank you Gero and thank you Darren for believing in me and pushing me beyond my limits. Without you I would never have started with PHP, and I would never have had an introduction to the PHP community.

Without you both I would never have met all the awesome people I’ve met. Without you two I’d never have been able to find people and to write about a community I am thankful to be a part of.

Thank You

A good end to a first step

At the middle of November my wife and myself were speaking about the Advent calendar for the kids. And I came to realize that I missed the phpadvent/webadvent the last years. And wouldn’t it be great to have a read about something PHP-related for the first 24 Days in December? Even for those people that are not christian the time before christmas has to be a special time. And if it’s only due to the commercials and ads what to present.

So I would wait and see whether someone would arrange something.

But wait! When everyone thinks someone should do something, no-one will do anything.

Cal Evans words came into my mind: If there’s no usergroup around, you’re the leader of the new usergroup. So I decided to just try it. Ask a few people I knew of twitter whether they would like to write something about the PHP-Community at large and get that published for those first 24 Days in December.

That first step was one of the hardest parts of the whole project. Realising that “The Community” starts with myself and – even though I might not realize it – I am a vital part of it. It’s a constant give and take and this is my way to give. There is no central authority to be asked whether I am allowed to do such a thing. Just do it and the community will decide whether it’s OK or not. And You’d be surprised how often it’s more than OK!

It was still 12 Days before December 12th. So I registered the domain with one of my providers I had good relationships with and started to make a list of people I’d like to ask for contributions. I wanted to have a good mix of people showing the broad diversity of the community and the language. People from different continents, different frameworks, different usergroups, different gender, different religion, different popularity and so on.

With that set I started to look through people I knew – and if only remotely – to find at least 24 to ask. I realized I should ask a few more people in case some wouldn’t want or be able to contribute. So in the end I had a list of 33 names I wanted to contact. It was totally clear to me that this list in no way was a good resemblance of those targets I set myself, but it was the best I could do at that short notice.

The next interesting thing then was to contact those people. For most of them I found an Email-Address on the internet, others I could contact via twitter. Some I could only contact via meetups contact-form (which seems to be rather lousy as I never got a reply from them). And then I reached out to ask whether they wanted to contribute. Now there was no way back!

I actually didn’t have a complete list when I started contacting the first people. I had about 15 to 20 names and decided to start of from that and see how it goes along from there. And during the following days I found more names by checking usergroup-leaders, people that tweeted community-stuff and so on. And suddenly the list was complete.

After sending my mail I was overwhelmed by the responses!

Apart from less than a handfull of people I got replies from everyone. Sadly a few rejection but I could understand them and it made my planning much easier. Most of the replies though where along the lines of “Great Idea! How much text?/What exact topic?/You sure I’m the right person?”

Some of the people I contacted didn’t consider themselves as part of the PHP-Community and weren’t sure they “qualified” to write about the community. All of them influence their specific framework-centric community in one or another way and that in turn influences the whole PHP-Community at large. So YES, they qualify!

Fine, everything settled. I made schedule of who should contribute at what date with no real strategy behind besides – at the beginning – first in first out. The website was set as well so I created logins for the 24 remaining people, created 24 posts, assigned the authors and hoped that everything was set now. I could not have been more wrong.

Some people couldn’t make their dates due to various understandable reasons they explained well in advance to me. So I had to find someone to swap the date with. More than once I had to write an “apologies but would it be possible for you to contribute earlier”-email. And not a single time I got a negative response! It was awesome! It was like I started to learn thanks to Stefan Koopmanschap – If you ask for something, the worst thing that might happen is a “No”. But without asking you won’t get anything.

That was the easy parts. Then there have been those that made their contribution at the very last minute (or sometimes even after that). At the beginning it caused me a sleepless night when I didn’t see the contribution before I went to bed (some three hours before the post was autopublished). But after one or another encounter with that and the realisation that the earth was still turning I put that of. The worst that might happen is that the post would be published later than expected. I think that only happend twice and no one complained about it.

And then there was the 22nd of December. The contribution wasn’t in on-time. And I was still waiting. And I hadn’t heard an answer to my “short-reminder” emails I sent everyone to remind them of the date and time. And I didn’t have an ace up the sleeve. So I had to admit there would be no post today.

And again Stefan saved the day. He simply asked! And within no time I had two more contributions in my inbox and one asking what to write. Awesome! The community worked again! (And – of course: Asking!) Why hadn’t I asked instead of apologized? There is so much still to learn!

Unfortunately at the time those emails came in I was already in bed high with fever. Flu struck! Thanks to modern medicine I could find a way to manage email, convert one of those contributions into a blog-post publish and fall back to sleep. And the last two days went extremely easy from an organizing point of view.

In the end this project was an awesome experience for me. I learned a lot about the community I so much favour and about that so much fantastic words have been written during the last days. I learned that asking is easy and often rewarded. I learned that different people work differently but when they have a common goal do their best to achieve it – it might not be my way but it’s their way of doing it.

And I learned that the PHP-Community is much broader and diverse than I expected. And I learned that it will not have been the last time I asked people to write something during the end of the year.

Thank you to all those people that contributed. Thanks to all those that told me they wouldn’t have the time to contribute. And Thank You to all those spreading the word about this project and to all readers!

And as all this would have been pointless and impossible – last but not least –

Thank You Community!

Meet the PHPamily

December is drawing closer.

Thanksgiving marks in the US the beginning of the festive season that a lot of the members of the PHP-Community are celebrating in December. It’s the time of darkness but also of the warm lights. And – most important – it’s the time to gather the family and to celebrate.

Not everyone in the PHP-Community celebrates Christmas. Not everyone is from the US, not even from the Northern Hemisphere. The Community around this strange Web-Programming Language PHP is as diverse as the things you can do with the language. We are thousands of people of different cultural background, different gender, different knowledge, different continent, different timezone. Not two of us are the same. And yet we are all bound together by the use of that one language. Be it by using Drupal, Zend Framework, WordPress, Symfony, Joomla, Typo3, Magento or whatever else there might be out there, we are all using – PHP

We are one large distributed PHP-Family.

And as in every family there are differences and there is potential for conflicts. And there are times where we don’t talk to each other. But in the end we somehow manage to at least get along with one another. And the knowledge that we will get along with one another in the end and the knowledge that we all want to achieve awesome things binds us together. And as in every family we can achieve even greater things together.

During the first 24 Days in December we’ll have a post each day from different members of the community. Some are well known, others might be new to you but they all have a message to tell how awesome this PHP-Community is. And why this Community is so important to everyone involved with PHP.

So let’s take a moments time and see what the next 24 Days will bring us.