Anyone who knows me better than my Twitter profile will know I have a love/hate relationship with my reputation, and the online persona that goes with it.
I got an absolute fuck-load of followers over the years by building a bunch of stuff, open-sourcing it, talking about what I've been working on, doing screencasts, writing tutorials for all sorts of sites, spending hours a day answering on StackOverflow, posting on forums and doing whatever I can to educate other people and get them quickly learning the things that took me a long time to learn.
My career has always been very public, and with that a lot of people know a lot of things about my life. I'm honest, share my successes and my failures, and people usually know everything that's going on with my social life and what my current visa status is.
I don't mind this weird sort of celebrity, but it is not something I ever really intended to happen. I like to be open and honest, but this comes across to those that don't know me very well as ego, or being self centered.
Blogging about what I had been working on - and in 2008 that was mostly CodeIgniter - got me some interesting opportunities. Working as a junior at a financial services company back in Bristol was hell. I only took that shitty job as my own company died in the recession, and I hated it. During my time there, bored and sat at my desk, I blogged about what I'd been working on in my spare time: creating PyroCMS and various CodeIgniter libraries that went with it. I released a library a week for a few months and had a lot of attention around that. The attention was nice and all, but I liked what came with it more: I got a better job as a senior elsewhere and escaped that hell-pit.
In 2010 there was a lot of rumbling in the CodeIgniter community. I used my profile and my reputation to highlight the problems with CodeIgniter and its management, and eventually worked my way into the core team and contributed to CodeIgniter being actually open-sourced, not just a free ZIP file on the Internet. Say what you want about CodeIgniter, but that was a huge move, and again my reputation shot up like a rocket.
For most of 2011 and 2012 I had been working as a consultant and a contractor in the world of CodeIgniter. CodeIgniter is where my work came from, and the more I blogged about CodeIgniter, FuelPHP and PHP, the more I tweeted about programming, the more others tweeted about me, the more work I got, and the more my rates would go up. During that time, public profile directly correlated to income.
At the end of 2012 I took a job as CTO at a tech startup here in New York, and I had to make a lot of choices. I quit CodeIgniter, quit FuelPHP and started using Laravel instead. Let somebody else worry about building a framework I thought, I have a startup to build. When I quit CodeIgniter, their CTO got in touch and thanked me for my direct and frank approach to problems. He told me that I had a persuasive personality and told me to keep it up wherever my career took me next. I did.
I gave away my paid ExpressionEngine add-ons, deprecated a bunch of CodeIgniter libraries and found new homes for some 1000+ star repositories. Startup hours can be tough, so I dumped a lot of code. Letting your projects gather dust is an ass move and should be avoided at all costs.
If you aren't using something at your job then it becomes a chore, and eventually will be something you start to resent. Somebody out there is probably willing to take it over, and if nobody cares enough to do that then you can probably just mark it as abandoned. I gave away or shut down more GitHub repositories than many developers have ever even released.
I was almost done with the public stuff. Almost ready to slink back into getting the fuck on with a job and being done with managing open-source projects and the suck of community management. The last thing keeping me active in that area was PyroCMS. I'd spent years building that project alongside the rest of the team, and many of my friends and followers relied on PyroCMS for their income. Thankfully, it was acquired by two of the core contributors, who had the budget and the bandwidth to take on the daunting task of PyroCMS 3. That also got me out of the Framework Interoperability Group, because it's projects, not people.
Almost out. Almost done.
Well… visas. I was told that to get my O-1 visa I would need lots of evidence to show "a level of expertise indicating that the person is one of the small percentage who has risen to the very top of the field of endeavor." or something… ugh. Guess who needs to get back in the limelight and generate evidence of being able to write teh code? HEY, IT'S PHIL, I'M GONNA TALK AT ALL THE CONFERENCES!
I got a new visa, and then the fucking company went bankrupt. All of a sudden, my books and the silly t-shirts my friends and I designed became my only income. HEY, LOOK AT ME, BUY MY STUFF. HIRE ME TO TALK TO YOU ABOUT STUFF. I KNOW EVERYTHING PLEASE HELP ME EAT.
Joe: Hey Phil, can you help me get Anonymous Classes through internals to save me having to fight on there?
Phil: Sure Joe.
And then I was on internals.
Well now I have my visa. Now I have my new job. I am working at an awesome company with people I love, and I am not even using PHP anymore. I have no need for a public career now, and I have no need to be involved with PHP at any particular level. The FIG is doing just fine. The League has a bunch of smart people so I can probably get out of that. All I have left is Fractal and I'm finding a home for that too.
Winding things down is a welcome step forward in my life. I've been involved with open-source for over a decade. I had stuff on SourceForge. I was running this shit back in 2007. It's time to give it a rest.
And as a side note, I am tired of the fight. Tired of seeing people talk past each other on Twitter then get into fights over nothing. Tired of trying to explain those misunderstandings only to get shouted at myself. I'm tired of playing jackass whisperer.
I'm tired of trying to defend patent facts against people who just want me to be wrong based on weird personal prejudices (Sounds weird, but they've admitted this more than a few times). I'm tired of every conversation I have being labeled as drama. I'm tired of every PHP drama being blamed on me. I'm tired of valid concerns being sidelined as drama just because I raised them.
I'm especially tired of people making weird slanderous accusations, with nonsense like:
- selling the PHP The Right Way book even though it says it's free right there on the website
- trying to control the FIG setting Kayla up as a "puppet vote"
- trying to steal credit for others work with the League…
The horse-shit has got a bit much of late.
What I am really excited about is breaking further away from being a super involved PHP developer and focusing on being a software engineer. I want to work with other software engineers to build some awesome software. I'm sure I'll be using PHP again sometime soon and I do look forward to it as PHP 7 is doing a cracking job. Some posts will probably come out about PHP here as a commentator, but I certainly want to focus elsewhere and not feel tied to it anymore.
I'll be talking a lot about the various languages I'm working with, and the random problems I've had with API design and fun stories about geo data.
I am really glad that now, I can simply block someone who is being an asshole without needing to worry about the fact they have standing in the PHP community, and how that effects my projects, or speaker opportunities, or any of the politics that goes with it.
A few closing thoughts for my PHP followers before they all jump ship:
- Write framework agnostic code. Relying on one specific framework when they change every five minutes is a silly idea.
- Chill out about the League. It's basically Aura with a silly name.
- Build stuff PHP doesn't have already before making the 20,001st HTTP router.
- Learn another framework. If you do everything in the same framework you're definitely doing something wrong.
- Learn another language. If you do everything in the same language you're definitely doing something wrong.
- Keep an open mind about PSRs. They might seem irrelevant or broken at first, but they're quite excellent.
- PHP Internals are not a Borg hive mind. Some of them are assholes, and they are vocal, but there are a lot of great people you should try and talk to or meet if you can.