Hello Gary and welcome to the JetBrains team! For those who don’t know you, can you tell us a bit about yourself and your background?
Hi, thanks for the warm welcome. My name (as you can see) is Gary Hockin, and I’ve been a web developer for more than 15 years. I’m an active member in the PHP community, a conference speaker, and keen blogger. I’m completely engrossed in the PHP community – in particular I love contributing to open source where I can.
Outside of work, I’m married and have two beautiful little girls. When I’m not coding I love playing competitive pool (and the pub).
How did you find out about the Developer Advocate role for PhpStorm and what interested you the most about the position? What will be your role and responsibilities?
I’ve been looking for a DA role for around 18 months. Previously I’d spoken to a few companies informally but hadn’t really been that interested in the product or company. At Sunshine PHP in February I mentioned to my friend Cal that I was looking for something, and a few months later he told me that JetBrains was looking for a Developer Advocate.
The strange thing was I’d already been speaking to Mikhail Vink and the team about Zend Framework integration in PhpStorm, and so I had already a relationship with the company. I’m also a paid user of the product. If I’m going to advocate something then I want it to be something I use and believe in, and for me, PhpStorm ticks all those boxes.
It might have cost me a bottle of whisky, but it’s proof positive that being active in the community is the best way to get ahead in the PHP world.
Tell us more about your experience with PhpStorm and what you’ve been working on?
I think I jumped in at the deep end! PhpStorm 9 had just been released when I started, so I’m working on a lot of documentation updates, and blog posts, on the new or changed features in the release. The documentation updates can be a little tedious, changing existing writing usually is, but I’m really enjoying writing new blog posts and tutorials on the cool new features.
I’m also spending time writing new talk submissions for up-and-coming conferences, and planning some new screencasts that people have told me they will find useful.
I’m also paid to continue coding on open source for 30% of my time. This is a quite amazing way that JetBrains encourages me to continue using the product I am advocating. I’m currently writing some scripts to convert the Zend Framework 2 documentation from reStructuredText to markdown format.
What trends do you see in PHP as a language? Where is it heading? What’s your opinion on latest changes?
We’ve definitely seen a renaissance of PHP over the past few years. Since the introduction of Composer (thanks Jordi), we’ve seen a huge increase of high-quality, reusable PHP packages.
PSR-7 passing is a huge moment for PHP. Hopefully it will lead to people writing even more reusable high-quality PHP packages but now targeting PSR-7 rather than designed for a specific framework. The days of a monolithic full-stack framework may be numbered; frameworks like Symfony, Laravel and Zend Framework might be replaced by a series of interoperable packages where you either write your own glue, or download lightweight micro-framework to glue the pieces together.
Of course, the other hugely exciting thing is the imminent release of PHP 7. Personally I am so excited by not only the massive speed increases, but by the more strict language features we are getting, like (strict) scalar parameter and return type hinting. That itself will enable a set of newer, faster, lighter packages to solve common problems.
It’s a great time to be involved in PHP!
If we look at the modern PHP frameworks, what trends do you see? Which is your favorite one?
Currently, most of the frameworks that have decent install numbers follow the same pattern; a series of components glued together by some kind of dependency injection container. They try to solve all things for all people and so can be quite lumbering. Typically you need to download the entire stack, even if you just want to have a fairly simple CRUD application. This is a limitation of the big frameworks of the moment, but we are already seeing this pattern change with the advent of frameworks like Slim, Silex, and Aura.
Slim 3 is particularly intriguing as it’s the first framework (I’ve seen) that actually targets PSR-7. As I mentioned earlier, PSR-7 based frameworks are particularly interesting to me.
As for my favorite framework, it’s still Zend Framework 2. I can’t honestly say it’s the “best” framework, but it’s the one I’ve been involved with the most, and the longest. I’ve made real friends in that particular sub-community. Indeed, I wouldn’t be where I am today without some friends I met through Zend Framework, so I will always have a soft spot for it.
Do you think PhpStorm manages to address changes in the PHP ecosystem, language, tools, frameworks, etc.?
I actually do. I don’t want this to feel like a loaded question because I’m working for JetBrains now, but I’ve always been impressed with how quickly the IDE keeps up with changes in the language. You only have to look at the PHP 7 support in PhpStorm 9 to see how well it keeps up with innovation in the language.
Framework integration is another thing entirely, it’s difficult to comment on as I don’t use many frameworks, but the ZF2 integration could be better. It’s one of the things I’m hoping to bring to the development team from the community.
What’s your favorite feature and what improvements would you like to see in PhpStorm?
My favorite feature is definitely the quick code reformat (Cmd + Alt + L) – I hit that key combination several times while editing any file because my code typing is sloppy and the IDE tidies everything up for me. I also love all of the refactoring features. As a lazy person, being able to extract things using the Refactor This menu (Ctrl + T) makes my life easier.
For improvements, I’m really excited to see more complete PHP 7 features. I’m already coding using PHP 7 and think that extra inspections based around type hinting would be a truly helpful thing.
Some PHP developers don’t believe they need an IDE for PHP, i.e. you can be just as productive with a text editor. What’s your take on this?
Horses for courses. Personally speaking I’m very happy with my productivity using PhpStorm. I’ve got used to most of the features I find useful and triggering them is second nature for me. I’ve seen people who can develop much quicker with Vim than I ever can with PhpStorm. While that looks really impressive, I’m not convinced that speed is everything in getting the code into the file.
I’m not an IDE preacher. I want people to know how PhpStorm is helpful to me every day in my job (and when I’m coding open source), but if you are already happy with your development tools, I’m happy for you!
What would be your advice for newbie PHP/web developers? For experienced folks? (Except using JB products!)
Don’t be scared! When you’re writing code for yourself, and if it’s never going to go live on a server in the wild, then don’t worry too much about it. The number one piece of advice I can give you is to get a mentor. PHP Mentoring organization (www.phpmentoring.org) pairs people willing to teach with people wanting to learn, and just having someone you can bounce ideas off is a useful tool.
Can you tell us something about yourself that people might not know, as well as what you enjoy doing when you’re not coding?
Of course. I own a VW camper van, and I love to get away for weekends with my family whenever I can. We go to local campsites, VW shows, and down to the Loire Valley for a couple of weeks in the summer. It’s a great chance to get away from the keyboard for a little while and helps to recharge the batteries.
As I mentioned earlier, I also love playing pool with my friends, I play in a local team league and I used to play at county level but had to give that up because of my travel commitments.
Thank you very much for your time Gary. Is there anybody or anything else that you would like call out?
I’d only like to thank everyone that’s helped me out in the community over the years. The PHP community is an amazing group with a fantastic “pay it forward” attitude. I would never be where I am today without meeting the amazing people I have from the community. If you aren’t already, you should really get involved!