Share something today

I remember my first real conference talk very clearly. Dozens of thoughts raced through my head. What if I forget what I need to say? What if someone in the front row falls asleep? What if someone knows more than I do and corrects me? As it turns out, it really wasn’t that bad.

You see, no-one is there to correct you. No-one is waiting for you to slip up and make a mistake. They’re all there to about hear what you’ve learned. About the experiences you’ve had working in a certain environment or with a tool they’re interested in. Don’t worry about someone knowing more about the subject than you do (in fact, some of the better talks I’ve seen were by someone talking about a tool when the tool’s author was in the audience!)

You don’t have to be an expert. You just have to have a solution to a problem. Going back to my conference talk, it was a presentation about all of the mistakes I’d made in the last 12 months. I admitted to making some stupid mistakes, some costly mistakes and having some issues that no-one seemed to know how to solve. After that talk, several people came and thanked me for explaining the issues and how to fix them, as it meant that they wouldn’t make the same mistake themselves in the future.

Don’t start with conference speaking though. Start with a blog. Your posts don’t need to be 10,000 word essays on the state of technology. They can be 200 word posts on how to configure a specific piece of technology. My most popular posts include ones about how I debugged an obscure cURL error (and how to fix it), how to encode/decode arbitrary JSON in Golang and strangely, how to get an XBox 360 wireless controller working with Windows 7.

Share something today. Whenever you encounter a problem and work out how to fix it, write it down. Not only will you help yourself in 18 months when you need to do it again (and trust me, you will), you’ll be helping the rest of the internet solve that problem too.

A Network of Lives

A few months ago during a QA session at PHP South Africa I ended up coining a phrase that has really stuck with me since I blurted it out in the heat of the moment:

“Community is where you will meet the people who will change your life.”

I really believe in this, even if it sounds like a marketing slogan, and if you ever met me you probably understand why. See, our world of technology and development is one in which a “network” is a huge asset to your career. This is not just about finding jobs, but also about growing as a developer.

Let’s say that you are the greatest coder that ever lived. Congratulations, you are surely much better than I am. But is that really enough? It’s like the old saying: “If a tree falls in the forest but no one is there to hear it, does it make a sound?”. Does being the best out there get you anywhere if no one knows you are trying to get somewhere?

This is where community comes in and definitively not just for great developers, even more so for those coming into this market and seeking a path to grow.

The community is an amazing network:

A Network of People

Knowing people is key to the game. These are the people who will let you know about good opportunities, who will remember your name when an opportunity comes around, or the ones who will tell you about new technology, new ways of doing things. Its as much about recruitment as it is about inspiration and advice.

Behind every developer is, surprise, a person. Turns out we are all humans and we all face good and bad times. The PHP community has proven once again that they are as ready to give you their opinion on PSR-X as they are to come together to support you in time of personal crisis or calamity.

As an expat, building AmsterdamPHP was as much about sharing knowledge as a way to make new like minded friends, to make adapting to Amsterdam easier and lot more fun.

A Network of Knowledge

Each person in your network is a powerful tool of knowledge acquisition. The game is not to know it all, but to know who to talk to, to get the information needed. We are not all lucky to work with all the amazing names of our community, but through community and communication tools like IRC, Slack, Twitter or other we can be connected to this neural network of smart minds. When I was a one man team I constantly took my internal discussions onto these channels to get an external opinion, a new mindset and find a fencing partner. I was never disappointed and I learnt so much more than I would have being lost in my echo chamber.

Similar exchanges can also happen in meetings and conferences, that is indeed the center of their purpose. Whether you are watching talks, or hanging out in the hallway track, those exchanges can really flip your career upside down.

A Network of Opportunities

We developers are living a truly amazing time in our careers, a time of bonanza, a time when we can actually choose where, how and on what we want to work. This is not as much of an exaggeration as it may sound, most companies I know of are hiring some level of developer, and most of them have more slots open then the number of developers they can find. I venture to say that if you don’t have this feeling, you are just blind to the current market, and guess what? Yep, community also helps here.

Every single sponsor of AmsterdamPHP is hiring, no exaggeration. By simply attending our monthly meetups every month I get to see the “insides” of a new company, learn about their product, their passions and even better, I get to interact with their team in their “home court”. All of this goes into my mental “rolodex of cool places”, whenever I feel the need to seek new adventures this is where I go and start interview processes. Why wait for recruiters to offer me up as the “dish of the day” and tell me where to go? I know all the places I want to work at!

Ironically enough this also makes me a real good recruiter, wait, no I have not gone over to the Dark Side, but I do now have a good list of places to point people who are looking for jobs to. We cover the full spectrum, from “looking” to “getting indications” and finally to “being indicated to”.

 

Does all this “change your life”? I’ll let you be the judge of it, but from where I stand, my life really did get flipped upside down by the people I met in the community.

Your Mileage May Vary, but I consider moving to another continent and speaking in all but two continent of the world (Asia and Australia, I’m looking at you) one wowzer of a life change. And this is not even including all the amazing people who taught me to code, to architect and to PHP.

Thank you all for changing my life, I hope I can change yours in exchange one day.

Make 2016 your open source year

It’s close to the end of the year so people are beginning to make their new year’s resolutions.

I’d be willing to bet that more than half of the resolutions have something to do with improving physical heath (myself included). But whether or not your new year’s resolution has anything to do with counting calories or buying nicotine patches to kick a nasty habit, you might need a good distraction from the triggers that activate the bad habit loops that you’re trying to break free from.

There’s an amazing opportunity to distract yourself from bad habits this year and create new habits that help others; it’s a little thing called open source.

Become awesome at copy + paste

We PHP kids love to copy and paste. It’s what we’re good at. If you’re like me, you learned PHP by copying snippets of code from random blog posts and forums around the web and hacking together an app that mostly worked but if you were to ask us specifically how it worked, we’d be at a loss to explain the bits we copy & pasted.

Fast forward a few years and we might see a developer who has learned enough to explain the copy and pasty bits. In fact we may have supercharged our copy and pasting abilities with a little tool called composer.

If you’re not using composer yet, you should totally get on board. It will change the way you copy and paste code into your apps. It’s amazing. It will allow you to easily integrate fantastic open source projects into your app with a single command.

Paying it back

For the veteran composer user, sometimes we take for granted that we have a whole copy & paste repository at our fingertips; none of which would be possible without the dedicated volunteers behind all of the open source projects that power our apps.

If you’ve ever used a snippet of code in your app that’s not your own, then you’ve relied on the PHP community to write your app. Have you ever provided your own snippets of code to the community?

If you’ve never contributed to an open source project before or maybe you’ve only ever dabbled in it here and there, make 2016 your year of open source.

Turn a bad habit into a good one

When it’s 11:50PM and you’re craving that chocolate bar in your pantry, instead of giving in, distract yourself by browsing the source code of projects you like to use in your own projects.

Instead of walking down to the 7/11 to buy another pack of cigarettes, spend that time learning how to contribute to open source projects on GitHub.

Heck, why not contribute to lots of open source projects? See which project has the best chemistry with you. See how much you learn when your code is reviewed by others in the community. Once you start sending regularly scheduled pull requests, you’ll wonder how you ever learned anything before open source.

Open source isn’t only good you and your own learning and development, but your contributions no matter how small or how big affect the PHP ecosystem. Not to mention the huge pat on the back you can give yourself after every pull request you send.

But fair warning – contributing to open source is addictive. You might fall deep into the open source rabbit hole, never to return. But it’s totally worth it.

Make 2016 all about open source

So after you’ve had your fill of gifts, sweets, and myriad family members asking you to fix their computer for you (so far I’ve had to fix 3 computers), take some time to sit down and reflect on 2015. Try to focus on what was good. What did you accomplish? How many people’s lives did you touch?

Then shift your thoughts to the future, to this upcoming year. Where do you want to go? Would committing yourself to contributing to open source this year align with your goals? What are you waiting for? Jump right in! The water’s fine.

Why I Still Use PHP

The other day a friend of mine told me a story. He shared that he was meeting new colleagues at his new job, and when asked about his background, my friend told him that he’d been programming PHP for 18 years. My friend’s new colleague said “I’m so sorry.”

We laughed, because it’s funny. When you’ve worked with PHP a long time (about the same for me as my friend), you sorta have to. We know the language is warty and lacks uniform design principles. We know the process of creating it is sometimes an anarchic mess. We also know that it’s really, really good at solving some problems, and that’s why we still keep using it.

A few years ago, I hit a crossroads. PHP and me, we weren’t seeing eye-to-eye. I had been dabbling in Node.js and Python, and I liked what I saw, particularly a couple things:

  1. Easy to use package libraries like npm and pip that had lots of well-written, interoperable components
  2. A fair bit of emphasis on simple solutions for specific problems: built-in simple web servers; straightforward module systems; basic, usable testing libs shipping in the standard library.

To compare, this is what I saw in PHP:

  • Lots of monolithic frameworks that were not interoperable
  • Complex solutions (like monolithic frameworks, complex ORMs, etc) that tried to fit as many use cases as possible
  • Lots of difficulty finding high-quality libraries of code unless you bought into one of those monolithic libraries. PEAR existed as a package manager, but there was not an active central repository where people could publish their work
  • Downloading code in ZIP files from Google Code or SourceForge. God help us.

This sucked, especially if you felt, like I did, that having to learn a big fat framework and inherit a ton of code was a crappy idea. I started yelling about this with a blog post I titled “The MicroPHP Manifesto”. Some people seemed to agree.

I was still thinking about jumping ship, probably to Python, because that was where my work was headed. I did for a while, actually. But then I came back.

I came back because the good stuff was still good, and the bad stuff was starting to get a lot better. Now, a couple years since, I am even more confident that I did the right thing, and there are three major reasons why.

Composer and Packagist

I’ll say it plainly: I think Composer and Packagist saved PHP. Yeah, it still would have been used for a long time for WordPress and Drupal and some other very popular systems, but outside of that I think PHP was going in a bad direction, and I think it was Composer that saved it. It saved it because it gave great motivation to developers to create high quality, interoperable libraries. It did this by making it so much easier to find these libraries via the Packagist system. Discoverability was a huge problem that led people to keep choosing frameworks that gave them everything in one place. Composer & Packagist meant you could find what you needed, and only what you needed, quite easily. This was the biggest technical reason I came back.

Community

I should say here that I mean the non-application-specific PHP community that I run into mostly at conferences, because if we talked about everyone who worked on PHP stuff, it would be a hundred times bigger.

I haven’t run into a cooler, less clique-ish, friendlier community than the PHP community. Maybe it’s because we know our favorite programming language is not all that pretty, but it works really well. There is very little pretension with PHP folk, and I love that to death. We’re just trying to make good stuff and share what we know. It’s a really great open source community, and I am extremely proud to be part of it.

Diversity of Ideas

You could also call this “PHP’s willingness to liberally steal ideas from other platforms.” If there’s something that works pretty well on another plaform for web app dev, there’ a good chance it will end up in PHP, either in the language itself, or in userland. Stuff like short array syntax, ReactPHP, traits, and the built-in web server all came from other places, and all are super cool in PHP. And, if PHP doesn’t provide it, we’re very willing to just use other tools, like Node.js or Python or whtever, as long as it does a good job. That’s awesome.


There’s still stuff I don’t like much with PHP. Other than the crap we all complain about like function names and parameter order, my biggest beef is that the object system is so much like a mini-Java: very rigid, not composable. Don’t like it. Wish it was more like JavaScript or Python.

But, I can work with it. I like it here. I’ll stay a while longer.

Your secret weapon

One of the key strengths of any community is its diversity.  I don’t mean in the usual race-and-gender kind of diversity (although that’s important too), but more broadly.  Any given person only has so much experience to draw from, and only one (or maybe a very few) perspectives to bring to any given problem or situation.  Two people with the same experience may add (almost) twice as much available labor, but add only a little bit of problem solving ability.  Two people with different backgrounds and experience can double, or more than double, the problem solving ability.

Working with PHP, there are people of all sorts of professional backgrounds.  There are people that have only been out of college for a few years; there are people who have been coding long enough to have the proverbial (or literal) gray beards; there are people who didn’t go to college.  I’ve worked with CS majors, English majors, Physics PhDs, business majors, art majors, college drop outs, and culinary school graduates.  I’ve met people who are freelancers, agency consultants, product developers, hobbyists, and in-house “computer person”.

It’s that breadth of experience that is our secret weapon.

I’ve been part of the Drupal community for over a decade now.  The Drupal community is vast.  When I first started coming to PHP events, what struck me most was how quaint they were compared to what I was used to.  Most of the PHP conferences in the US cap out around 200 people.  That’s a small DrupalCamp.  DrupalCons in Europe generally pull around 2000 people; in the US, 3000.  Many people I talk to at PHP events are in absolute shock to hear that, and when they come to DrupalCon get a deer-in-headlights look about them.  How can there be so many Drupal developers?

Well, there aren’t.  I mean there are tens of thousands of Drupal developers around the world, on every continent, and that’s just the ones we know about that are actively engaged in the community.  But only half, half of DrupalCon Europe attendees describe themselves as back-end PHP developers.  Maybe a third of DrupalCon US attendees do.  So who are the rest of them?

They’re designers.  They’re front-end developers.  They’re UX experts.  They’re business owners.  They’re content strategists.  They’re project managers.  All interested in some way in building Drupal or building something with Drupal.  Although Drupal has often been accused of being “by dev geeks for dev geeks”, nothing could be further from the truth.

It’s that breadth of experience that is our secret weapon.

Teams that are diverse along many axes (both the obvious ones and not so obvious) succeed because they can, collectively, look at a problem from many different angles at once.  And by being part of such a team, you can learn, both deliberately and by simple osmosis, how to look at a problem from more than one angle.

That’s the benefit of a diverse community.  It is a loose team from which you can learn and experience different perspectives.  By engaging with different people and learning from their experience and perspectives, you borrow some of their power, and they borrow some of yours.

Most importantly, though, they can help you get more diverse experience yourself.  Not all the world is Drupal, or Symfony, or Zend, or Laravel, or WordPress.  By getting your own experience with a more diverse set of tools, your brain changes to be able to think about a problem in different ways.  Not just in a Drupal way, or Symfony way, or Zend way, or Laravel way, or WordPress way, but in many or all of those ways, through both your own experiences and the shared experience of others.  You can look at a problem and ask “how would Drupal do this? How would Laravel do this?  How would Symfony do this?”  Then combine them all in various ways to find a solution.

It’s that breadth of experience that is your secret weapon.

Getting out of your bubble and sharing experiences with others is what a healthy community lets you do.  And that, in turn, gives you a broader perspective to bring to the table.  Quite simply, diverse community experience makes you smarter.

And it’s not just a developer thing, either.  I’ve been involved in many different communities in my time.  Only some of them have been developer related, yet all of them, over time and with exposure, have helped to rewrite my brain.  All of them have had people to learn from.  In some ways, the subtle influences that seem to have nothing to do with development can be the most important, because they’re subconscious.  You may not think of involvement in a sci-fi club, or a religious organization, or a dance community, or a sports community as having much impact on your software development, but it does, because every healthy community you’re part of has something to teach you, and you have something to teach them.

It’s that breadth of community experience that is your secret weapon.

The caveat, of course, is that I refer to “healthy communities”.  Sadly, not all communities are healthy.  Unhealthy communities demand closed-minded thinking.  They deny experiences, rather than offer them.  They encourage people to stay “on the island” rather than gathering knowledge to share from many sources.  Unhealthy communities refuse to accept the benefits that a diverse background can offer.

Fortunately, PHP is not such a community.  The PHP community is broad and healthy.  The PHP community has reinvented itself in the past half-decade to be more eclectic and mixed and diverse.  Could it go further?  Certainly, but it has come a long way, with people from a variety of different backgrounds, perspectives, and experiences able to meet, share, learn, help, build, and teach.  And most importantly, to encourage its members to meet, share learn, help, build, and teach.  Because the more varied experiences we can share, the stronger we all are.

And that’s why the PHP community needs you.  Because you have a background, experience, and perspective that we want to learn from.  You can learn from us, and we can learn from you, because that is what a healthy community does.  You are our next secret weapon.

It’s the breadth and depth of the PHP community that is your secret weapon.

And it’s the breadth and depth, and generosity, of the community that is PHP’s secret weapon.

The Awkward Attendee’s Guide to Conference Networking

In 2015, speaking at 21 conferences and 37 user groups around the world, I had the tremendous good fortune of meeting over 1500 members of the PHP Community.  What is perhaps most amazing about this is I was able to do so despite a near paralyzing fear of being the “ice breaker” and of making cold introductions in social situations.

So, how did I manage this? Well, certainly at some point, being a relatively ubiquitous presence at conferences and user groups, it got a lot easier as people began to introduce themselves to me rather than my having to introduce myself to them.  But it obviously wasn’t that way in the beginning.  How did I manage to navigate this social awkwardness?

In 2014, I attended my first multi-day, multi-track conference, php[tek] in Chicago. Larger and longer than any community activities that I had participated in previously, I was determined not to allow my anxiety over meeting new people undermine the experience.  With a little creativity and planning, I was able to identify five different groups of people that I could connect with organically, without the potential awkwardness of a cold introduction.

The first thing that I did was to reach out to all of the people that I had already “met” on Twitter who I knew would be there and tell them what I looked like and asked them to look out for me.  This put the onus of a personal introduction on them and I knew conversation would come easily, having already grown our friendships on Twitter.

Second, my friend David Mosher had begun organizing a side trip to see a Cubs’ game, so I volunteered to handle collecting the money and distributing the tickets at the conference. This meant that nineteen people would be seeking out and introducing themselves to me in order to claim their tickets.  It also meant that I would be joined by these nineteen people for a multi-hour activity, an opportunity to easily make conversations with otherwise strangers without feeling awkward.

Similarly, several members of the community had organized a Magic: The Gathering tournament for one evening of the conference.  By signing up to participate, I was assured an easy introduction and several hours of conversational opportunity with another dozen or so attendees.

I also realized that perhaps the easiest people to meet would be the developer evangelists – people who were essentially being paid to meet people like me and who were obviously well suited for their roles, friendly and outgoing and good conversationalists.  I made sure to spend time in the exhibit hall making their acquaintances at times when it wasn’t unusually crowded, giving them ample opportunity to break the ice for me.

Finally, I made sure to join in the extra-curricular activities at the “conference bar” during the evenings.  Rightly or wrongly, I knew from experience that even if two socially awkward people find themselves seated next to each other in a bar, eventually one of their inhibitions will loosen to the point of breaking the ice and making an introduction.

My strategies could not have possibly worked out better!  During the three day conference, I slept a total of 8 hours (!), spending the vast majority of my time working the “Hallway Track” forging the basis for relationships with people who today I count among my best friends.  Looking back at the traditional php[tek] after conference group photo, I somehow managed to meet over two thirds of the attendees over the three days.  Samantha Quinones, who I met there for the first time and who is probably my best friend in the PHP Community tweeted this following the conference:

While I’m not sure that my performance at the conference was valuable to anyone but me, I appreciate her sentiment and agree that despite being very hesitant to break the ice with strangers or make introductions, it’s doubtful that anyone was able to bleed more out of the social and networking aspects of that conference than I did.

It’s my hope that by sharing these strategies, others who share similar apprehensions will also be able to take full advantage of the fantastic human opportunities that conferences present and more easily form relationships within our incredible community.

A Reminder

Organisers of events, whether working for their local user group, conference or camp, put a lot of time into making the best possible event for attendees. A great event is created when everyone there participates, and this includes the attendees – so here are some tips from me to you, covering things we can all do to make events we go to that tiny bit better.

Turn your phones on silent

Learn from my mistake – there is nothing more embarrassing than when everyone turns their heads and stares at you whilst your phone is ringing.

Keep being curious

Curiosity may have killed the cat, but I think it’s something we should celebrate.

No question is too stupid or too small. Raise that hand up, ask that question. I can guarantee someone else has the same question as you. They also think they are being silly for not knowing the answer.

If you are shy about asking the question in front of the audience, ask the speaker when they get off stage, or in the hallway.

If you are on the recieving end of this curiosity, I’m sure there was a time when you had similar questions, and you most likely still have questions every day. Be patient and watch how you can inspire and support someone as their understanding increases.

Manners are free

If you are at a conference or user group and someone is stood up speaking, regardless of who that person is, shut up and listen.

They have chosen to share some words with the room. They may have had to build up the courage to stand up and share those words with you, so the least you can do is show respect for their effort.

We can hear you

Talking under your breath to yourself, or whispering to your neighbour whilst someone is speaking is plain rude, no matter the reason. If this happens because you agree or disagree with what is being said, nod or shake your head. Everyone else can hear you whispering – after all, the rest of the room is listening.

As a speaker this is really distracting and irritating. It’s like talking in a virtual meeting whilst hearing feedback of your own voice.

As an attendee, it’s like having a bee buzz in your ear whilst trying to pay attention. It is even worse when the conversation you are having is nothing to do with the topic that is being presented to you. No, I don’t really care about how to implement this functionality whilst in a talk about accessibility.

If you must talk – leave the room quietly or go old school and write a note and pass it on.

Say Hello

I’ve seen it countless times: People who have taken a big step and gone to an event on their own, where they have known no one, and stand on their own looking a little shy as everyone around them is in their cliques. Even though I’m on the extrovert side of the scale, this happens to me too.

If you see these people, extend a hand out, say hello, step aside, make room and wave them in to participate in the conversation.

This is one of the biggest things we can to do make our community welcoming to everyone who passes through.

If you are stuck for ways to strike a conversation, here’s a few of my go to questions I use constantly.

  • Hi, what did you think of that talk?

    This is great at nearly every event. You can also follow it with – Have you used [ insert subject of the talk ] before?

  • Hey, been to any good talks?

    Good during breaks and lunches at a conference

  • Hi, I’m [ insert name here ], have you travelled far?
  • Gosh the weather is [ insert observation of weather here ]…

    Rather British but a classic


If you don’t attend events for what ever reason…

There is no reason to fear missing out

If there is anything that 2015 has taught me is that the Fear of Missing Out (FOMO) is very real and is a real pain. The 2015 FOMO basically meant I was never home, I put my personal life on a serious back burner and meant I travelled with a messed up ankle because I hadn’t made time for the doctors.

Don’t misread this as me complaining, because it was totally worth all the adventures, conversations and people I have met this year.

Quality over quantity

What I have learnt this year is that it is better to attend fewer events with more energy. To learn, absorb the atmosphere and have quality in-depth conversations with a select few, is better than running to chase after every conference badge.

There are ways to be part of the conversation without having to leave your home. IRC, Twitter, personal blogs, mailing lists – the list is long. Join in and take part virtually.


One final thing

It is important to leave a empty space for new people to fill – whether that is as a conference, camp or user group organiser, speaker, developer, [insert role here], etc.

If Lorna had never left the PHPNW organising team, would I have been asked to join them? Would I have worked hard to make everyone feel as at home at in my home town as I did?

We have a responsibility to pass on our roles to others. This reduces bus factor within communities, and tills the soil allowing next season’s budding talent to grow.

As a community let’s celebrate building legacies not linchpins. Let’s work together to create a better community than the one we each walked into. Leave a legacy that can survive without us for those moments when life throws a spanner in the works.

There is always a choice

This is the one thing that I remember from therapy that has stuck with me all these years.

Whatever we do, whenever we do it, we are performing a choice. The choices we face are not always favourable, but they are choices none the less.

This includes the momentary choices we make on how we act as a person, a team and a community.

I’ll be stepping into 2016 trying to make the best choices for myself, the people around me and ultimately, for the community.

I hope you will join me.

To 2016 and beyond!


Image by bibliojojo titled: Reminder3

About not giving up…

In the past 3 years, I went from freelance webmaster on my own —badly maintaining my so called framework— to a community aware developer. This transition was made easy being a member of the local PUG afup Lyon and being more and more involved at a broader range with the French PHP User Group. I can say PHP and its community had a big impact on my job opportunities, my vision of openness and my life as well.

The HaPHPy Birthday project

Not being a code genius, I wondered how I could contribute to the general effort or at least, how I could thank those who made it happen so far.

HaPHPy Birthday - the PHP movie
I started the HaPHPy Birthday project to allow anyone like me to express her/his feelings toward this incredible community. The idea was to gather people in a collaborative movie in order to pay a tribute to the PHP language, to those who helped building it to what it is today, to all the families it’s made of (WordPress, Drupal, Magento, ZF, Symfony…).

A story of enjoyment, doubt and satisfaction

I guess starting to think about the project late spring and building the website during summer was not optimal. On September the 1st, official opening for contributing, only 18 groups were supporting the project on the 200ish I contacted. Well, I was not totally happy with it but I was thinking it was just the beginning.

A good start

In fact, the kickoff went pretty well. Some of the people I admire for their involvement toward the PHP community like James Titcumb, Erika Heidi, Adam Culp… (just naming few) contributed quite early. Another good surprise was the translation of the website in Spanish by Luis Montealegre from the Comunidad PHP Puebla. Icing on the cake, came the video from the Kenyan PHP User Group, simple and so fresh! It gave me the Force to continue the long-term job of contacting the groups — I hope I wasn’t to spammy 😆. Reaching the target of 100 contributions to have a decent movie seemed obvious.

Winter was coming

And it came suddenly. Mid September, contributions almost stopped and a period of doubt began. New user groups were just supporting the project but few compared to the amount I contacted and surely not enough to make a representative video of the community. The minimum of 100 participations became uncertain. The long process of contacting groups and convincing people had worn me out. At one point, I considered giving up.

Gif kid begging for more (extract from silent movie)

Losing heart? Just look at what you achieved so far… with the help of others.

I made a break. I had a look at what was achieved so far. Well, most of the work was done and there was still time. At least, I could let run the project smoothly and see what it will become. A thought that kept me going on was the people who trusted in the project. I didn’t want to disappoint the first contributors, the early supporting groups or those who helped starting up the project.

PUG organizer opening a GitHub account to support HaPHPy Birthday
A non-techy community organiser creating a GitHub account and making her first pull request to add her group to the video. It seems pretty common to a lot of us but I took it for a great gesture.

Then new PHP user groups joined in to support the initiative, with more and more positive feedbacks about it. People I contacted expressed how much they were looking forward to the final movie. My mind was up again to make that one last effort in the communication campaign. Eventually, contributions went over the minimum required goal making the PHP movie come true.

A haPHPy end

The final movie reflects the PHP community. One made of people, of user groups, of companies… I’m glad with the overall result, the video is nice.

Starting to work on it, I didn’t imagine what I would have to go through to make it work (especially the relational side of it). For sure, the PHP movie would not be here today without the community support.

Exploring outside the bubble

When I was growing up I always wanted to be an expert in something – anything really. Most recently I’ve focussed these efforts on Drupal. I’ve started maintaining a few contributed modules as an extension of my full-time work as an engineer at Acquia. The Drupal community is amazing and has really opened my eyes to the power of open source. I started attending Drupal user groups, Drupal camps, and Drupal conferences — I’m even writing this while wearing a “Drupal” sweatshirt.  I’m still by no means an expert, but I have become “comfortable”. I’ve also come to recognize that I’m in a Drupal bubble — one that may be limiting my growth as a developer.

Stepping outside

I managed to get funding to attend the nearby php[world] conference, and while I originally intended on focusing on the Drupal tracks, I soon realized that this was just the place to step outside of the Drupal bubble for a few days.

At this conference I got a breath of fresh air in terms of approaches to common development problems. I attended sessions on topics common to all of us such as standards, testing, caching implementations, and source control. At each session I heard solid advice that I’ve heard inside the Drupal community, but also insight from a different approach outside of Drupal. I started feeling the old excitement of tapping into the richer knowledge of programming and all thanks to visiting a different point of view.

Why should you step outside the bubble?

Getting different perspectives make you a better developer.  

Let’s face it – most of the problems in programming have been approached before. The beauty is in how we solve these problems. The broader your understanding of a problem, the more elegantly you can approach a solution. Some frameworks approach problems the same, but many do not — we need to be learning from each other’s successes and struggles.

Providing different perspectives makes for a better community.

As the tech world is generally learning, diversity in a community provides its own benefits such as improved creativity, innovation, and faster solutions. You can be part of that diversity. Just by coming from your own point of view, you provide a new perspective.

Broadening your community keeps it in perspective

Most of us aren’t the top contributors in our space — many of us even struggle with imposter syndrome and feel that we aren’t keeping up. The more you experience the community around you the more you begin to realize your value within it, building confidence as you begin to see where you can help and how you provide value.

Baby Steps

Time is precious. With two kids, a full-time job, and several volunteer responsibilities, it’s hard enough for me to make it out to Drupal meetups, but I’ve made a pledge to myself to take baby steps to engage outside of the Drupal community. For me, that will be getting to the local PHP user group meetings every other month or so. For you it could mean finding a new chat room to follow, getting involved in standards organizations like PHP-FIG, or getting involved in PHP itself! If you already run a user group – thank you! Try inviting someone from a different group to come speak.  Why not have a session about the similarities between your framework or CMS and another? Whatever you do, be sure to start today, and get out of whatever bubble you happen to be in!