I was a professional PHP developer for 4 years before picking up Drupal. I studied it. I read books on it. I built a half dozen sites with it. I participated in the forums. I submitted a couple patches. One thing I never did is "untar the package on the server" because I'm a real developer and of course I have my dev environment set up locally. Deployments are pulled from source control.
My closing statements were definitely hyperbole, but I fundamentally stand by them, both as a web designer and a developer. My opinion comes from experience, which I believe is more informed than looking at a bunch of sites without knowing what went in to each one.
The thing with Drupal is that it caters to generic needs very well. It will get you 95% of the way on any project with moderately standard functionality. However the last 5% includes fine design and usability touches that I take as a point of professional pride.
I had one project where I built the whole thing in Drupal in about 20 hours. After crossing the finish line, the client was unhappy with the checkout flow from the e-commerce section. I wasn't happy with it either, but it was just the way the module worked. Although there was no reason we couldn't re-work the e-commerce module, there was no modularity or unit tests to help with this kind of refactoring. I estimated the rewrite to be somewhere in the 20-80 hour range given the potential for massive breakage. In the end we decided to cut our losses and spend 40 hours rewriting in Rails. We fixed a lot of other design details along the way, and we have a lean 2000-line code base that we could extend in any reasonable fashion. Sure we couldn't drop in a forum/gallery/blog/library at the drop of a hat, but is it more important to have a million pieces of generic functionality at the tip of your fingers or to get the core user experience correct? It's bad enough when you have to fight with the client to get the UI right, but what I find truly unbearable is when everyone's on the same page, the ideal UI is clear, the logic is simple, yet you're encumbered by technology that's designed to solve 1000 extra problems you don't have at all.
My closing statements were definitely hyperbole, but I fundamentally stand by them, both as a web designer and a developer. My opinion comes from experience, which I believe is more informed than looking at a bunch of sites without knowing what went in to each one.
The thing with Drupal is that it caters to generic needs very well. It will get you 95% of the way on any project with moderately standard functionality. However the last 5% includes fine design and usability touches that I take as a point of professional pride.
I had one project where I built the whole thing in Drupal in about 20 hours. After crossing the finish line, the client was unhappy with the checkout flow from the e-commerce section. I wasn't happy with it either, but it was just the way the module worked. Although there was no reason we couldn't re-work the e-commerce module, there was no modularity or unit tests to help with this kind of refactoring. I estimated the rewrite to be somewhere in the 20-80 hour range given the potential for massive breakage. In the end we decided to cut our losses and spend 40 hours rewriting in Rails. We fixed a lot of other design details along the way, and we have a lean 2000-line code base that we could extend in any reasonable fashion. Sure we couldn't drop in a forum/gallery/blog/library at the drop of a hat, but is it more important to have a million pieces of generic functionality at the tip of your fingers or to get the core user experience correct? It's bad enough when you have to fight with the client to get the UI right, but what I find truly unbearable is when everyone's on the same page, the ideal UI is clear, the logic is simple, yet you're encumbered by technology that's designed to solve 1000 extra problems you don't have at all.