PHP Interview With Timothy Boronczyk The Managing Editor of PHPmaster.com – No Substitute For Real-Life Experience Of Writing & Debugging Code

Purpose Of This Interview

This is the #27th set of PHP Interview to help aspiring PHP developers and PHP fans alike to get inspired by listening from those PHP guys 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 A-List PHP guys.

A Small Intro..

Timothy Boronczyk The Managing Editor of PHPmaster.com

Timothy Boronczyk The Managing Editor of PHPmaster.com

In this edition I talked with Timothy Boronczyk who is the Managing Editor of the famous PHPmaster.com – which is a network (venture?) of the eminent SitePoint (an online media company). @zaemis is also the co-author of the book “Beginning PHP 6, Apache, MySQL 6 Web Development“.

And Now The Interview…

>> Please tell us a bit about yourself

I’ve been involved in web development since 1998, have a degree in Software Application Programming, and am a Zend Certified Engineer. By day I work as a programmer at ShoreGroup, Inc. By night I’m a freelance developer as Salt City Tech and writer and managing editor at PHPMaster.com. There’s not much free time after all that, but I enjoy spending what’s left visiting friends, dabbling in photography, playing sudoku, studying Esperanto, and even napping.

>> How you started with PHP

I was working for a local credit union and they wanted to overhaul their website. At that time, my dynamic web programming repertoire only consisted of SSI+, which does a great job of reducing duplicate HTML headers and menus and the such, but I wanted something more flexible and powerful. The CU’s hosting company supported PHP and ColdFusion, so it was a choice of learning one of those two. There wasn’t any set up I needed to do for PHP like there was with ColdFusion, and so I went with PHP. I started out like many others using includes to mimic SSI+ and learned and grew from there. In hind-sight, it’s kind of scary how close I was to being a ColdFusion developer instead!

>> Your LAMP stack comprises…?

The stack varies depending on the project, but generally it’s a mix of either Ubuntu or CentOS for the L, Apache or Nginx for the A, PostgreSQL or Percona’s build of MySQL for the M, and of course PHP for the P. It’s all pretty standard stuff… nothing exotic.

>> The relationship between You and The PHP Community comprises…

I think the PHP community is made up of many wonderful people; I’ve made a lot of great friends and have had many opportunities open up for me because of the community. I’m really appreciative of that. I try to “pay it forward” in my capacity as editor by helping authors grow and become better programmers and writers.

>> How do you find PHP now as compared to when you first started

PHP has definitely grown and matured since I started. I started back in the PHP 3 days when there wasn’t an object model, there was registered globals, etc. Now there’s a reasonable classical object model, anonymous functions, namespaces, and a lot more. Perhaps more importantly though, the community around the language has grown too. Detractors yap about PHP spaghetti code, but back in the day we were all writing spaghetti web apps regardless of the language… PHP, CGI with Perl, and even JavaScript. Now there’s frameworks, each with their own following. We have local groups, larger groups like PHP Community and @PHPWomen, and some really fun conference circuits.

>> Based on your experience, what are the good and bad parts of PHP

Everyone’s familiar with PHP’s bad partsinconstant haystack/needle ordering, lack of Unicode support, etc. There’s really no point in rehashing all of that. But PHP has some really good parts too, like hash arrays and its close integration with the web stack.

Arrays and hashes are conceptually the same: an aggregate type with each member element accessible by an index. In some languages there are important differences between them, but its mostly its a matter of implementation, not concepts. Languages like Perl, Python, and even JavaScript that force a distinction between arrays and hashes are exposing the lower level details to the programmer, but the whole point of modern dynamic languages is to abstract implementation details and make programming easier! Combining arrays and hashes greatly lowers the barrier for new programmers.

Also, there aren’t any other languages that I know of that come remotely close to integrating with the web stack as intimately and flexible as PHP does. You can read incoming data directly from $_GET/$_POST/etc., and functionality for working with sessions and headers is baked right in. Languages like Java, Ruby, etc. all need special frameworks or libraries to do such things and still leave the programmer with a modicum of sanity. Detractors can complain all they want about PHP, but I don’t really see another language displacing it any time soon unless it can integrate as smoothly.

>> What would be the Top advice to a PHP beginner

I think the best thing for beginners to do is to practice their new craft as much as they can. You can read all the blogs, manuals, and tutorials you like, but in the end there’s no substitute for the real-life experience of writing and debugging code. It’s also important to find a project that is important to you. It doesn’t have to be anything too ambitious (something like a simple personal DVD library tracking app is a good place to start). Programming can get frustrating at times and it’s easier to stick through the rough spots when you’re learning if it’s a project that you really want to see succeed.

>> To someone who wants to become a better PHP developer…?

Again: write code, code, and more code. And while you’re writing it, have fun with it. Sometimes we get wrapped up in requirements and unit tests that we forget what attracted us to programming, and PHP specifically, in the first place.

>> A PHP blog or resource you highly recommend

You can probably guess I’d recommend [PHPMaster.com @phpmasterdotcom] :) The authors and I work very hard to bring awesome, relevant content to the community.

>> The IDE that you use

Depending on the environment I’m working in, I use either Geany or vi to write my code.

Geany is cross platform and not Java powered, which is important to me. It has all the basic functionality I need like syntax highlighting, auto completion, regex search and replace across files, basic build system integration, etc. without the bloat and resource hogging. I’m just as comfortable and productive in it as others are in their full-fledged IDEs.

And as for vi… well, let’s just say for all the vi vs. emacs flame wars out there, I’ve never really seen anyone actually *use* emacs.

>> How do you debug your PHP code?

  • I crank my error level up to the max in development and staging since it’s hard to ignore errors when there’s splashed all across the screen. Writing warning-free code helps me ensure certain edge-case bugs won’t creep up in the future (caused by things like unassigned indexes, etc).
  • In production, all the warnings and errors are redirected to a log file.
  • I also make liberal use of print_r/var_dump/debug_print_backtrace which can be redirected to logs as well.

>> A PHP framework you use and would recommend

Anyone who knows me knows that I’m not a big fan of PHP frameworks. They’re all basically the same in my opinion; the big frameworks advertise themselves as MVC, but they’re not true MVC (and it’s not like MVC is the only option for separating concerns and staying organized anyway!), and the micro-frameworks are all just basically routers. But if you feel a framework makes sense for your project, then by all means go ahead and use whatever works best for you.

>> One function that you like (or which you tend to use frequently)

I’ll probably get lambasted because of it, but I really like sprintf a lot. :)

>> One PHP person that you admire and what strikes you about him/her

It’s terribly unfair to ask me to identify one person because the community is full of so many awesome people whom I’ve become friends with.

  1. People like [Ligaya Turmelle @lig], Elizabeth Naramore, and Ben Ramsey make being part of the PHP community worth while
  2. People like Fabien Potencier, Sebastian Bergmann, Elizabeth Smith, and [Derick Rethans @derickr] make working with PHP worth while
  3. and people like Ed Finkler, [Matt Turland @elazar], and [Davey Shafik @dshafik] who help me realize I’m not so far off in left field as I often think I am!

>> How do you time manage all the stuffs that you do, coupled with your personal life?

There’s no formal method I follow; I just do things that have to get done and loosely base them on their priority. Things that have a higher priority, are time sensitive, or will take just a few minutes to accomplish and then I won’t have to think about anymore, I’ll do those first. Sometimes I’ll make a TODO list so I don’t forget anything. But essentially, that’s it.

>> The day you realised “You’ve made it to the A-List PHP arena”?

I’ve never thought of myself as an A-Lister before, so I guess it probably has to be the day I was first asked when I realized I had made it to the A-List PHP arena! :)

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

3) LIKE 7PHP dot COM on FaceBook – if you appreciate what I do

{I’m thankful to your response(s)!}

Comments

  1. Hey,

    Nice to see Tim. And I know it is really hard to manage things in your short time. But you are really fast in replying back.

Speak Your Mind

*