About This Interview
This is the #3rd
set of PHP Interview to help aspiring PHP developers and PHP fans alike to get inspired by listening from those PHPeople who are already highly involved into the PHP Ocean and *being there* taming the waves and surfing better than ever to make themselves an Awesome PHP Expert both in their own eyes (for self-accomplishment) and for the PHP Community.
On the other side, this is an opportunity for new PHPers to get to know their “PHP Elders“. I hope you will derive as much fun to read my interviews as I’m having by interviewing those awesome PHP people.
A Small Intro..
In this edition, I talked with Michelangelo van Dam a senior PHP/Zend Framework consultant. This man really needs no introduction; he is so much of an invaluable asset to the PHP community. At the time of this writing, as per wefollow.com, he is ranked as the 4th (out of 113) most influential person on Twitter for #zendframework and as the 25th (out of 2,543) most influential person for #php
Michelangelo has an amazing resume and dedicates almost all of his time to his ‘professional PHP life’ and The Community. This guy is very much generous in sharing his knowledge. He is very helpful and supportive to so many people in the PHP-sphere (as Chris Tankersley himself vouched) . Van Dam is also perceived to be very insightful for his QA projects. You can find his presentations on slideshare – some of his talks include:
- 11 protips for smooth web application deployment
- Continuous Quality Assurance
- Unit testing zend framework apps
- Write php deploy everywhere
I would also like to say that I have really really enjoyed the talk with Michelangelo, he diffuses so much good energy – As you will find below, he has really taken this interview at heart and has replied warmly and so elaborately. (Thanks a lot Michelangelo!)
The Interview With Michelangelo van Dam
>> Please tell us a bit about yourself
My name is Michelangelo van Dam (@DragonBe), but most people know me by my Internet nickname “DragonBe”. I work as a PHP consultant for a company me and my wife started back in 2009 and work mostly on-site to support and coach development teams, while keeping links between (internal) customers and developers tight.
On the side of my professional engagements, I also represent the PHP user group PHPBenelux where I work with a team of PHP professionals to bring PHP closer to the developers with monthly meetings and an annual conference.
When all work is done, I’m a devoted husband and loving father for 2 sons for whom I want to reserve all the free time I have.
>> How you started with PHP
I was working as a Java and Perl developer for a couple of years and in 2001 I got a job offering to work at an ISP in Belgium as PHP developer. There I learned the power of PHP, even though PHP was regarded as “too simplistic” and not a match for established programming languages like Java was. Since then we build applications that worked faster, more stable and were scalable and replaced most of the existing Java backends. It was in those first years of this millennium that I found a true passion for PHP and realized there was no challenge too difficult PHP couldn’t solve.
>> How do you find PHP now as compared to when you first started
PHP has changed a lot since when I started. Now PHP 5 allows you develop true object oriented applications, while back in PHP 4 we needed to use workarounds to achieve the same objected approach. In the early years of 2000 there were no real frameworks, only libraries that helped you solve many challenges but you still needed to develop your own logic. But we got the job done and had created our own solutions like document storage services, DAO’s and many more. Now everything is already build and tested so you can start focussing on the business logic. I sometimes wish we had the tools of now back then…
>> Based on your experience, what are the good and bad parts of PHP
Ha! This question is inevitable in any interview, so I got this already well prepared. The good things about PHP is PHP. It’s flexible as a language, easy to learn and capable of moulding into anything one can think of. This is also the bad part of PHP. There is no “one way” of doing things, everyone can pick up the language and claim they’re PHP professionals and because you can use it for anything you can think of I see a lot of PHP in places where another solution might do the trick better. But this is PHP, what can I say.
>> What would be the Top advice to a PHP beginner
PHP is a language you will learn by using it. You can learn the syntax by heart, you can study every book you can find on PHP but you’ll only learn the language by using it. And it’s easy to start your own project: a catalogue of movies, music, pictures or cooking recipes. You can run it on your own workstation, laptop or have it run at a hosting service provider as PHP is one of the default scripting languages supported.
>> To someone who wants to become a better PHP developer, what is your advice?
If you had your hands dirty with PHP, it’s probably a good thing to get in touch with other developers. You can find a lot of developers on irc (irc.freenode.net) in channels like #php, #phpc and #phpwomen. Also learn how to search for solutions yourself first before you ask a question on irc or on a forum, as you’re in for a storm if your question is answered with the first hit in Google.
See if you can find a local user group (pro tip: google for “php user group location” where location is your own location) and see if you can attend one of their meetings. You’ll learn a lot by talking to other developers and if you grow in your knowledge you can start sharing that knowledge as well, maybe even give a talk at one of their meetings.
And if you have the opportunity to attend a PHP conference in you area, try to get there. Even if your employer isn’t paying for your ticket, make sure you can go as you’ll learn so much in a very short time. Consider it an investment in your own future.
>> The best PHP book you’ve read
That’s a tough one as I’ve read many good books, even wrote a book review of them on my blog. I think my first book “PHPUnit Pocket Guide” I consider the best book as it has given me the urge to start unit testing back in 2005.
>> A PHP blog or resource you highly recommend
There are way too many blogs I need to list here, but fortunately my dear friend Chris Cornut (@enygma) is doing a great job aggregating all PHP articles with his phpdeveloper.org website. If you need to subscribe to one, this is it. It’s not just aggregating articles, but Chris gives his own summary of each article with it. This is what makes phpdeveloper.org unique and the one-stop for all your PHP needs.
>> The IDE that you use
I use Zend Studio most of the time, although I work as easily with PHPStorm, Netbeans, Komodo or Vi. As long as I can write my code, I’m good.
>> How do you debug your PHP code, do you use something like xdebug or krumo..etc?
I have Xdebug installed to give me some more details about variables, but I prefer to debug using test driven techniques with PHPUnit. For me it has given me the opportunity to write almost bug-free code and most of the time the bugs are related to misconception of logic than it truly is a bug.
>> A CMS that you think is worthwhile
In all my years I haven’t really used a CMS pure sang. I use WordPress for quickly posting articles and I hear a lot of good about Typo3 and Pimcore, but CMS is more a personal taste kind of thing in my opinion.
>> A PHP framework you use and would recommend
I like Zend Framework a lot as it gives me about 80% of tools I need to get the job done and 20% is easily added. It has a steep learning curve, but once you’re over the first hill, it’s a smooth ride all the way.
Symfony2 is also a powerful framework with its own benefits, so I would definitely recommend it as well. You’ll need to see what best fits your requirements. One time it’s Zend Framework, another time it’s Symfony2, and maybe on a day you’ll be using something else.
>> One PHP person that you admire and what strikes you about him/her
Well, there are way too many people who have influenced me over the years, but in my case Mr. Cal Evans (@CalEvans) was the one who influenced me the most as he has given me so many advice in starting a user group, focus on a niche and a rememberable moment in a UK subway where he motivated me and Felix (also a PHPBenelux founder) to organize a PHP conference. And this is just the top 3 of all the things he means to me. And he’s a great friend, former colleague and mentor I wish everyone had the pleasure of experiencing.
>> One PHP project you really appreciate
That’s easy: joind.in. Joindin is a tool conference or meeting organizers can use to list the talks and speakers, have their attendees provide ratings to the talks and organization and for speakers to have a proven track of record when submitting to conferences or meetings.
>> One function that you like (or which you tend to use frequently)
I think one particularly stands out: htmlentities($string, ENT_QUOTES, ‘utf-8’);
This function escapes output and ensures that your content is always in the same encoding (this example in utf-8), so you don’t get those crazy characters in your pages.
>> One PHP Community that you recommend
The PHP community itself as it resembles everyone who’s involved with PHP, even though it’s separated in sub-groups like Drupal groups, Zend Framework developers, ZCE‘s, …
The PHP community is also something amazing for non-PHP developers as we’ve seen recruiters, other technology developers and non-technical business owners being welcomed and become embraced by everyone.
>> The never ending debates on PHP would be.. ?
The next thing as there’s always something people like to debate about. Best advice is not to mix into the discussion and see whatever comes out of it.
>> In the next 5 years, how do you foresee the PHP ecosystem
PHP has grown into a mature OO language, but now we need to focus on mobile applications where the challenges and limitations of the early years pop up again. In the next five years we need to develop API’s, other applications can consume from while they themselves have to be open thru API’s. PHP will still be a major player in the field of mobile applications and mobile application technology embedded into existing server-side applications (comparable to the move from the desktop to a server-orientation).
I also see a rise of a PHP App store, where people can buy pre-packaged PHP applications that install themselves immediately on cloud solutions.
>> Recently Microsoft has also started actively to concentrate on PHP, any comments on that? Also I see from your blog that you keep a close eye at microsoft’s php initiatives and is actively talking about it at conferences..etc Any special reason for that, since it’s more common to see PHP guys with linux.
PHP has always been the 4th player in a traditional LAMP stack, but nowadays we need to be able to run our applications everywhere as more traditional businesses requiring the PHP power. Microsoft has invested enormously in PHP and it pays off. I’m now able to run my applications on Windows and IIS with no changes. If I want to use the MS SQL Server, all I need to change is the adapter of my application and get going. This is a huge benefit for anyone who’s doing PHP consulting. You can run your apps on any platform with ease.
Windows Azure is also a great move made by Microsoft as it’s a platform as a service (PaaS), so I can focus on my business logic and take no regards to the platform. And Windows Azure runs the same as IIS on Windows, so there’s really not a lot I need to do in order to have my apps running in the cloud.
20) If you had to go back in time, would you still choose PHP? What would you do different?
Yes, I probably would have started sooner with PHP, but beside that I wouldn’t do anything different.
>> How many hours you spend coding on average per day?
My work doesn’t allow me to spend much coding during the day, but in the evenings it can range from 2 hours to another 8 hours if I have something urgently out of the door.
>> You are involved a whole lot in your PHP endeavours. How do you time manage all that – how do you coordinate everything and balancing all that with your personal life(father of two sons)?
Work needs to be done, but once I’m at home I give my kids and wife all my attention. Once they’re off to bed, I crawl back behind my computer and start doing stuff.
>> The day you realised “You’ve made it to the A-List PHP arena” ?
I don’t consider myself part of an elite class of PHP developers. I’m just doing my thing and share what I know. I have to admit, it gave me considerable visibility, but I don’t consider that a spot on a premium list.
The people who deserve that spot are the people you’ll find in the PHP credits as they’re responsible for all the beauty we use day in, day out. They’re my heroes.
>> Why you are successful and why others are not?
I don’t know if I’m successful. I rather call it blessed as I can provide food on the table with PHP. Running a business is like running your life: make sure you save for dark moments, don’t spend what you don’t have and always see you can share something.
And if you fail, pick yourself up again. Learn from mistakes and share what you’ve learned. That’s being successful at being human I guess.
>> You diffuse yourself as a ‘community animal’. Could you share your best moments and may be not so good moments with us?
Ha, I got this nick name from a couple of people as I can talk about the PHP community for hours. I have only good moments to share and the lesser moments I already shared as a lesson for everyone who’s involved with a community, which is a good moment as well.
>> Things that you’ve learned from being part of the PHP Community
Give and expect nothing in return. People appreciate it more when you give something from the heart instead of giving something as a favor for a future return.
>> How would you define and/or tag the ‘international PHP community’ to someone new to PHP
The international PHP community is a wealth of knowledge in a friendly environment. Become part of this magnificent community by contributing back through documentation, translations, bug fixes or even added functionality. Earn your stripes by being committed to the project(s) and get to know the people behind the tools you use on a daily basis. With your help, we can improve the PHP world.
>> A final word before closing up…
Well, I guess I said it all here. The PHP community is a fun place to hang out, a great place to learn and an enormous resource for new ideas and best practices. Don’t wait until there’s a right time, because the right time is now. If you postpone your involvement, it will never work out. Get in touch with other technologies and discover how they can benefit your work, become good about it and share it back to the community through a blog series, webinars or even a conference talk. Thus completing the circle.
What’s More?
I have also carried more interview with DragonBe, which you can find below:
Now Do Your Part!
1) Help diffuse this interview to the PHP ecosystem – Share, tweet and spread the word to your audience ==> That would be a FREE way to thank me 😉
2) Make a comment below using the comment form – I’m sure you can at least say 1 word about this interview
{I’m thankful to your response(s)!}
I’ll consider using PHPUnit some day. I found this article through Twitter.
{Pay Sameh a visit@ http://samehramzylabib.wordpress.com/}
thanks for the comment Sameh!
Ya PHPunit is nice, try it in combination with netbeans 😉
Thank you for sharing with us, I believe this site genuinely stands out : D.
Thanks for the kind words Aleisha! 😉
Come with an idea, form a team and get an App developed over the weekend!!
{Pay Event Organiser a visit@ http://www.techmeetups.com}
Very useful information regarding PHP and inspiring article