It’s an honor for me that I got a chance to interview such a big name of the PHP Community, Gordon Oheim. Gordon was a Stack Overflow moderator and the number one contributor on PHP tag. He has been in this field for more than 10 years now and is a Zend Certified Engineer. Currently, he is working as Senior Software Engineer at Instana. He is also a member of PHP documentation team.
Gordon shared his views and experiences about his development career, his achievements, and his priorities. He also shared how he started his professional career in this field. Read this interview to learn about PHP from the maestro himself.
Cloudways: Gordon, tell us how you became a software developer. From where did you start your career? Who was your inspiration?
Gordon: I always liked computers. I wrote my first programs for fun on my Schneider computer when I was a kid. I remember one was a text adventure. I was very proud of it because it would produce sounds and do fancy color effects. Another program was a vocabulary trainer I used for school.
What drove me in the beginning was really just curiosity and a desire to build something. It was only much later, when I learned about design patterns and engineering principles, that I got inspired by other people. Martin Fowler and Robert Martin certainly had some influence on me. Also, I am a firm believer in the Agile Manifesto and try to live by its values and principles.
Cloudways: In one of your interviews, you said that your motto of life is: “Do something today that your future self will thank you for.” How can you relate your life up till now in light of this motto?
Gordon: I can say that I am happy person right now. I am in good health. I have a loving family and a job that sustains and fulfills me. So, I guess I did some things right in the past that made this possible. I am thankful for those. I certainly did not plan every step up to here, but it helps to have an idea of where you want to go in life and work towards that. This motto is an expression of that.
The motto doesn’t have to relate to those big life decisions only. Often, you don’t know what you will thank yourself for. Like I once had to reread an article I read years ago. I found that I had marked the important passages and put summaries of the various paragraphs. That saved me a lot of time. So it can be simple things like this, too.
Cloudways: You are a moderator of the PHP section of Stack Overflow. No doubt it’s a great honor for any developer to be a moderator of such a big user group. Which aspect of working with Stack Overflow excites you the most and which aspect is the most challenging?
Gordon: Getting elected by the community and trusted to uphold their values is indeed a great honor. Getting access to the moderation tools was very exciting to me. So was getting to know all the other moderators. They are a fine bunch. And, this feeling that you help to maintain the quality of the biggest Q&A site in the world is just awesome. Also, engaging with the community at that level can be very rewarding.
The most challenging aspect of moderation for me is finding the time. You never run out of work as a moderator. On the one hand, you want to handle as many flags, resolve as many conflicts, help as many users, and catch as many cheaters as possible in the limited time you have. On the other hand, you owe it to the community to do all this with good judgment and quality.
When I was elected as a moderator in 2013, I was mostly working from my home office and my son wasn’t born yet. Nowadays, I commute to work and have a kid at home. It’s become increasingly difficult in the last months to still find the time it takes. This is why I am stepping down as a moderator after the November election.
Cloudways: Gordon, you belong to Essen, Germany. How do you see PHP community over there? Would you like to mention any specific person or PHP group which you think is the most active in Essen?
Gordon: I am not aware of a PHP community in Essen to be honest. I am a member of the PHP Usergroup Dortmund though (that’s close by). But, we haven’t had a formal meeting in a long time mainly because we are all are friends now anyway and regularly meet outside the official user group meetings. These guys are really great.
There is quite an active community at Düsseldorf (also close by). I always intend to go there but never find the time. Although when I was still working in Munich, I visited the PHP Usergroup there a few times.
Cloudways: As an experienced developer, what changes do you see in the PHP world after the official stable release of PHP 7? How will it affect the life of a developer?
Gordon: I like how PHP is maturing. It has come a long way from the early days when I picked it up. The language has added stability, features, and performance. I don’t want to single out individual people. PHP is and always will be a community effort—but what the folks around Nikita Popov did in recent years is very awesome.
I don’t expect too much to change initially in the final release of PHP7 though. A lot of people use PHP with shared hosts and those are slow to upgrade. PHP4 was still in very wide use long after PHP5 was released. I don’t expect this to be too different for PHP7. Also, migrating to a new major version might not be practical for some legacy applications. There has to be a justified business case for that. But, frameworks might help push adoption by picking up new language features. We will see.
As for how it will affect the life of a developer: that’s up to the developer. You are not forced to use all of the fancy new features. If you have no use for anonymous classes or return types, you just don’t use them. Backwards compatibility was and still is a major focus of PHP, so if you want to code like you did before, you can do that. But again, some frameworks might push you into adopting a new feature or two. If you want to stay current, learn the new stuff.
Cloudways: There are hundreds of PHP frameworks available, including Laravel and Symfony. How is your experience of working with PHP frameworks? Which framework do you prefer and why?
Gordon: In general, I do not like frameworks. I used CodeIgniter, CakePHP, Zend Framework, Symfony, and Doctrine in the past. They do their jobs well, but I prefer lightweight components. With frameworks, you have to adopt their conventions and I often find they make development more complicated than needed. I often just write my own abstractions over native PHP libraries because it’s good enough for what I am trying to achieve.
Cloudways: You have been a speaker in 12 events in 2 countries. Recently, you attended WebTech conference and PHP Conference in Munich. How was the experience?
Gordon: It was good as usual. Many good talks and interesting people (old and new). And, tasty Bavarian food. In my opinion, they managed to increase the quality of the conference compared to last year. Also, my talk was well received and I got good feedback from the audience.
Cloudways: Being a certified Zend engineer, you have gained a tremendous amount of experience that spread over 15 years. In these years, what was your best experience? Also, would you like to share the name of any personality with whom your experience was awesome? What have been your contributions being a member of PHP documentation team?
Gordon: My best experiences have been when I could collaborate well with people and when I could build something other people actually used. That always gives me a sense of achievement. Also, learning about Refactoring, Unit-Testing, and the SOLID principles was quite a good experience as these elements helped me grow as a developer.
I met many good people along the way: My friends at the user group, the folks in the Stack Overflow PHP chat, people at conferences, and so many colleagues. Too many to name them all. But, I am thankful for having worked with them. Then again, I am also thankful for the less pleasant experiences. You learn from both.
As for the documentation team: it’s been a while that I last contributed to the documentations (docs). I documented a few things in the SPL section. The SPL has a number of useful classes that are lacking good examples. The MultipleIterator and AppendIterator docs were largely contributed by me.
Cloudways: Currently, you are working as senior software engineer at Instana. Tell us about Instana’s analytical tools. On which technologies are you working there?
Gordon: Instana believes that current APM solutions are not too well suited for the demands of modern distributed application infrastructures. DevOps engineers face many challenges when trying to monitor the health of microservices and cloud solutions. With tech stacks becoming more and more diversified, you need experts to make sense of all these systems. An APM solution doesn’t help if it gives you lots of data, when you lack the experts to analyze it.
Instana tackles this problem by collecting all of your metrics and putting Machine Learning at that data. We built Stan, a virtual DevOps assistant to support your Ops team. Stan knows a great deal about various technologies and will tell you when your applications and infrastructure has problems. It also offers actionable advice. That is quite exciting.
I am working on the PHP agents. Simply put, I am building the software that will tell you the health of your PHP applications. This includes general PHP monitoring, e.g. request throughput, memory consumption, CPU and OPCache utilization, but also application specific information, like where and why your WordPress, Joomla, Magento, or custom app might be slow. It’s a lot of work and it’s done mainly in Java, C, and PHP. It’s really great work and I get to learn a lot about PHP.
Cloudways: Apart from being a hardcore developer, you are also keen on scuba diving, gaming, and playing music. Tell us which games do you play the most? Which musical instrument are you good at playing?
Gordon: I don’t get to play many games since my son was born. I like the GTA and Fallout series, but I also play Mass Effect and RPGs in general. Civilization is also great. And Minecraft! Lately, I’ve been playing Fallout Shelter. It fits my limited time because it’s a casual game.
I am not too good with any musical instruments. I can play a few songs on the guitar. But learning to play an instrument well is a lot like learning to code well: it takes years of practice.
Cloudways: Cloudways made Cloud Hosting simple by giving a platform where you can setup custom PHP websites in a few clicks. It takes minutes to deploy applications on Amazon Web Services, Digital Ocean, Vultr, and Google Compute Engine. What do you think about the features and performance of the platform?
Gordon: I didn’t have a chance to try Cloudways yet. So I cannot tell about its performance. I am sure it’s good. I like how Cloudways makes technology accessible to non-technical people. That idea of “You focus on your website and campaign and we do all the rest” is cool. As engineers, this should be one of our main goals.
On a side note, you might benefit from using Instana to monitor all these servers. 😀
Start Creating Web Apps on Managed Cloud Servers NowEasy Web App Deployment for Agencies, Developers and E-Commerce Industry.
Ahmed was a PHP community expert at Cloudways - A Managed PHP Hosting Cloud Platform. He is a software engineer with extensive knowledge in PHP and SEO. He loves watching Game of Thrones is his free time. Follow Ahmed on Twitter to stay updated with his works. You can email him at [email protected]