CakePHP Workshop Review
I spent last weekend in Raleigh, NC attending a CakePHP workshop. At work we’re beginning to standardize on the CakePHP framework in order to minimize our development cycle while still ensuring reasonably strong application architecture in the presence of time constraints. I haven’t had much time to play in the weeds of this effort, so the workshop looked like it could be a decent way to get introduced to CakePHP.
It was. And it wasn’t.
First, though, many kudos are due to the workshop organizers. The CakePHP contributors (Garrett, Nate, Felix & Tim) who ran the workshop are typical open source developers – they have day jobs. The fact that they were willing to give even more back to the community by giving up their own weekend is commendable and, at the risk of speaking for the other attendees, I think everyone present appreciated that sacrifice. Judging by the amount of content presented, this was not a trivial undertaking. Not to mention making their own travel arrangements and all of the other logistical challenges. The workshop was very well done.
I never understood how we ended up in Raleigh (none of the framework developers are based there, as far as I know), but the training was held in two rooms of an office in one of Raleigh’s many corporate office parks. The first room was a reasonably impressive and well-equipped training room with a number of computers that no one used because we all brought our own laptops. Nonetheless, it was a nice facility that was conducive to learning. This room was the headquarters for “structured” learning – presentations, mostly. The second room, similarly equipped, was dedicated to unstructured discussion with the contributors that weren’t actively engaged in the first room. In this room, attendees were afforded the opportunity to guide the discussion and the developers here were equally responsive to beginner and advanced questions alike.
My only issue with the workshop was that it wasn’t really a workshop. At least not by my definition (so take that for what it’s worth). I went in expecting – from nothing more than the use of the word “workshop”, frankly – far more hands-on activity. I expected to be building a simple application with the framework and, in the process, getting a broad (not deep) introduction to the tools offered – the console, tests, fixtures, etc. – and how to use them. Instead, I got what I would consider to be more of a conference.
I understand that a true workshop (again, by my definition) would have been challenging to the folks leading the conference. This was never billed as a workshop for beginners so there was a wide range of experience levels among the participants. The small majority, I think, were, like me, newbs to CakePHP. Others were far more experienced. Tailoring a one-conference-fits-all curriculum would have been impossible. Instead we got some introductory topics and some advanced topics. Unfortunately, the advanced topics were all but lost on the beginners. I had no trouble with the concepts – I’ve been doing this for a long time – but I had no practical context in which to assimilate these concepts. Conversely, I imagine that the more advanced Cake users were bored by the introductory material.
My suggestion for any future workshops would be to offer two tracks (assuming a similarly diverse audience). There were two rooms available, so it would’ve been great to offer one track to introduce beginners, in an interactive manner, by way of building an application – essentially the blog tutorial on ‘roids coupled with the ability to ask questions and establish a dialog during the process – and another to introduce and talk through more advanced topics that experienced Cake developers can grasp and visualize within the context of their own applications.
That’s not to suggest that I got nothing out of the weekend. I did. I got a lot out of it and it was extremely helpful to have access to several of the key contributors. What I didn’t get out of it was the ability to recognize everything I got out of it. At least not yet. That requires a context I don’t have at this point.
Subscribe12 Comments on CakePHP Workshop Review