Live data from Hacker News

Drupal's Golden Handcuffs

mikecr.it

61–70 of 148 posts

Re: Drupal's Golden Handcuffs

#61
post #6

I am puzzled by this: "Good Drupal developers are making a lot of money right now, much more than I'm seeing for Django or Rails or Node devs in general." I am curious where this is? This is not true in New York City, where I am. Developers who are good with a given PHP framework (Drupal, Symfony, etc) will make something like $60 to $70 an hour. The top Rails devs will make at least the same amount, and usually a li…

Washington,DC. The federal government and attendant nonprofit industry are going hard into Drupal. It seems like every dev shop and consultancy is hiring Drupal developers currently. There is a definite talent shortage.

Re: Drupal's Golden Handcuffs

#62

Earlier quoted context omitted.

Out of idle curiosity (having left development a good while ago), are those rates you're quoting your expectations for freelance contracting or a salaried/full-time position?

The numbers I quoted are what I've worked for recently, as a freelance contractor. In terms of salaried positions, in NYC right now, the almost-top end for developers is around $130,000 a year. Anything above that tends to involve some management responsibilities. I have seen offers of $150,000, but that is for the team lead who is expected to also be a semi-manager. I say "almost top end" because I am not including…

There are definitely salaried senior Drupal devs in the DC area making $150k.

Re: Drupal's Golden Handcuffs

#63
Okay here's my Drupal story. It starts out with me at a Drupal conference. First question I ask is this, "Is Drupal a framework or a CMS?" To which the guy running it said cheerfully, "Both!"

After building my personal site with Drupal, I realized the one thing which drove me nuts was the vast number of modules I wanted to use either had shitty documentation or none at all.

It was basically, "Install this and it works!" Which made me spend even more time either having figure out how this thing worked, or attempting to write my own.

To me, this is not a developer friendly framework. When I talk to my friends who are developers and they flat out tell you there's a STEEP learning curve with Drupal, they're not kidding.

I can honestly say I built a dealer locator from scratch faster than I did trying to figure out how do it in Drupal. Just an example of the stuff I'm talking about:

http://drupal.org/node/38401

Re: Drupal's Golden Handcuffs

#64
Drupal 8 is basically trying to get to where django/rails/symfony were several years ago, and based on the glacial development pace of the last version, by the time it is complete, they'll still be several years behind the feature set of contemporary frameworks.

In my experience, Drupal is a pristine example of the way modern software should not be made. With one or two notable exceptions, there is a distinct lack of computer science type knowledge in the drupal world. The result is kludgey, over-complicated, and inefficient code.

Drupal's "success" is only because it's community consists of people who don't know any better. The author himself points this out by making laborious points about how much money there is to be made propagating bad, wasteful practices.

Re: Drupal's Golden Handcuffs

#65
Years ago, I wrote and published a couple of Drupal modules, which are still being used from time to time. But I moved away from Drupal. With Drupal, you don't learn about building web apps; what you learn is "tweaking" a complex system. You can be building very complex apps nicely, but at the same have no clue about what is underneath.

Re: Drupal's Golden Handcuffs

#66

Drupal 8 is basically trying to get to where django/rails/symfony were several years ago, and based on the glacial development pace of the last version, by the time it is complete, they'll still be several years behind the feature set of contemporary frameworks. In my experience, Drupal is a pristine example of the way modern software should not be made. With one or two notable exceptions, there is a distinct lack of…

"It's "success" is only because it's community consists of people who don't know any better."

That is both untrue and dishonest. Drupal's success is directly attributable to all of the following:

1. a very large, growing, and passionate pool of contributing developers and designers.

2. aggressive community involvement a la issue queues, forums, IRC, local user's groups and 30+ regional camps and conferences in North America alone.

3. Did you read the part where the op wrote about the ridiculous amount of shit you can get done without opening a text editor? Office staff with minimal technical background can be trained to implement/manage most of it.

4. It. Just. Works. On commodity hosting no less. Or on expensive enterprise hosting. With little or no assing around with server configuration. There are hosts that have push-button site installation.

In short, Drupal is popular for all of the same reasons that PHP still hasn't gone away after almost a decade of developers whinging that it sucks.

Is it fun to code for? Nope, not even a little bit. By the time you've written your fourth or fifth custom module 99% of it is the same tired slog through boilerplate code and hook_$N_alter() groveling. Dull, dull, dull shit. And yet I suspect Drupal and Wordpress (which is arguably even worse to deal with) are running way more websites than django, rails, and symphony put together. Look on the bright side, at least it wasn't written in Perl. :)

Re: Drupal's Golden Handcuffs

#67
post #25

I would add this to the complaints: - NOT AMENABLE TO SOURCE CONTROL Half the code lives in the database, configuration is all mixed up with content, and there's no reliable programmatic way to extract it. It makes doing deployment a nightmare. And the worst part? Drupal developers by and large have such a narrow range of experience that they don't even know what they are missing. They have no idea what good coding s…

I work for a company that provides site implementation, custom feature coding and ongoing support for ~30 enterprise websites and all of them have this in common: 100% of the source code for each site is in revision control (SVN or Git, depending on client preferences).

If you want to complain about Drupal be my guest. The ground's very fertile, but what you've posted here is FUD.

Code in the database? No, just no. While it is technically possible to stuff code into the database community best practices (not to mention common sense) strongly advise against this practice. What you are describing is the system handing you enough rope to hang yourself, not it's default behavior.

Configuration lives in configuration tables.

Content lives in content tables.

"they just hack away on the live site with no source control or backup"

It would be a mistake to take the fumblings of a few scrub freelancers or interns and extrapolate that as being the norm for all (or even most) Drupal developers.

For all core modules and all quality* contrib modules there are $N_load() functions to extract these (reliably) from the database.

* With ~8000 contributed modules to choose from, quality varies wildly. While unfortunate, it's to be expected when you've got that many chefs in the kitchen.

Re: Drupal's Golden Handcuffs

#68

Moving away from Drupal was one of my biggest steps forward as a web developer. I worked with Drupal full time for a little over two years. I spent much of that time clicking around in config screens, and when I did have to get my hands dirty with some custom code, I usually felt like I was just stumbling around in the shadow of the behemoth that is Drupal's API. I thought, "Surely this isn't what web development's s…

I've been doing Drupal full time for the past four years and I'll agree 100%. People that try to build applications in Drupal are running a fool's errand. It's got a ton of code and another ton of assumptions, but that's the thing; when those assumptions are what you need and that's code you don't have to write, magic happens.

I'd say, 90% of the time, if you're using Drupal and you're in a code editor instead of the admin UI, you're making a mistake, either because there's an easier way to do what you're doing, or because you shouldn't be using Drupal. The real trick is knowing which.

Re: Drupal's Golden Handcuffs

#69
post #25

I would add this to the complaints: - NOT AMENABLE TO SOURCE CONTROL Half the code lives in the database, configuration is all mixed up with content, and there's no reliable programmatic way to extract it. It makes doing deployment a nightmare. And the worst part? Drupal developers by and large have such a narrow range of experience that they don't even know what they are missing. They have no idea what good coding s…

> [ ..in the database ..] Similar comments for Moodle, another popular PHP app. You cannot even change the url for your site without rewriting content in the database.

WordPress too. In fact in WordPress the site root URL is stored in two separate configuration fields, so woe betide you if you rewrite one field and not the other.

Thankfully the WP core devs seem to have been slowly cleaning stuff like this up over the last couple years. So even though this wart persists, I have hope it'll eventually get zapped.

Re: Drupal's Golden Handcuffs

#70
post #25

I would add this to the complaints: - NOT AMENABLE TO SOURCE CONTROL Half the code lives in the database, configuration is all mixed up with content, and there's no reliable programmatic way to extract it. It makes doing deployment a nightmare. And the worst part? Drupal developers by and large have such a narrow range of experience that they don't even know what they are missing. They have no idea what good coding s…

I work on big Drupal sites and this simply is not true.

Drupal lets you get a ton of shit accomplished without making you understand a single line of code, have a reasonable Dev-Stage-Prod workflow, QA, even version control or backups, etc., but it's completely possible to do all of that. That means that it can scale from anywhere from something like a 16 year-old's shared-host fanfiction site to say Whitehouse.gov.

Of course that means that there will be tons of fuckups live-coding (or live-configuring) on production, or people that don't export and version things in environments when they should, and that people will construct fragile combinations of modules and configuration where a tiny bit of code would have sufficed, or write tons of fragile custom code with no tests or security review when there was already a module for that.

But allowing people to be fuckups doesn't force them to be, and they can be trained.

Post reply on HN