Diversity Matters in the PHP Community

As PHP Developers, we are all part of the great worldwide herd that is the PHP Community, whether we realise it or not. From developers working in large departments for big corporations; to small teams; and single, solitary developers working for tiny companies, or freelancing from home: we all have access to that Community of other PHP developers that we can call upon for help when we need it.

 

We have access to the tools and libraries that have been written by members of that Community, and that they have made freely available to help us all.

Tools such as xdebug and blackfire that help us with debugging and profiling our code; frameworks like Symfony, Laravel and Zend save us rewriting code time and again for every new project, and provide us with a stable and well-tested structure that cleanly and securely handles the basic functionality that our code needs; the myriad of libraries on github give us access to complex functionality without our having to write it ourselves; phpunit, behat, phpspec and codeception help us test it; while composer gives us a simple mechanism to pull libraries and frameworks together. Organisations like FIG help define standards that make it easier for us to develop code that integrates easily with other libraries and frameworks. All are the products of members of the PHP Community to help us become better at what we do.

 

But the PHP Community isn’t just about providing a few tools, libraries and standards… it’s about learning and sharing knowledge. And even more, it’s about providing support for each other when we need help in any way.

If we can travel to them, then PHP User Groups and Conferences are a great way of learning and sharing our knowledge, and a great way of meeting with other developers face to face to talk about work, about our experiences, about PHP (and almost any other topic, technical or otherwise); but even if we can’t travel, then NomadPHP provides a monthly online learning conference. There are PHP developers who give freely of their time for online mentoring via PHP Mentoring. And the help given within the PHP Community isn’t limited to technical and learning support, but can be called upon to assist with personal problems as well. Open Sourcing Mental Illness is a wonderful initiative that provides resources and support for those who are struggling with mental health. When one of the PHP core contributors found himself and his family homeless and living out of a caravan, they were able to reach out to the PHP Community which donated enough for them to find a new place to live. When another member of the Community found that the twins his wife was carrying were Monoamniotic-Monochorionic, and that they wouldn’t be able to afford the healthcare if he took the time off work to support her, the Community again came together to help out.

 

So the PHP Community is about far more than simply providing a few helpful utilities, or the occasional meetup… it’s like a family where so many people are willing to help each other, not simply as PHP developers, but as individuals.


 

I don’t see myself as that infamous 10x ninja rockstar developer; but I have been an active participant in the PHP Community for many years now. I’ve released a few of my own small projects and libraries as Open Source, and contributed to others. I’ve blogged occasionally, and answered a few PHP questions on StackOverflow. I started attending usergroup meetups and conferences, at first just locally, and later in other countries; then speaking at them. In doing so, I’ve met some incredible people, who are willing and happy to do so much helping others to achieve so much more. All of this has helped me improve as a developer; and while I’ll never be that 10x ninja rockstar developer, my understanding of development techniques and practises has grown, and my designs and code quality are far better now than they have ever been because I have learned so much from the members of the PHP Community.
Two of the biggest lessons that I have learned from the PHP Community are:

  • We are standing on the shoulders of giants.
    There are thousands of developers who have come before us, who have volunteered their time and efforts to make PHP and the PHP infrastructure great, and we owe them a debt.
  • Paying the debt forward.
    We can repay that debt by helping others.

Yet there is still so much more that I can (and will) learn from the Community – if you ever stop learning, it isn’t because you know everything that there is to know, it’s because you’ve given up. And I don’t just learn from the 10x ninja rockstars; because even the newest members of the Community can give me new insights and ideas, new ways of thinking about a problem or a solution, new perspectives on design or coding, new tools and libraries that I can use. That’s the beauty of such a Diverse Community.


 

It’s that Diversity which gives the PHP Community its strength: we all come from different backgrounds, with different and unique experiences that we can share. We can all learn, and we can all teach others. Yet sometimes the PHP Community doesn’t appear as Inclusive or welcoming as it should; and sometimes it seems too much like a clique of like-minded people, that can dissuade others from reaching out to join and participate.

 

Like all families, the PHP Community isn’t always happy; and while it is more Diverse than many technical communities, it is far from perfect. To many that have yet to embrace the Community, it still seems exclusive and restrictive, and limited to those who “fit”. For many, they don’t believe they could ever be a part of that Community because they are different. They look at a conference schedule, and see no role models for themselves among the speakers that might persuade them to attend. They see photographs of conference “swag” containing playboy magazine (sorry Drupal Camp Munich), and believe that the conference is just for straight men with a liking for pornography, so it’s not for them. They read a few blog posts (or hear a conference talk) that criticises WordPress or Laravel (I use both myself) or <insert other library/framework/tool here>, and feel that they can’t be a part of the PHP Community because they are a WordPress or a Laravel developer.

 

If we want to maintain or extend that Diversity which is the strength of the PHP Community, we need to show that the Community actively welcomes that Diversity.

Promoting Diversity isn’t simply a matter of putting a “welcome” sign in the Community window. We need to reach out to all those who don’t believe that they are a part of the Community, and show them that they are; and that their thoughts and ideas matter to the Community as a whole. We need to be aware of Diversity Issues and then look at how to address them. Having a “Code of Conduct” for a Community event is like posting a welcome sign; but being prepared and willing to listen and act on breaches to that CoC is a sign of commitment. Saying that your conference runs a blind review of CfP proposals is posting a welcome sign; actively seeking out minority groups and asking them to submit proposals is showing commitment to Diversity. Those are just a couple of examples that spring instantly to mind; but there are many other ways of promoting Diversity within the PHP Community, and there are many people more qualified than myself to highlight and expand on them.

 

There is no single magical solution to making the Community more inclusive and welcoming to everybody; but Diversity is Enabled by action, and is Blocked by inaction or inertia. Organisations like PHPWomen have been working proactively to promote Diversity within the PHP Community for many years. More recently, my own Enfys, the PHPDiversity Elephpant is intended to make us think more about Diversity Issues, and to remind us that we should be more Inclusive within the Community, and that means Inclusive of all PHP developers regardless of race, gender, sexual orientation, gender identity, age, nationality, disability, religion and technology. Everybody within the PHP Community deserves to have their voice heard. Enfys may only be small step, but each small step can make a big difference; and in the coming year both Enfys and I shall be looking to see what more I can actively do to Enable Diversity within the PHP Community.

So my challenge to everybody reading this for 2017 is to become an Enabler of Diversity, not a Blocker. Think about Diversity Issues; see if there is anything that you can address, and do so. If each of us takes that one small step, then we can change the PHP Community and make it more welcoming, to the betterment of us all.

 

Diversity Matters.

Contempt of PHP

As a developer advocate, I visit many technical conferences covering all kinds of communities including those within PHP and those beyond it. A few months ago, I was in the audience for a keynote at a big conference in London where the keynote speaker expressed the astonishment he had felt earlier in the week upon realising that a very successful ecommerce platform was made from *gasp* PHP.

This kind of contempt for PHP is something that I hear fairly often when I am out and about in the wider tech scene. While most web developers have touched PHP at some point (PHP runs > 80% of the web, it’s not exactly niche), it seems like most of them did so about ten years ago (or the code they worked on was created with the approach that was common in PHP about ten years ago, which comes to the same thing). As an industry we need to get better about not criticising things we know nothing about or haven’t checked in with the current versions of. Modern PHP is secure, performant and has all the features you’d expect from a modern language including OOP features and data types – it’s ideal for meeting the demands of modern web applications of all kinds. Getting criticised for things that might have been true a decade ago doesn’t reflect the true nature of PHP today, and I was more surprised than perhaps I should have been that a person keynoting a decent conference didn’t know better or at least check their facts.

This is a call to the PHP community to change the world. We must spread the word beyond the boundaries of our own communities. If each of us wrote a blog post or visited a user group to share information about the current state of the technology, we could make a difference. We must make it easier for others to learn about our tools and to use them in their own projects. Much has changed in our world and everyone should know that uninformed contempt is not appropriate.

I could end this article here, and I’m sure many people won’t read any further. For those still with me, it gets a bit more difficult from here…

PHP deserves this contempt.

Contempt begins at home and for PHP, it begins within our user groups, conferences, blog posts. Every time we poke fun at a framework or project that isn’t the one we use, whose features and community we haven’t been following recently: that contempt sets the tone for our whole community and for those looking in from outside. I have been around in the PHP community and at events for PHP-related stuff (Laravel, WordPress, Joomla, Drupal, CakePHP and the rest) for a decade and we cannot expect the respect of other communities until we respect ourselves. So let’s take the words I wrote above and revisit them in a way that will make a meaningful difference.

This is a call to the PHP community to change the world. We must spread the word within the boundaries of our own communities. If each of us read a blog post or visited a user group to learn information about the current state of the technology, we could make a difference. We must take the time to learn about other tools and to use them in our own projects. Much has changed across all the communities and we all know that uninformed contempt is not appropriate.

Think about how you refer to “other” technologies and communities. PHP is widely (and in my opinion wrongly) looked down on and there’s plenty we can do to represent our own community to the wider world, certainly. However let’s begin by having more respect, or at least informed disagreement, within and between our communities. For 2017 my challenge to you is to get out of your existing bubble, meet a community or read a post of a technology that you wouldn’t normally mix with, and reflect on whether things are necessarily as bad as (other) people claim.

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

24 Days Later…

I should begin that I really love the Christmas-calendar-like concept of “24 days in December”, thank you Andreas for doing this again! I’d also like to warn you that I share a passion for zombie-apocalypse movies, hence the twist in the title this contribution bears.

My initial idea was to put up a quick summary of what I love about the PHP community. As I was trying hard to think of what I like best, I realized that it is impossible to find anything I don’t like about it. That’s because I carry a very particular germ in my veins, giving me the PHPever!

Yes, I do believe the PHP community is extremely contagious and that’s what I love the best about it. Just look at the people behind it: A great generous fun-loving crowd that’s getting bigger and bigger by the hour!

wurst_con_600

(Left to right: Michelangelo van Dam, Milan Popović, Dušan Lukić, Mihail Irintchev at Wurstcon after TrueNorthPHP 2016)

The rapid outbreak is aided by several factors:

  1. It is airborne (like sound/human voice): Whenever people meet to talk about it they usually get all the innocent first-timers sick in minutes. And all these UG meetings and conferences people organize all year round just make the whole situation pandemic!
  2. It causes the release of dopamine and other good stuff in your brain that make you feel extra happy with what you are doing. Like eating chocolate but without the whole calories-counting overhead.
  3. Unlike other contagious pathogens, it spreads over TCP/IP as well!

Clinical Case Study:

The real story behind the start of our local UG (Bulgaria PHP) is that I went to a conference overseas three years ago, not expecting at all what I am going to bring back home with me. I met Michelangelo van Dam (@dragonbe) who managed to turn me into the patient-zero case for my local outbreak that started 24 days later

Bad thing about the PHPever is that unlike regular fever, it does not make you want to stay home and lay in bed. On the contrary, it would drive you to meet other people at public places that you eventually end up contaminating. This social behaviour adds up to how serious the whole situation becomes given enough time. 24 months later (to be precise), with a good number of UG meetings behind us and an even better number of new friends we made along the way, our little community was even able to put up a conference that people remember with warm feelings. 36 months after day zero we did it again even better! We contributed in enlarging the PHPamily, which produced a chocolate-on-steroids kind of dopamine wave in our brains.

bgphp16_600

(Jeremy Mikola doing a keynote about the great people of the PHP community at Bulgaria PHP 2016)

I thank God for all the wonderful people I met along the way, including Andreas Heigl, who has taken the business of spreading the infection really large-scale!

Warning:

So, you have been officially warned: If you are new to this whole PHP community thing, and there is no user group around you, there is a great chance that by reading this you’ve already caught the germ (over TCP/IP). The next 24 days may turn out to be just enough incubation period for you to start a local outbreak.

Godspeed, patient Zero!

Ask a good question

One benefit of communities is that there are very generous people who are willing to answer my questions. These wonderful people take the time to explain things to me and I try to to pay it forward by answering questions that are put to me.

I have realised that I am much more likely to answer some questions than others and am going to share with you factors that I think will make it much more likely that you’re questions will be answered.

Do your research

If you are going to ask for help, please spend some time doing your own research. Google and Stack Overflow are fantastic resources and will probably help you. You may even get enough pointers to solve your problem and then you can get on with your day.

When you ask a question, I expect you to show your research. Tell us what you have already tried and why it didn’t work or didn’t do what you expected. This will save everyone time as we’ll know what not to suggest.

Ask in public

I’m much more likely to answer a question on Stack Overflow, a mailing list or forum than I am a personal email. This is for two reasons. Firstly if I answer a question in public, then that answer is available for others to find when doing their own research in the future. This means that my answer has much more reach and benefits more people. Also, if my answer isn’t fully complete or there are some edge cases that I hadn’t considered, then others can weigh in with their experience and we end up with a much better answer. This is fantastic as no one knows everything, least of all me!

Asking your question

If your question looks like it’s your homework question then I won’t answer it. If your question looks like you haven’t even bothered to do minimal research, then I’m not motivated to help you. If you’re aggressive or negative towards the technology in question, then I’m going to skip over it too.

To get me to spend time on your question, make it as specific as you can and make it easy to understand. Provide background information on what you are trying to do so that I have the context. Provide a code sample that shows what you’re doing. Tell me what the outcome of your code is and if there’s an error message, provide it word-for-word. If the error message includes a line number, tell me which line that is in your sample code. Finally, make sure you explain what you expect to happen if it was working correctly. Sometimes the problem is with the expectation and not with the code.

Handling answers

When someone answers your question, there are a few niceties you should remember. Firstly, it’s possible that the answerer has misunderstood your question. If that happens, be gracious; it could have been that your question wasn’t as clear as you thought or it could simply be that the answerer misread. Never be aggressive, scornful or belittle the answerer when this happens; it will shut down the conversation and the chances are that no one else will join in to answer your question.

Even if you are sure that the suggestion will not help, try it out before replying. You may be surprised. If it doesn’t work then you can now explain what happened when you tried it and if a different error occurred, you may be on the path to the solution.

Finally

Finally, say thank you. Show appreciation for the time and effort that other people have put into helping you solve your problem. Also, pay it forward. If you come across a question that you can answer, do so and make someone’s day.

echo “The (12 * 2) Days in December 2016 Kickoff”;

What an awesome year to be apart of PHP!

It has been an honor to meet such amazing people in our community. I’m blown away by the wealth of knowledge and experience some of our pillars of the community have. Due to learning from all of you out there who so freely give their expertise, so many others like me were able to step their game up.

Andreas & Josh

Andreas and Josh hanging at ZendCon.

I’ve learned so much this year about new tools and libraries like Terraform, Groovy, & Docker. They have been pivotal in improving my new development workflows. It has been overwhelming at times but I always love the challenge of solving hard problems. Now as a 10 year veteran of software development, my biggest piece of advise is “Ask“. I think most people would be pleasantly surprised at the response you’ll receive. You will save yourself so much time by just asking questions and reaching out. We are all here to help each other and I feel you can learn from a novice or an expert. So don’t ever feel like you can’t teach someone else cause you’re “too new”. There are plenty of things I learn while helping anyone out. Most importantly, by reading the docs, talking to the right people, and understanding the code, you too can be a “Rockstar Developer”. However, I wasn’t always like this …

elephpants
The office zoo occupied by my 3 ElePHPants.

In the beginning of my software development career, I made the mistake of coding in an “vacuum” (Solo or on a very small team). Never reaching out to others for guidance or exploring someone else’s code. This is where getting someone else’s point of view can be eyeopening in figuring out new ways of doing things you didn’t think about. Heck, even in college I never knew there were local user groups of people just wanting to learn more and teach others. Had I known these existed back then, I probably would’ve been going all the time.

While I was working solo in my “echo chamber”, I wrote my own frameworks instead of using one the few that existed back then ( CodeIgniter at the time was one I looked at and decided it looked too hard for me. Everyone’s made this mistake, right? 😛 ). With this type of mentality, you’ll corner yourself real quick. Learn from other peoples mistakes and use open source libraries built by some very nice people. Eventually you hopefully learn as I did that leveraging open source and the community is your best path to solving complex technical problems. Once you do that, you’ve graduated to Rockstar status in my opinion.

Personally for me, I feel like I learn the best when pushed to preform. Deadlines anyone? After ZendCon was the Money 20/20 Hackathon and that was also a huge learning experience when you only have 24 hours to build something. I went with a mentor of mine (Adam Englander) who has an awesome post about the experience which led us to getting mentioned in Forbes. I highly encourage die hard developers/designers/entrepreneurs to do a hackathon. You’ll learn the value of rapid prototyping real quick (thanks Laravel).

stickers

I’ve given out about 400 of these stickers for our UG so far.

PHP Vegas had it’s 2nd annual meetup at ZendCon and it was so great to see how one tweet filled both speaker spots in under 24 hours. Two people I didn’t even meet before halfway around the world wanted to share at the meetup. They did fantastic talks and just like last year, this meetup was our biggest of the year reaching 50-60 attendees. We are really fortunate we have such awesome people willing to go out of their way just to teach others for free and great sponsors like Zend, PHPNW Con, TekSystems, and so many others that support us. I continue to try and expand the users’ group here in Las Vegas and really believe the most successful users groups out there do a great job getting the new guys up to speed. Getting more “workshop” nights and tutorial talks is one of our goals for next year among other things like recording the meetups. My goal of starting a podcast in Q1 is driven by my passion to share my interests with the world and continue some of these great conversions happening on current podcasts like PHP Round Table, Voices of the ElePHPant, and many others.

Meeting people in communities like Zend, WordPress, Symfony, Drupal, Joomla, Laravel, FIG, and so many others has shown me how open and receptive the PHP community truly is. So if you’ve never been to a meetup, this next year make it a point to attend a meetup, teach someone something new and share! Get involved in the online conversations on topics that hit home for you. Even if it’s just fixing documentation, contribute to open source! Becoming apart of the community is as easy as introducing yourself. My new years resolution is continue to meet more people, learn more, and push myself to be the best possible dev I can be.

Thank you again for everyones support and lets keep the community strong.

Happy holidays!

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!

PHP Is Dead!

This is the time of year that everyone gets introspective. Everyone becomes a pundit and starts waxing philosophical. What was big this past year? What will be the prevailing trend next year? It is always the same.
Invariably, one or more of these well-meaning individuals will proclaim that PHP is dead and that “X” is the next trend in web programming. I have been working with PHP for 15 years, for 10 of them I have actively been involved in the community. In the past 10 years, I have seen this almost every year.

Here is the thing they seem to forget, momentum. By some measurements, PHP runs 80% of the web. I believe the more conservative number of 50% but whichever number you go with, that is a lot of web sites that depend on PHP. If the core disband tomorrow, there would still be work for PHP developers for years to come. Don’t believe me? Go out to simplyhired.com and search for FoxPro. Last I checked, there were over a thousand, and Microsoft killed FoxPro more than six years ago.

PHP has momentum. More than that though, PHP has a group of Core developers pushing it forward. Constantly expanding it’s capabilities and thus expanding the opportunities for PHP developers.
PHP is in a renaissance. The new capabilities of PHP 7 give it a renewed lease on life. The performance improvements in PHP 7 mean that existing sites can do the job with roughly half the resources. The fact that it is the fastest dynamic language out there, means that new projects and startups are starting to look at it again.
There will come a time when PHP will die. This, however, is not it’s year. PHP is alive and well. The Core is cranking out new features, bug fixes, security patches, and other goodies that make our lives better on a regular basis.
Most important though, our community is growing and evolving.  We are better organized than we have ever been. We have a group who is dedicated to making sure that our projects work together. We have more conferences and learning opportunities than we have at any point in the past.
PHP is not dead my friends, it’s just got it second wind.

If Your Passion Is In Your Heart, No Step Is Too Extreme. For The PHP Community Lives In Thy Heart.

elePHPants & 7PHP Befriending

It All Starts With A Story And I’m No Exception.

On that December 2008, someone bought the domain 7php.com. It might seem a trivial thing, but there’s a whole story behind – the 7PHP story. While the story is a bit long, I did my best to cut it short, just to focus on the main area of concern – that is, the magics and amazement behind PHP & The PHP Community. But know that, it’s important to tell it because what comes as the “after” started because of the “start”.

elePHPants & 7PHP Befriending
elePHPants & 7PHP Befriending

My Late ‘IT’ Entrance & The First Meeting With That “PHP” Language

I am a very late comer to the IT scene and Internet world. I was a science student, fond of Additional Maths beyond what you can imagine. I touched my first PC at the age of 19 years old. (A shocker right?) I was suddenly the only student in my University class who was ‘touching’ his first PC and first taste of programming. I was in a batch of around 80+ students who were most of them like skillful voracious IT literate. I say voracious because they were all here for one thing: to achieve the highest possible score for the final 3yrs-degree course. Most of them did it in the most selfish way they ever could. This was no easy thing for me.

At University I did a couple of programming languages like Assembly (I hate that), C, C++ and JAVA – but no PHP (at that time, although now they have it in their curriculum). I suddenly realised I came into a whole new world and I felt alone. My father seeing my anguish, gifted me my first desktop PC – a pentium II. Google was also relatively new to the search engine land at that time if I remember well, but was quite viral in the University campus. So Google became my friend. I slept only a few hours per day, because I had a lot to catchup. I became amazed at the possibility of learning things by myself with the help of Googling. I developed a syndrome – I suddenly wanted to be able to do everything I could, as fast as I could: I learned HTML, Javascript, dismantling my PC and rebuilding up. I had no choice, I wanted to learn assembling PC hardware, so I printed papers and rely on my self-understanding to put the PC back. I started at 7 p.m that day and ended at precisely 7 a.m the next day (still fresh in my mind). My dad who woke up with my scream of joy that Saturday early morning, nearly got a heart-attack on hearing what I did with the PC.

Along my self-paced journey, I started to install things like wordpress, SMF forums..etc I was quite amazed by how fast I could install them. Digging deeper, I saw they all had ONE thing in common – they were all PHP-based. Wow, wait a minute, what is that PHP? I never heard about it.. That curiosity lead me to even do my final year project with PHP as the core language of choice.

I Bought The Domain 7PHP.com

In year 2008, I started my first job. No it was not PHP, but C#.NET (yet another new, but amazing thing I learned). But my passion and focus for PHP was still there at night. With the small salary I got, I decided to invest in buying myself a domain with the keyword PHP. I wanted it to be short, but also meaningful. At that time, the .COM boom was I think around it’s second-half (or something) of its explosion and hence good 3-letter and 4-letter word domains were almost all taken up. But to my great surprise (after a whole night searching like crazy for all combinations), the domain 7PHP and PHP7 were available (w00t!). After much thought, I went for 7php.com because at that time I thought PHP would probably arrive at version 7 (yes I tend to think ahead of time at times). I do not want to create a confusion between ‘what-I-would-do-with-it’ and PHP 7 as a language version (Although if I had enough spare finance, I would have bought both if you asked. And I wished I did because I would have happily put it to the service of the community or donated it for the right purpose since PHP7 finally came this year). Also the number 7 has a key significance in the Football soccer world (I was a Man Utd fan and 7 is emblematic) and was prestigious – which made me go for 7php.com instead of say phpthat.com for example.

But the domain sat there idle in my account with no real purpose. I do not know for what real reason I bought it, but something in me triggered that. And bought it, I simply did.

I Started Micro-Blogging on 7PHP.com

In March 2010, I was already in another job now doing PHP fulltime. I then started blogging on 7PHP mainly as a backlog of all the issues, solutions (and rambling) while I was using PHP – I needed a journal to keep everything in place for future reference. Done deal!

In year 2011, I was going through one of the most difficult moments of my life – my parents got separated and at my (yet new) work place too, things became very bad. I got an evil CTO and a group of new (unfriendly) dishonest friends colleagues. I was out of job in mid 2012.

Fast-forwarding a couple of months, December was already here. I was sitting down at my (broken) home with my thoughts. It was also time for me to take a decision on whether to renew the 7php domain or to let go.

The December Festivities Time, Is Not For Everyone Unfortunately

In December 2011 when everyone was enjoying, I was not. I sat down, sad, broken but not discouraged with what I can achieve. I asked myself 2 questions:

1) What do I really want NOW (at that moment).
The answer given inside me was: “I want to enjoy being in touch with PHP because that is currently the only thing making me happy in my life. And also I want to reach out to people outside of Mauritius (as I was fed up with the selfish Mauritian mentality)”

2) How can I achieve that?
To reach out to the World I need to step out of what I was currently doing with my blog. I felt I cannot achieve this with tutorials or code scripts because there were too many-many great ones and I’m not a rockstar in PHP programming.

Thinking deeper, I had four things in my possession: ‘writing skills + a blog + a passion for PHP + an urge to mingle with like-minded people’. That night I decided I wanted to interview prominent people in the PHP world.

It was to be a mission of either “the PHP world is made of good people or I quit” and “either I live or I die”. If things were to go negative at that time, that would probably have been an end to my PHP passion, my domain name and my PHP career. Fortunately for me, hope came in!

The PHP World, Is Actually Made of Good People

On that December, I emailed a couple of prominent PHPers. I relied on my personal judgement to contact these people as I was not yet part and parcel of the PHP world (The PHPeople). I was delighted to see responses coming in from people that I contacted. Five of them responded fast (namely Chris Tankersley, Enrico Zimuel, Michelangelo van Dam, Stefan Koopmanschap, Ivo Jansch) and they ALL communicated ONE thing “you are doing a great initiative, welcome to the PHP world”.

That sense of ‘positivity, friendliness and welcoming’ that emanate from those PHPers, is something I NEVER saw when I mingled with the C and JAVA people.

I rushed to my mum crying with happiness: “look! prominent people in the WORLD is responding to ME, we are not a failure.

The PHP World and it’s people are the Magical “The PHP Community”

As you have noticed I have named the first 5 people because they somehow held my hands on that cliff. This gave rise to a whole new horizon full of hope. Which in turn boosted me in starting to reach out to more and more people instantly. While doing that, I was even more surprised and humbled, 99.9% of all the people I reached out, responded positively. During all my interaction with the PHPeople, they all had the following characteristics:

  1. friendly and welcoming response
  2. humbleness
  3. an amazing dissipation of generosity and sharing
  4. a true sense of purpose – to serve the community in their best possible way
  5. to help grow the community irrespective of skills, culture, color, sex, philosophy or age

So in Jan 2012 I started the “real7PHP which focuses on interviewing people & entities that are part and parcel of The PHP Community.

The PHP Community Go Beyond Your Imagination – It’s A Family

My communication with so many amazing people, gave me a lot of happiness. I was delighted to keep doing 7PHP and I was also sharing part of my personal life’s happiness with (some of) them. What I did not imagine in my wildest dream, is that The PHP Community is more than a Living entity. It listens carefully. It reaches out to you when you least expect. It cares in the most caring way you can ever imagine. I have found a new family and many sincere friends.

Here are some concrete examples:

1) I have received so many gifts – including 4 amazing unique elePHPants from different people around the globe.

2) In Oct 2014, I was able to attend my FIRST PHP conference, namely PHP North – all fully sponsored.

3) In Feb 2015, I attended my 2nd PHP conference, namely the Sunshine PHP conference. See pics here and here.
This gift was announced on the March 2014 as a surprise by Cal Evans, see this Youtube Video – Community Gives Back.

4) On the 9th July 2014, Joe Watkins was in a tough moment of his life and the WHOLE PHP Community stepped up to “help him get a leg up”, see here.

From Nobody To Someone known as 7PHP Thanks To The PHP Community

I’m really humbled and thankful to ALL of you that forms part of The Magical PHP Community and has played (is playing) a vital part in my life AND in the life of so many other people. I was just a concrete example. But there has been many example in the past and will have more examples in the future.

When I attended the two conferences at those different parts of the world, I was amazed with how many people (unknown to me), reached to say hello just because they knew about about 7PHP. That is a truly unique and amazing thing.

Step Forward Without Expecting Anything In Return

While doing 7PHP, I have done so with the best of my abilities, even if that needed me to spend countless hours even at night and on weekends. But I have never expected anything in return because I was enjoying it. It did not matter how much I have to invest myself in it – what matters is the “feeling of being happy doing it”.

From my personal experience so far, I would advise anyone that has passion for The PHP Community & PHP, to stay true to their passion – just do it, just keep at it if it makes you happy. It’s worth more than you can imagine before you even realise!

Remember this: “The Community Matters”.

Before I End..

Words will never be enough to relate my story (yeah a book may be, I hear you 🙂 ). And words will always fall short in thanking all of you. I cannot mention specific names as this is a team community work – (Community Works!). But know that, I’m eternally so much grateful and thankful in my heart to all of you.

PHP and The PHP Community have really transformed my life!

It has never been an exciting time to be PART of the PHP revolution happening as of this 2015 onwards. So don’t ask yourself too much questions, get onboard THE magical & unique Community that is “The PHP COMMUNITY” Bandwagon. ~ Wasseem Khayrattee

PHP Speakers At SunshinePHP 2015 in Miami
PHP Speakers At SunshinePHP 2015 in Miami

Hold steadfast and make change

December is a time spent reflecting back on the year that’s passed, and preparing for the New Year ahead.

It’s a time for making resolutions. Next year I will spend more time with my family / grow my business / lose weight / work more / work less / work out more / be more mindful / quit smoking / get a new job / find new love / write the next great novel.

The ball drop on the 31st seems magical. January 1st is not only the dawn of a new day, but of a whole new year of hope and possibility.

But what if

But maybe, just maybe, we’re not looking for change. Maybe our reflections have led us to want more of the same: to reinforce what we’ve already been doing and to stay on that path.

I’ve been thinking about this a lot lately.

In 2014, I made a three-year plan to create change in my professional life. I’ve written about this before, so if you know the story you can skip down a few paragraphs.

I knew I wanted to do something new, I just didn’t know what. So those three years would give me the time I thought necessary to explore my options, and start winding down the freelancing business I had built up over a decade and a half.

But then, about halfway in, I started having a really rough time. I was working a lot – too much. I was increasingly exhausted and losing focus and motivation. My health started to falter.

I was burning out.

So I made another decision, another decision for big change, right in the middle of my three-year plan. I was going to take a full year off work. Because if I didn’t, I was never going to achieve my ultimate goal: the professional pivot I’d been longing for.

But it wasn’t an easy decision to make.

It wasn’t part of the original plan. It felt like failure. Fear and doubt built up, pummeling me with negative thoughts and questions and excuses. I’m too young to stop working. I’m too old for a sabbatical year. I might miss out on some great opportunities. I can’t afford not to work. What if it’s a bad choice? Is this a sign of weakness? What if I’m doing it wrong?

Now here’s the part you don’t know

My year off is right around the corner. I’ll be finishing up my final client project in the next few days, and then I’ll be free. On January 1, 2016, the dawn of the New Year, I officially start my sabbatical year.

And I’m freaking out.

Fear and doubt have built up again, pummeling me with negative thoughts and questions and excuses. What should I do with this time? How will I make the best of it? I’m already filling my time up fast. I wanted to slow down, so why am I giving myself so many new things to do? What if I get to the end of the year and I still haven’t found what I was looking for? What if I do it wrong?

The truth about change

The truth about change is that it’s a constant test of commitment. Making change means choosing it again and again. Every. Single. Day.

Making a resolution means making a firm decision to do or not to do something. It means being resolved. We have to be resolved to make real change happen, and to be prepared to confront all of the obstacles—fear, doubt, external influences—that will inevitably stand in our way.

Change is the ability to hold steadfast, which might sound like the opposite of change, when in fact it’s the very essence.

Thirteen years ago, I quit smoking. Since, I’ve never once said that I’m a non-smoker. No. I’m a smoker who wakes up every day and decides not to smoke (confession: I sometimes dream about smoking).

There were days when my resolve waivered. There were days when I was stressed or someone was smoking next to me or I was sipping a cup of coffee and I thought: screw this I’m gonna smoke. It was so painful, too much to ask of myself at times. And what did I know anyway? Plenty of smokers live long, healthy lives, right? <laughter>

I’ve worked with hundreds of small business owners over the years. The most successful among them all had one thing in common: steadfastness. They had the will and focus to make plans for their businesses and stay the course.

The ones I saw suffer the most were those who were constantly making plans, but then second-guessing themselves. A competitor would launch a new product or service and they would upend their plans in reaction. Or a new technology would appear that they felt they had to chase. More often than not their course-corrections made them stray from their ultimate paths, and didn’t give them the opportunity to discover what rewards those plans might have reaped.

Change for the sake of change, change out of fear, doubt and outside influences, makes us end up running in circles, not moving forward.

So how do you know?

I think we know what we want. If we listen to ourselves, really listen—not to the fear and doubt and external forces—our path is clear. But it’s still a path, one that must be traveled: a journey full of surprises, things to be discovered and challenges to be met.

I can’t possibly know the result of my year off. I don’t know where it will take me or what I will do on January 1 of the following year. All I can do is be resolved to stay on this path. Every. Single. Day.

And when the right opportunity presents itself, I will be ready to make that change too.

The only way you can really do it wrong is to forget what you’re doing or why you’re doing it. Fear and doubt are normal. They keep us alert. They keep us in check. So how do you know? How do you know when change is moving you forward or making you chase your tail?

Maybe we don’t always know. Maybe we don’t always listen to the sound advice of those we trust who try and show us the error of our ways. But again, I think deep down we do know, if not the answers, then at least the goal. And that’s what’s important to not lose sight of.

Make a plan and stick to it

I imagine my father summing all of this up in just a few words, “Make a plan and stick to it, kid.”

In steadfastness, there is change. We adapt to the ever-evolving landscape around us, in order to hold our ground. We must constantly navigate obstacles that come from outside and from within, to reach our goals and live the lives we dream up for ourselves.

In change, there is steadfastness. Creating change requires resolve, discipline and a deep belief in our actions. It means constantly navigating obstacles that come from outside and within, that try and prevent us from making that change.

January 1 is just the day after December 31. It’s just another day in a series of days. It’s not a magical day. It doesn’t hold special powers to make us more resolved nor to facilitate change.

We have this power to decide, to change, to hold steadfast, every day of the year. Every. Single. Day.

But it is useful to have checkpoints. A year, six months, three years, a lifetime. Using time as a guideline helps us measure our progress. It can help us define how long we want or need to maintain our resolve in order to ask ourselves that pointed question: Hold steadfast or make change?