All the way from Toronto, Canada, in conversation with Mark Story, who is a renowned name in the web development community. Mark has been coding for about 15 years and PHP was the first server-side language he used. Apart from being a Core Developer at cakephp, Mark is currently working at Sentry building out application monitoring.
Shahzeb: Hello, Mark. Thank you for taking the time out for this interview. Before we start, Can you please tell us a little bit about yourself so our readers get to know you better?
Hey, Shahzeb. Thanks for asking me to participate. I’m a web developer based in Toronto, Ontario, up in Canada. My partner, Tina, and I have three children and a garden. I’ve been in web development for about 15 years and PHP was the first server-side language I learned. I’m currently working at Sentry, building out application monitoring.
Shahzeb: Can you share your PHP journey with us? Any stories from your career you find interesting? What was the major challenge you faced at the beginning of your career and how did you tackle it?
As that agency grew, clients wanted more complex sites that required custom workflows which required learning PHP. Like many beginner PHP developers, I wrote my own homebrew framework. With each project, my homebrew framework grew, and it was harder to maintain. I learned about open source frameworks and tried building prototypes with a few.
CakePHP was the one I was able to get running with the most success. I was able to put a demo together for my boss and we started building our new applications with CakePHP. This led to me contributing documentation and fixes to the framework, and then getting involved as a core contributor, and eventually becoming the project lead.
Shahzeb: How would you describe CakePHP to someone who has never heard of it?
CakePHP is a framework for building web applications in PHP. It handles the tedious parts of application development like providing object-oriented interfaces for request data, responses, routing, building database queries, and mapping query results into objects. CakePHP also provides an application skeleton and a set of conventions so that each of your projects are structured the same way. This makes working on multiple projects or onboarding new teammates easier as each application shares the same layout.
Shahzeb: You have extensive knowledge of PHP development. Would you like to tell our readers about some of the best PHP projects you’ve worked on?
Beyond CakePHP, which is the PHP project I’m most proud of, I had a good run with XHGui but haven’t had much time for it lately. During the COVID closures here last year, I built a task list app called Docket because I wanted to learn something new and build something I could use daily and iterate on. I also really enjoyed building my side-gig Stickler-CI. Stickler CI ensures that each pull request your team makes conforms to your team’s style guide and takes care of keeping linters and code quality tools up to date. It was great to build a real product with libraries I had built as open-source and have full control over the product and technology choices.
Shahzeb: What type of web hosting would you prefer? In your opinion, what are the benefits of hosting a site on a managed solution provider rather than conventional shared hosting?
My hosting preferences depend on a few factors. The scale of the project and the experience of the team I’m working with dictate many of the choices. Choosing a hosting solution that the team isn’t familiar with is a poor plan. Similarly choosing a solution like shared hosting for a large application leads to a lot of rework as you need to scale.
Managed solution providers can be a good fit when your team doesn’t have expertise in managing a fleet of machines directly or doesn’t want to deal with the complexity of solutions like Kubernetes. I don’t think you can fairly compare managed solution providers to conventional shared hosting. To me, they are addressing different markets. Conventional shared hosting is great when you have small traffic and are cost-sensitive. Managed providers target larger customers that want to focus on building products and services.
Shahzeb: What do you think about managed hosting solutions like Cloudways that provide an optimized PHP stack with features to deploy their web apps?
I think it is a great way for providers to provide additional value to customers. Having an optimized PHP stack alleviates a bunch of choices and complexity from your customers. Instead, they can focus on solving the problems that help their business and customers.
Shahzeb: What do you look for in a PHP host? In your opinion, what are the benefits of using cloud-managed hosting over conventional shared hosting?
I personally enjoy fiddling with servers and maintaining them. For my personal projects, I opt for simple cloud hosting that gives me root access to a virtual machine. In my day job, there is a dedicated operations team that does great work.
Shahzeb: It’s really important to balance your personal and professional life. How do you spend your time when you’re not working?
I like to get out for a walk or bike ride every day. In the winter I love to go skating and snowboarding. I have three children who keep me pretty busy. But once they are sleeping, I work on my open source projects, play Magic the Gathering, and learn new skills. This past year I’ve been learning about mechanical keyboards. In the spring of 2021, I designed and built a custom layout hand-wired keyboard. This summer and fall, I learned some electrical engineering and designed a PCB for my custom layout. I’m hoping to get a few boards assembled this winter.
Shahzeb: Who do you suggest we should interview next and why?
If you’ve not already talked with Ben Ramsey he is great. He was the release manager for PHP 8.1 and maintains several great packages. I would also suggest you talk to Anna Filina. She used to organize Confoo and is a fantastic speaker and educator.
Shahzeb: Mark, I’m sure many people have taken notes. I’m also sure they’d love to see a picture of your workstation if you’d like to share one!
Start Creating Web Apps on Managed Cloud Servers NowEasy Web App Deployment for Agencies, Developers and E-Commerce Industry.
Shahzeb is a Digital Marketer with a Software Engineering background, works as a Community Manager — PHP Community at Cloudways. He is growth ambitious and aims to learn & share information about PHP & Laravel Development through practice and experimentation. He loves to travel and explore new ideas whenever he finds time. Get in touch with him at [email protected]