A Personal Reflection

I have no ‘practical Theoretical’ educational background in programming, outside a few courses on Web topics. My background is in design and print, but I love programming. I started programming, teaching myself RealBasic and Perl, but quickly migrated to PHP years ago. I’ve been building web applications for the majority of the last decade but I realized today that I really love programming for programmers, not for clients.

Today, like last year, I was again fortunate to position myself at Rasmus’s table for lunch (along with several of the other core PHP developers) and though their conversation was beyond my less than intricate knowledge of PHP internals and compile optimizations, I made a realization that what they do in terms of programming and building PHP for the community, is very different from the majority of what I do - building web applications for business clients.

Building for business clients is fine and dandy, sometimes it’s interesting and sometimes it’s not, but the majority of the time it all turns into a big mess of spaghetti code with bolt on modifications that need to be done yesterday. It gets mundane after awhile and becomes ‘just another project’, dwindling both energy and excitement about the job I’m doing. For me however, building a ‘tool’ (class, function, script, whatever) that my peers can then use to do their jobs more efficiently is what peeks my interest. Ultimately, the features and functions are driven by demand from a business client, but the objective of my work isn’t to please the pointy haired boss, on the other end of the phone, it’s to give my peers, often my friends, the ability to do their jobs in a better way. I don’t even care if I really get the credit either. I’m just happy to see my work used and appreciated.

I’ll be the first to admit that I’ve written some crap code in the past, some of which was great at the time but looking back I just shake my head and wonder what I was doing. I’ve matured since then. I realized I’m not a pro at everything (well almost :c) but I crave knowledge and look forward to learn any new feature/technology or idea. So hopefully I’ll be able to put this new realization to better use and in the end be a much better programmer.

oh, and by the way, I learned at lunch that the HEREDOC formate in PHP is great but it parses really slow (according to the dev team).