Michelangelo van Dam is the co-founder and CEO of in2it. He has been working with the PHP community for many years and has become an expert on PHP and Zend Framework.
Recently, Cloudways got a chance to interview him regarding his experience and how he got involved in the PHP community. He also shared different things related to PHP, including the change of WordPress from PHP to NodeJS and how it will change the internet landscape.
I learned a lot from Dragonbe and I am sure you are going to learn a lot reading the awesome interview!
Cloudways: How was your experience as a coach in CoderDojo Mechelen? What was the major thing you taught children?
Michelangelo: The experience is awesome, you get to experience unlimited out-of-the-box thinking from young and eager minds that combine phantasy with code and produce amazing results. We use Scratch to teach these kids the basics of coding: what are conditions, iterations and execution blocks. By giving kids the basics of coding, they are able to build interactive games or short movies that they can present at the end of the dojo.
Cloudways: Since MySQL_ is totally deprecated in PHP7, what is an easy way to change your code from mysql to mysqli ?
Michelangelo: If you have been using the native “mysql_*” PHP functions directly, you should be able to do a full search and replace into “mysqli_*” (s/mysql_/mysqli/). Not all functions have an improved MySQLi replacement, so for some of the more exotic usages of MySQL native driver you should look at the documentation how to best replace it.
If you have been using PDO all you need to do is replace the driver in the DSN and you’re good to go. That’s the beauty of using PDO and I can only encourage everyone to step away from native driver usages and use PDO as you not only can flip the driver at configuration level, but you gain extra functionality like prepared statements and binding parameters which surely will benefit your security of your applications. Still not sure, just have a look at the results on GitHub when you search for “extension:php mysql_query $_GET”.
Cloudways: What is the story behind Dragonbe since you’ve mentioned it in all of your contact and web bios?
Michelangelo: Well, there’s not a real story behind it. I was always fascinated by dragons as apparently I’m one in the Chinese horoscope. And since I live in Belgium I just glued both together. DragonBe has been my handle for as long as I can remember. I used it on the Bulletin Board Systems (BBS). I operated from my room at home before the Internet became publicly available. When the Internet became accessible in the mid-90’s through CompuServe, you only had discussion rooms similar to the rooms I had on my own BBS so I continued to use my handle there as well.
Later, I started gaming and since I felt it was a cool name for my gaming character I used it there as well. When I started to use the global internet more and more, I found that it was easier for people to just type “DragonBe” than my full name “Michelangelo van Dam”. It made conversations a whole lot easier.
Cloudways: Do you think WordPress changing to NodeJS will have any effect on the growth of PHP?
Michelangelo: WordPress has been and always will be the leading blogging tool. Their decision to move to NodeJS was made and they will succeed. But, WordPress is also known to support many older versions of PHP for the past decades and all the plugins, themes and extensions for WordPress are still PHP based. So, even if the core of WordPress.com moves to NodeJS, the whole ecosystem that makes WordPress CMS so awesome will be relying on PHP for a couple of more years to come.
Cloudways: What are the new features of PHP 7 you think will help it to compete with Ruby on Rails and NodeJS?
Michelangelo: I don’t feel PHP is in the competing business. The reason for PHP’s existence is to provide solutions to those developers that can’t find these solutions in other technologies. Ruby, NodeJS, and other technologies have their purpose and they do a better job than PHP in some cases. In most cases, PHP is the answer to the requirements.
That said, the changes PHP 7 brings to the table make it a whole lot easier for people to write high-quality code and to have native validation of correct usage. The following new features are really my favorites: Scalar type declarations, Return type declarations, Null coalescing operator, Spaceship operator, Anonymous classes, Group use declarations, Catchable errors, and Session options. You can find the full list of new features here.
Cloudways: What language would you prefer for application developers to choose as a backend to connect with the database?
Michelangelo: That’s a complex question if not given the full scope of the project, similar to “what do you wear on a sunny day?”. If you require high performance, C will be your most obvious choice. If you require to feed the database through a RESTful or RPC API, your choices can range between PHP, NodeJS, .NET, Ruby, Python and even Perl. If you need a huge web based application behind it, your choices will be .NET, Java or PHP as you need to look at the availability of developers for the technology chosen. It’s easier to find developers for aforementioned technologies than other languages and for businesses that has a higher value than what’s best for the goal to achieve.
Cloudways: What is the first advice you give to a customer who comes for consultancy at In2It?
Michelangelo: Our customers are often in a situation where things are breaking and the company is losing money because a major component of their business application is breaking. We are called in to make an assessment of the situation and solve the issue. At In2it we like to work with the in-house development teams as they know the application best and we assist these teams solving the issue(s) themselves. Once the situation is corrected, we provide a de-briefing for all stakeholders and offer suggestions to ensure these things will not happen again in the future. This often involves changing development processes, adding tests and other QA steps and improving communications with improved notifications. But each situation requires a different approach and solution, so there’s not really a single piece of advice we can give our customers.
Cloudways: What advice would you give to the students who are thinking of starting their career as a developer? From where should they start?
Michelangelo: Development is a career that requires passion for your job as you’re faced with continuous learning, high pressure situations and complex challenges. If you have this passion, the future can be very bright as our society will depend more on technology each day. The technology where you become most proficient in will depend on the usage of your technology. You don’t need to learn Objective-C or Swift if you like to build interfaces for airplanes, PHP is also not the solution for you if you like to build robots, and so on.
From time to time I give guest lectures about PHP at colleges and the one question I get is “Will there be a job for me in PHP?”. I always give the same answer: “Yes, PHP is currently ran on more than 80% of the internet and will be dominating the Internet for a couple more years. Even when the next best thing comes around, it will take 15 to 20 years for it to dominate the market while in the meantime legacy applications still require support and updates. So, yes, PHP will offer you a job for at least two decades and by the time something new comes around, you will probably have jumped on that band-wagon already, so don’t worry about it.”
Cloudways: What affect will be seen on PHP7, since WordPress is moving on to NodeJS?
Michelangelo: WordPress is a major player in the PHP ecosphere, but since it also supports older versions of PHP, I don’t see it as a game changer for PHP itself, even if they move away from PHP. The adoption rate for latest PHP versions is slow, and it will take at least another 5 to 10 years to see PHP 7 stack being the leading PHP version supported on all platforms. The only thing that can boost the usage of PHP 7 is the massive adoption by the developers and businesses building on top of PHP.
Cloudways: We all know NodeJS is much faster than PHP, how do you think PHP7 can compete with it?
Michelangelo: Again, I don’t see it as a competition. Given the goals and purposes I believe both have their meaningful place within the whole technology stack. And nothing’s wrong combining the two together as some things can be done more easy with NodeJS and others easier with PHP.
Cloudways: You have vast experience in different fields, what experience do you think is the ladder which propelled you to fame?
Michelangelo: Nice trick questions. I don’t see myself on a pedestal, I am just a developer with a particular interest in unit testing and quality assurance. I started learning about it before PHP became mainstream in enterprise application development and therefor I think I was one of the few who actually could operate at these heavy requirements of enterprise application development. Being regarded as an icon in that field only helped me being chosen to present talks at conferences that boosted my personal brand.
But I also believe that my involvement within the PHP community helped me getting where I am today. Organizing user group meetings and, later on, a PHP conference surely has put the spotlight on me and everyone involved.
Cloudways: What was your contribution in the development of Zend Framework?
Michelangelo: I think I’m best known for my bugfixes and work on Zend_Ldap, organizing ZF Bug-Hunt days and coming up with ideas to promote Zend Framework.
Cloudways: What PHP framework do you prefer the most, and why?
Michelangelo: I will not deny I’m a fan of Zend Framework, but I also like just plain PHP as it has all the tools to make awesome applications that don’t require a full-fledged framework. Slim 3, Zend Framework 3 and Symfony 3 have a smaller footprint making it more easy to use in rapid application development, but sometimes I enjoy the robustness of Typo3 or the clean architecture of Aura-PHP. But the choice of framework (or the lack of) is depending by which goal I want to achieve, not what I enjoy the most.
Cloudways: And finally, how do you spend time when you are not working at all?
Michelangelo: Family time is precious to me as I don’t get to spend much time with my wife and kids. My kids are still young so being around and seeing them grow up is just an awesome experience I don’t want to miss out on. And my wife is the reason I long to come home each day, even if I’m far away on an assignment with a customer in another country. Home is where I can find the energy that will help me throughout the week and my family is the inspiration to see if I can improve myself as a professional and as a person.
Start Creating Web Apps on Managed Cloud Servers Now!
Easy Web App Deployment for Agencies, Developers and E-Commerce Industry