Why does Drupal seem expensive to many people procuring an open source CMS?
I am in the process of setting up my own Drupal-based development business. I get a lot of contact through my website, LinkedIn, Drupal.org and many other places - more than I can actually field. Which is wonderful, but saying "no" all the time feels like a huge missed opportunity.
Thing is, not all of these requests are realistic. I get enough interesting and serious development projects in to make it worth my while to forge on, but there are a lot of people used to paying some kid a few dollars to build them an application in PHP out of some requirements they scribbled on a napkin.
To give you an example, I got an email this morning from a guy saying he had $200 and he wanted a module. I told him I cost $600 a day, so he probably doesn't want *me* to build him a module. We had an amicable exchange of emails, which ended in him saying:
Thanks again for your time! And thank you for the answer, we are used to php and mysql programming and in that field i guess it would be a lot cheaper to have this kind of application programmed. It seems that Drupal development is hard and time-consuming. Am i correct?
I hear this a lot, but seriously, you really do get what you pay for (except in the case of some of the larger digital agencies which shall remain nameless, in which case you get significantly less than you paid for).
More serious developers tend to do big Drupal projects, because Drupal is a big thing to get your head around, so they tend to be more expensive. The misconception is that Drupal is some kind of impediment to development in itself, which is totally wrong. The opposite is true. However, the time investment of learning and the level of understanding required to truly "get" Drupal automatically excludes large numbers of PHP hackers and slashers out there who are cobbling together bespoke applications to earn a quick buck.
Thus (mostly) only the serious developers are left. And they don't come cheap, but what you get is a far superior application when they're done.
This was my reply:
Drupal *is* written in PHP and can use MySQL as a database (or PostGreSQL, though this is far less common). The problem is PHP and MySQL are very accessible technologies, which means there are a lot of amateur developers out there using them. There are also a lot of these amateurs turning professional, with varying degrees of ability. Naturally, if you have a larger pool of developers, you also have a larger pool of bad developers. More "serious" programming languages, like C++, are much more difficult to learn and, as such, there are far fewer people capable of programming in them and the quality of the available talent is naturally quite high... but expensive! You don't spend 5 years+ getting to grips with a complex programming language to sell your time for $10 an hour!
And this is the "problem" with Drupal. Drupal development is actually very fast and rewarding, definitely not hard and time consuming. But there is a steep learning curve and *learning* Drupal definitely is hard and time consuming. It takes a long time to become truly "expert" in Drupal because it is a complex system. And because it takes a long time, most PHP/MySQL developers don't want to learn it, or only half learn it, don't understand it properly and do things badly.
The few people who have spent the time to learn it very well (like myself) are expensive, because we should be. Like the C++ developers, we have spent a long time acquiring our knowledge and experience, so we are not cheap.
So, to summarise, if you want to do things on the cheap with PHP and MySQL, you can usually find come kid who will build you an application which works ok, but you won't find a good, professional developer working for very cheap rates in *any* programming language. It just so happens that in PHP there are a lot of cheap developers, because they are either very young (students, etc.) or don't really know what they're doing (ex-web designers turned "programmers" who now a bit of code, so-called bedroom coders, etc.) - so you need to decide if the quality of your code really matters. If it does, you'll need to find a bigger budget and hire real developers. Or outsource to a cheaper part of the world, like India, which comes with it's own set of project management challenges.