We are Drupal architects and engineers that help organizations that are adopting Drupal. We believe that a dev shop transitioning to Drupal needs more than technical training, but also help with development and management strategy, site and data architecture, and server infrastructure.
As Drupal's popularity grows by leaps and bounds, web companies of all kinds are forced to adopt it. Sales teams find it incredibly easy to sell Drupal, because of all the things it offers, and all "for free". The problem is, Drupal is more than a piece of software. It is also more than the community. It is an entire culture
Drupal is really a culture. That culture is the code, plus the community, the leaders, the social network. It is also how we work: the behaviors, the methods, the madness of being a Drupal developer. Learned over years, these work habits, the Drupal idiosyncrasies, the RSS feeds you read, knowing where to get help, IRC etiquette, the ability to interpret a module from source, the ability to find patches and understand the module release process...
All of this is the Drupal Culture. Individuals may try to adopt the Drupal culture, but if their organization doesn't, they will never fully adapt. If your organization wishes to use the Drupal software but not adopt the Drupal culture, then there is a good chance the projects and teams will fail.
Being familiar with the entire culture of Drupal is what makes a good Drupal developer. If you are from another culture, being forced into the Drupal culture can intimidating, scary, frustrating, and can result in feelings of absolute despair. This is a real problem. We have all seen people quit, I have seen companies lose their entire engineering staff in the middle of projects. We have all seen budgets and deadlines explode and disappear.
I truly believe that most of the struggles of major Drupal projects result in focusing too much on the code and not enough on the culture of being a good Drupal development team.
Before ThinkDrop, as a freelancer, I was hired and dropped into huge companies where everyone was learning Drupal the hard way. Many times, I was the only one left on the project who really knew Drupal, even at a technical level. I found myself having to train everyone, not just on how to piece together PHP, but on the way to think like someone from the Drupal culture: from developers to managers, designer, and stakeholders.
The main problem is re-training. Expert web designers and developers, forced to learn Drupal, are forced to become novices once again. Drupal can actually destroy good web development teams as they are often forced to transition. Just like being involuntarily immersed in a new culture, if you force an expert in another field to learn Drupal, without support and time given for exploration and learning, that expert will feel inferior and underused.
It is a very hard thing to, after years of being at the top of your game, to admit, "I don't know what I am doing". It happens all the time when people have to switch technologies.
This can often spiral out of control, affecting managers and stakeholders, because you cannot manage expectations or make estimates on a technology you do not know. Developers need to feel they are safe in their jobs to say "We don't know." or "We need help."
You can't treat a Drupal project like a traditional web project. You can't use the same strategies, tools, timelines, or technologies as most web people are used to using. Drupal is more than a CMS or a platform or even a language, Drupal is a culture, and if you don't know that culture you will have a hard time fitting in. This is more important for the organization than it is for the individual developer.
As a community, we have to do more to allow experts in other fields to transition to becoming Drupal experts. Our documentation should not be geared only towards newbies, but towards experienced programmers and designers from anywhere, as well as business owners.
A company that wants to use Drupal, must adopt some of its culture to succeed.