SPA Conference session: Why am I a PHP Programmer?

One-line description:An exploration or the state of development tools and a call to action
 
Session format: Workshop (75 mins) [read about the different session types]
 
Abstract:After 25 years of development experience why do I choose to do my current projects in PHP? Is this really the best tool for the job?

I am currently building a number of community based web sites using a content management framework, Drupal, in PHP. I chose it because it enabled me to deliver work I estimated to take 16 days in an afternoon, right out of the box. As my projects have progressed, I have continued to see high productivity and a good end product for users. What's more, I'm kinda' having fun.

I am delivering functionality, live, faster than I believe I could do with any other toolset. I am not alone - tens of thousands of people are using this particular framework and the total number of PHP sites must be in the millions.

... oh but did I mention it's all just crappy. There are obvious serious flaws in both the framework and the language. Tools support is minimal, no debugger (afaik). The framework is full of duplicate code, dead code, inconsistent code. It is horrendously inefficient with hundreds of micro optimizations. It only works at all because it is actually quite small and hardware is so powerful.

How did we get into this state? How did the last gazillion person years of industry experience and billions of dollars of R&D deliver us nothing better than a few text processing functions held together with bits of string? With the huge investment corporations have made in software development and our entire economies dependent on information systems, how did we not get super-smart tools that allow us to crank out slick custom applications that we can quickly change to meet dynamic business demands? Is the problem that hard? Are the requirements really that varied that we need to dive down almost to the metal each time we want to create something? ... Or perhaps we just asked for the wrong things.

This think tank will explore these questions and attempt to learn from our history. We will dig down to the root of our problems and try to find what it is that we really want. Most of us are not in a position to build the tools we need, we are users of them, but like we tell our users all the time, "but this is what you asked for".
 
Audience background:Seasoned software proffessionals
 
Benefits of participating:- Have a bit of a rant (in a controlled, constructive way)

- Reflect on what is really important

- Come away with some concrete ideas for starting the climb out of the tar pit.
 
Materials provided:Coloured paper and pens
Hoop
 
Process:We will used a structured discussion technique to control the exploration of the subject area:

We will start with an empty sticky wall and a hoop on the floor. I will step into the hoop, explain the initial question (Why am I a PHP programmer?) and place it on the wall. Individually participants will add responses or further questions to the wall, each taking the hoop to explain their point. Only the person in the hoop may speak.

As we progress participants will make observations that they wish to add to the wall. This is the goal of the activity, to surface the observations.

The second stage is to cluster the observations and then form groups around the clusters to produce posters explaining the observations and make a call to action to the industry.
 
Detailed timetable:
 
Outputs:Posters explaining observations and making calls to action
 
History:
 
Presenters
1. Peter Marks
Digita
2. David Harvey
Sibelius Software
3.