Sammy Kaye Powers
Sammy Kaye Powers has been making things on the web for twenty years. Sammy spends the bulk of his time in coffee shops cranking out web apps. He dabbles in PHP internals and is the maintainer of the official Facebook PHP SDK. He loves sharing knowledge about Facebook development and PHP at SammyK.me. He co-organizes the Chicago PHP user group and hosts the PHP Roundtable podcast. He travels all over the States competing in a dance called West Coast Swing.
Where do you work, what is your current role?
I’m an open-source software engineer at Datadog working on a PHP extension that brings APM and distributed tracing to PHP.
How do you use PHP professionally?
I’ve abused PHP professionally since PHP 3; making it do stuff it was never intended to do – wait, you said used? Ah yes. I’ve used PHP to make countless websites, web API’s for mobile apps, loads of command-line scripts, and more recently I’ve been injecting it into other people’s code to give them more observability of their production stack.
How and when did you get involved speaking or writing in the community?
I’ve been slinging PHP articles since my first article in 2004 about a little DBAL I wrote. (I just realized that was before PHP 5 came out!) At the time I didn’t even know what a DBAL was… and also before I knew what a SQL injection was. Needless to say, the DBAL is full of SQL injections so please don’t use it. Anyway, I’ve been writing articles and screencasts ever since. The process of sharing what I learn has played a huge role in my progression of knowledge.
I didn’t get into speaking (or even know about the awesome PHP events out there) until my first Laracon and php[tek] in 2014. Inspired by the awesome people I met and the talks I went to, I started submitting talk ideas to CFP’s but never got accepted. But I didn’t give up and I kept submitting to CFP’s, speaking at user groups, and filling uncon slots until I finally got my first talk acceptance at Pacific Northwest PHP in 2016.
What’s your best conference memory?
There are so many great conference memories to choose from! I guess one of my first memories that I’ll never forget was at php[tek] 2014 when I sat down at a small table of two or three people for lunch. I didn’t know anyone from the community at the time, so I was just connecting with whomever I happened to be in proximity to. After some small talk, I commented on their lanyards which had the Symfony logo on them. I asked them if they wrote websites using Symfony. One of them responded with a smile, “Meh, just a little bit.” That person was Fabien Potencier; the creator of Symfony!
What advice do you have for someone going to their first conference?
I know being social is really hard for a lot of us, but I’d say it’s also awkward for most people there. So just embrace the awkward and try to introduce yourself to as many people as you can. It will be extremely rewarding.
What’s your primary OS: Windows, Mac, or Linux?
With as much time as I spend in Docker containers, I’m hesitant to say, “Linux.” But I’m all Mac.
Do I need to know C to understand internals?
There is so much more to internals than just the C parts. In fact, I’m going to be giving an in-depth talk at php[tek] this year about all the fun and exciting ways to get involved with internals without even knowing C. I hope to see you there!
How does understanding internals help in day-to-day PHP coding?
When you know how PHP ticks #CrossPromotionOfSarasTalk, you gain a ton of insight into the engine that influences how you write PHP code. It also opens up lots of possibilities that let you do things in PHP that you wouldn’t be able to do otherwise.
Besides contributing to core, what other ways are there to contribute to PHP internals?
The shortlist is the PHP manual, tests (which are written in PHP), triaging bugs, writing RFC’s and getting help implementing changes, and lots of websites that run the PHP internals ecosystem. For the long list, come to my talk at php[tek] this year.
What feature are you looking forward to in future releases?
I’m quite excited to see typed properties land in PHP 7.4. And a game-changer feature we’ll also be seeing in PHP 7.4 is preloading. Aside from really reducing the overhead of our PHP code in production, it opens up the possibility of writing PHP’s standard lib, wait for it, in PHP. If that were to ever happen, that would be a really exciting project to contribute to and would undoubtedly beckon loads of new internals contributors.