community Conferences php community Uncategorized

SunshinePHP 2016 Recap

The Good

SunshinePHP 2016 was an awesome event! Not only were we sold out of tickets for the 4th year in a row, but the attendee list was truly amazing! Each year more and more companies in South Florida send most if not all of their PHP developers to the conference. This year we saw at least 20 companies in South Florida send 5 or more of their developers, and around 8 of those sent around 10. We love seeing our work take hold, and with this many companies embracing the conference it is obvious we are doing a good job. Thanks to all for participating.

SunshinePHP CrowdsThis year we had 14 of our amazing 19 sponsors represented in the exhibitor area, handing out Lego pieces and speaking with developers about how they could help them enhance their careers in one way or another. We are happy that every sponsor raved about the event, attendees, the amount of contacts they made, and the overall organization of the conference.

SunshinePHP exhibitor areaAttendees told us they loved the Lego puzzle idea, and really enjoyed collecting the Legos from the sponsors.

We had some amazing talks and keynotes this year, and really pulled some topics that were outside the box we typically see at PHP conferences. Two talks were about the brain and mental functionality, and how rest and downtime can affect our thought processes and how we learn. There were talks about dealing with customers, and how to help them help us. The keynote speakers shared tips on collaboration and teamwork while sharing stories about Pacific Ocean crossing, and growing up with physical and/or mental disabilities.

Or course these off-the-wall, but very valuable, subjects joined our already mind blowing lineup of topics and speakers.

We also had a very gender diverse attendee and speaker lineup with 16 female speakers (or 36%) and around 20% female attendees! This is a step in a very positive direction, and SunshinePHP continues to lead the way through non-biased speaker selection and responsible marketing.

The menu each day was slightly altered from previous years, with some healthier choices. The quality of the food was another nice touch as the venue really stepped up to provide some tasty items.

Evening events went well with games and panel discussions about API building indoors, and an open bar with some food items outdoors on the pool patio. (Yes, it was nice and warm.)

SunshinePHP tasty food

Overall the event went amazingly well.

The Bad

We didn’t receive too many complaints in our feedback from the event. Some mentioned that the temperature in one room was a bit cold for awhile. Others mentioned that we could have added the technical levels of the talks on the printed schedule. (We had them on the site, but overlooked adding it to the printed materials.)

One complaint, which we loved, was that we made it very difficult to improve the event for next year. 😉

The Ugly

Yes, unfortunately there was some ugly. With the recent awareness of codes of conduct and with the increase in gender diversity there is bound to be more visibility as victims come forward rather than remaining hidden. (Because even though we didn’t hear about these incidences in the past, they were already happening.) We are relieved to report that each incident below was handled professionally, and to the satisfaction of the victims.

One report was about a male attendee offering 2 separate female attendees a private sampling of relaxation techniques in his room. And when the women refused the man did not continue or push. When the incidences was brought to the man as being inappropriate he apologized and said he meant well, and he would not do it again.

A second report was made about a man in the pool area, long after the conference had ended for the day, who approached the girlfriend of an attendee and flirtatiously claimed that she could do better than her current boyfriend. We recommended that the man retire to his room (to prevent an assault) and get some rest for the next day, which he did. Nothing further was said, and no additional actions were taken.

There was a third incident reported which took place before the conference actually started, but was reported after the conference ended. A male offered to take a female shopping some distance away from the venue. Allegedly, while they were shopping the man touched the woman in an inappropriate manner. Because of the lateness of the report there were no further actions.

In a fourth report, allegedly a woman was swimming with a group, long after the conference had ended for the day, and one of the men in the group touched her in an inappropriate manner. The following morning this was brought to our attention as a 3rd party story by someone who was not present. We spoke with the man, who remained in his room except for meals over the remainder of the conference.

And finally in a fifth incident, also reported by a woman but late into the following day, it was stated that a man in the pool area the night before was over-aggressively tugging on the straps of her swimsuit. The apologetic man was questioned and promised to refrain from such activities in the future. The woman said this was an acceptable outcome.

My desire, and the reason I am being open about these incidences is to help others. Other conferences need to be aware this happened, so they can also keep their attendees safe. And attendees need to know about these things so they can watch for it, report it early, and help keep each other safe. Because whether we admit it or not, these types of activities happen everywhere. If you organize an event or group, please do not fool yourself into thinking your event is immune.


While SunshinePHP was very organized, and was an awesome event, sometimes things can happen that are out of an organizer’s control. I feel the SunshinePHP staff did everything in their power to ensure the safety of our attendees. We are looking forward to next year.

community Conferences php community

Are Conference Talks Getting Too Soft?

For a few years I’ve participated in various conference CFP processes, and have been asked to speak via CFP submissions (I speak at about 10 conferences each year). Then after the conferences are over I’ve read attendee feedback about the content shared by speakers, including myself. This has caused me to take a second look at talks in general, and to take a closer look at my own talks.

To go into more details, I’ve read and heard feedback from attendees who voiced concern due to the high number of talks that border on being too “soft” for the topic area they cover. Ultimately they are asking, “Where’s what I paid for?” which may be a valid question.

Don’t get me wrong! I’m not saying that all talks should be highly technical, or that soft talks do not carry value. Instead what I’m concerned about is whether talks in certain topics are covered too soft or abstract, or perhaps are a bit shallow to allow more broad coverage, and do not carrying their weight on a conference schedule.

Case of Novices

We all boast that conferences are great places for beginners to learn quickly. I know when I was learning PHP I often felt like I was drinking from a fire-hose at a conference. But the content I heard at conferences taught some items I could use immediately, and the rest became fodder for learned over the rest of the following year. Which worked out well because as a non-speaker I could really only afford a single conference each year.

Fast forward to today. There are community level conferences in almost every region of the U.S. and around the globe. It has never been easier for a beginner to find and attend a conference containing the same speakers and talks that previously were ONLY at the large conferences. Yet, it appears that talks themselves are carrying less and less “meat”. Beginners may leave the conference with some content and ideas, but then need to search for more details to actually learn. But should they? Or should there be a fair mix of practical content to use immediately mixed with ideas to research for the future? I personally lean toward the latter.

It is hard to teach a great amount in a 1 hour talk, but if there is not some immediately usable content an attendee will have a tough time proving to their short sighted boss that it was worth their time.

Case of Veterans

In the community I often hear the mantra “Everybody should go to at least one conference a year”. With the recent explosion of regional conferences there are now many veterans venturing out of the office in search of…more. These well paid high level devs need to justify their time at a conference more than a novice level developers because it’s more expensive for their company to give up a few days of productivity and salary from them.

These developers are able to drink from two fire-hoses, and have a thirst for everything that can be thrown at them. They are ready to see code samples, and even live coding by the experts in the field. However, too often a talk does not live up to the expectations built by the talk abstract which eluded to more. The abstract said they would learn how to do something, but the talk may actually bounce around concepts and possibilities. The veteran walks away vindicated in their current knowledge, but gains nothing new.

The Hallway Track

If I hear another person say the hallway track is the best value of a conference I’m going to PUKE!

Again, let me clarify. I’m a firm believer in a strong hallway track. To have exploration time between talks, during meals, at hack events, and at the end of the day, is priceless. But the best part of a conference should be the talks. Those talks should promote discussions in the hallway track where attendees, speakers, and others continue the conversations and perhaps learn more fine points.

How Does This Happen?

I think there are various reasons why the talks have become softer than traditionally. However, I will only name a few that jump out, and leave the rest to the readers own realization.

First, there is laziness. It’s easier to verbally talk about something rather than create code samples and examples. It takes a great deal of time and effort to generate code that only serves the purpose of demonstration. However, it is much easier to present a bunch of bullet points and remain abstract.

Second, there may be a lack of preparation. I think that many speakers do not spend nearly enough time preparing new talks, or rehearsing them. Therefore it is somewhat thrown together and lacks the refinement of in-depth content and examples. If the talk is not prepared ahead of the CFP, which is fine in some cases, I have seen speakers wait far to long after they are selected to actually create the talk.

Third, the speaker may lack true passion on the topic but was able to get it accepted by a conference. Unfortunately knowledge does not always equal passion. Therefore the attendees suffer, because the talk lacks conviction and quality of someone who truly cares.

Fourth, a talk doesn’t live up to it’s potential the first time it’s given. It gets better with repetition. The talk is not bad the first time it’s given, but it is not 100% either. As a user group organizer I am saddened that so many do not consider speaking at a user group to make sure a talk is vetted before giving them at a conference where attendees are paying for “higher quality”.

The Challenge

Based on the above lines of thinking I’m going to be doing the following moving forward, and encourage others to take on this challenge:

  • Tweak my own existing talks to ensure they carry value. Add code examples where they should have been to begin with, include more resources to enforce my words, and even include more live coding and demos to provide deeper understanding.
  • Be tougher when rating talks I attend at conferences. I should walk out of a talk feeling like I truly learned something.
  • Be more critical when selecting talks to be presented at conferences. I owe it to the attendees, and to the conference organizers to ensure the best talks are chosen.
  • Ask to see slides and code for talks in advance if available, and at a minimum set a deadline of when these should be ready if the talk is selected. To ensure the talk lives up to the abstract.
  • I will not submit talks to conferences I have not prepared in advance and given at least once to a user group. See the blog post by Cal Evans titled “Airfare and Two Nights in the Hotel” where he writes about this very thing.

Final Thoughts

I am friends with many developers (or used to be :P) who speak at conferences pretty often. I know many of them take great pride in their talks and the preparation of them, and not all of the points discussed in this post applies to everyone. However, I would encourage you, the reader, to consider your own talks and see if you can apply some of these things. I believe that we can all improve in some way, and I personally strive to improve each day.

Conferences interview php community Uncategorized

Adam Culp OSCON 2014 Interview

While at OSCON 2014 speaking about refactoring I gave an interview.  Here it is:

cakephp Conferences php php community programming Quick Tips workshop

Hack-a-thons are not “normal”

In life I tend to do things a bit strange.  Not what most would consider “normal”.  For instance, I run thousands of miles each year and have been known to run up to 100 miles in a single week. (Yes, run.)  I am a black belt in Judo, and enjoy being thrown to the ground, only to bounce up and get my turn bouncing someone else.  I love scuba diving, and feel a great sense of relaxation while deep under water with only the sounds of my own breathing and bubbles around me.  I’m the organizer of a PHP user group, and the organizer of a PHP conference.  My family and I take vacations where we hike 30 or more miles over a few days, and come home feeling rested.  To top it all off, I love to refactor code!

So, no, I do not live life in the “normal” zone.

However, when it comes to coding PHP I do things pretty much as you would expect from a senior developer.  Most of what I do is pretty normal, with only a small dash of interesting here and there to satisfy some exotic needs.  Of course I spend most of my time these days refactoring other people’s code, but even then it is pretty normal and usually falls into a normal pattern.

Then a couple weeks ago I had the great opportunity to organize my first hack-a-thon for the South Florida PHP User Group (SoFloPHP), and it sure was an eye opening experience for me.  Things kicked off pretty normal as most attendees split up into groups and started discussing their projects for the day, and the coding began.  I also had a small project I intended to work on, but ended up spending most of my day pulled between groups to help out in one way or another.  Questions on how to set up hosting, how to use Git version control and github, as well as how to use CakePHP.  I loved it, and really enjoyed helping others with their projects.

Later in the day I was helping someone with a Git workflow when he said something that hit me squarely in the face.  He said, “I do not get to use Git in my normal job, so it is nice to do it here.”  Now this is not the first time I have heard such a thing, but for some reason it really sunk in this time as I realized that hack-a-thons are not for “normal” things we do every day.  Instead we enjoy hack-a-thons and other social coding activities because it affords us a chance to learn new things, use technologies we would not normally get to touch, and to go beyond our “normal” things.

This opened up a whole new world for me, and from now on I have another way of looking at these social activities.  Attending activities like this are educational, enlightening, and door opening as well as presenting a social aspect that really helps developers advance their skills and networks.

I can’t wait until the next one.

Conferences fun php php community

Great time at php|tek 2012

On May 21st, 2012 I set out on a journey to my once annual PHP related conference. I have limited myself to a single conference each year and generally work the expenses and time into my employment contract. Most companies are willing to sponsor employees going to a conference, as long as it will benefit them in some way and as long as you get it approved from the beginning of your employment. (Otherwise they “perceive” it as an expense and not an investment to gain an employee.)

I arrived early in the morning rather than later in the day (there were no flights in the middle) because I wanted to ensure I had time to network and socialize prior to the tutorials the following day. For past conferences I always enjoyed them and learned a bunch, but never really socialized much. I was the wall flower quiet person sitting in the front latching onto every word of the speakers, but then didn’t really talk much after.  This year I wanted to make it different.

Why the difference? A couple of years ago (due to events I will cover elsewhere) I decided to help South Florida enter the PHP community and grow into a place where companies could find PHP developers, and where PHP developers would enjoy a thriving community. So I started the South Florida PHP Users Group which has grown to around 270 members. In the process I learned to gain the most from any event or training through an added social aspect and that realization washed over into how I experienced Tek12.

Tek12 was very social…more social than I remember on previous times I attended. It seemed like everywhere I looked there was a group talking, and laughing.  And each group was very approachable or outright invited bystanders to participate.  Plus the groups constantly changed, so there were no “clicks” where the same people were always together.  Everyone seemed to flow from one group to another and contribute to each conversation.  I also felt very comfortable walking right up to others and simply asking a question. (Something I think most are intimidated to do.)  So I learned a bunch, and had a great time finding answers to questions I’ve had for some time.

I loved the achievement patch idea, and feel it helped by gently forcing everyone to talk to the sponsors and each other. It wasn’t like entering a large hall full of sponsor tables where you quickly passed a table grabbing “swag” and avoiding an uncomfortable product spiel on something of no interest. The php|tek crew did a good job of bringing sponsors who are relevant to current developer needs.  Not only did I learn from some of them, but I also found some services I can really use.  And I did manage to collect EVERY patch, plus one extra from Mashery for building a quick application using one of their APIs. (It is the white patch.)

Of course the sessions at the conference were wonderful with lots of great speakers. It took me a few days for my brain to catch up and actually digest the contents and topics I saw. I am still trying to work through some of them. The people who decided which talks get through the screening process did a great job of ensuring we had a good list of topics, and kept them relevant to current trends.

I also took advantage of the Engine Yard Jaunt sponsored by Engine Yard on Friday night after the conference.  It was a great way to see some sites in the city, and spend more time with old and new friends in the PHP community.  There was great pizza at Giordano’s, a tour of Skydeck Chicago, and then some night life events. (My wife and son were arriving at the airport to spend the weekend with me in Chicago, so I didn’t continue on to the club portion of the trip, but I am sure everyone had a great time.)

Of course no trip would be complete without a short jaunt with the family on a beautiful sunny day.  So on Saturday and Sunday we headed out and saw a lot more of the city, which will be posted on my more “family” oriented outlets.