Sebastian is the co-founder of “thePHP.cc”, a leading PHP consultancy company and a speaker at various PHP conferences. He has years of experience in PHP development and has authored several books on PHP.
In his interview with Cloudways, Sebastian talks about how his career started, shares his experience of PHP conferences, talks about how he founded his company, discusses PHP 7 and his hobbies. Enjoy the interview 🙂 .
Cloudways: First of all, tell us how did you get interested in programming?
Sebastian: In 1990, I was twelve years old at the time, I got my first computer: an Amiga 500. I quickly discovered the wonderful world that is programming. After starting with AmigaBASIC I quickly moved to more powerful BASIC implementations such as GFA BASIC, Blitz BASIC, and AMOS. But it was on the Amiga 1200, which I got in 1993, that I started to program “for real” with ARexx, C, and Assembly.
Many of my friends were active in the Amiga demoscene. This is why I developed extensions for the Amiexpress and FAME bulletin board systems.
Cloudways: You are considered among pioneers of quality assurance in PHP and the creator of PHPUnit, a testing framework of PHP. Tell us how you initiated the idea?
Sebastian: In late 2000, early 2001 I was exposed to software testing in general and unit testing in particular for the first time when I worked with JUnit at the university. Around this time I started to work on what would become PHPUnit, triggered by a discussion with a professor of mine who thought that a tool like JUnit could not be implemented for PHP. I committed the initial work on PHPUnit to cvs.php.net on November 27, 2001. Version 0.1 of PHPUnit was released on April 6, 2002. PHP as well as PHPUnit have evolved a lot since then and software development with PHP is very different today from what it was all these years ago.
Cloudways: You have been an active PHP community member. Which people from PHP community do you think are contributing a lot? Or which you think are an inspiration for you?
Sebastian: I am thankful for everyone involved in the PHP ecosystem: the core developers for advancing the platform, the vendors of components and frameworks for providing reusable solutions, and every developer who uses PHP for changing the way we live and work through products and services nobody would have thought of not so long ago.
Cloudways: You frequently present at PHP conferences around the world. Can you share a bit of your experience from these events?
Sebastian: The first time I presented at a conference was in October 2000 at the world’s first PHP conference, the PHP Kongress in Cologne, Germany. And I immediately loved it! Conferenced provide me with opportunities to share my knowledge and experience with other PHP developers. Many features of PHPUnit have their origin in discussions I had with conference attendees. This interaction with the users of PHPUnit which I created and maintain to help PHP developers build better software is invaluable to me.
Cloudways: You have been the contributor of development tools. Which tools you like in PHP? Which tools would you like to recommend to our PHP users?
Sebastian: There are a couple of tools that I do not want to work without. One such tool is Composer, for instance. Managing the dependencies of a project is a real problem, one that is solved by this tools. I also do not want to miss PHPAB, the PHP autoload builder. Looking into the future I think that Phive, the PHAR Installation and Verification Environment, will become an invaluable tool to any PHP developer as it allows for the easy and secure installation of PHP tools that are distributed as PHP archives. And although I do not want to blow my own trumpet, I could not work, at least not professionally, without PHPUnit which is why I started the project to begin with.
Cloudways: You are one of the three co-founders of thePHP.cc. Can you tell our audience what motivated you to found this PHP consultancy?
Sebastian: Arne Blankerts, Stefan Priebsch, and I have known each other for almost as long as each of us is “doing” PHP, which is a long time. In 2007, or maybe 2008?, a training company approached Stefan and asked whether he wanted to provide PHP trainings for them. He then approached Arne and myself because he had this idea to give these trainings not with one but three trainers. The original idea was that each trainer would present by himself. That quickly changed into “lets have always two trainers in the room”. In the end, though, all three of us were
present in the training at all times. And the attendees loved it! We presented different viewpoints, discussed alternative solutions to a problem, and did not present a “single truth” that you just have to believe. We successfully ran this all-week training experience called “PHP Code Camp” a couple of times.
Eventually, attendees asked us if could come in for on-site consulting and training. We sure could, and did, but they were quite surprised that they got individual invoices from each of us because we did not have a company together. We took this as a sign and founded thePHP.cc in early 2009. The reaction from the PHP community to our announcement was: “Oh, finally you realized that you should start a company together!”.
Cloudways: How do you see the PHP 7 release last year?
Sebastian: Overall, I am very pleased with PHP 7. The release brings with it major performance improvements as well as a major cleanup of the PHP runtime’s C sourcecode. The former, obviously, provides an immediate benefit to everyone who uses PHP (well, anyone who runs their code on PHP 7). The latter is more of a long-term effect because it makes it more convenient to add new functionality to PHP as well as easier to on-board new people who want to work on PHP itself.
I am not, however, happy with the way that the support for scalar type declarations for function and method parameters. I would have preferred the solution that was proposed by Zeev Suraski, Francois Laupretre, and Dmitry Stogov. Instead of two modes of operation their implementation would have applied stricter casting rules than the ones used for explicit cast operations to “coerce” argument values that do not match the expected type of a parameter.
Cloudways: Hobbies are necessary to refresh minds especially when you are associated with coding technology field. Apart from your professional life, what are your interests and hobbies?
Sebastian: In addition to reading books and playing video games I am also doing retrocomputing. I mentioned earlier that I fell in love with programming on the Amiga platform. Last year I dusted off my Amiga 1200 which I had retired in 1998. It is amazing that there is still new hardware and software produced for this great platform.
Start Creating Web Apps on Managed Cloud Servers Now!
Easy Web App Deployment for Agencies, Developers and E-Commerce Industry