Discussions

Zed Shaw is one of the most visible members of the Rails community. He posted a rant last week bidding farewell to Rails claiming that Rails is a Ghetto. He is leaving the Rails community and putting Ruby behind because of the shortcomings that he perceives there:

I've more or less kept my mouth shut about some of the dumb and plain evil stuff that goes on in the Rails community. As things would happen though I'd take notes, collect logs, and started writing this little essay. As soon as I was stable and didn't need Ruby on Rails to survive I told myself I'd revamp my blog and expose these f***s.

As you can see from the tone of the opening paragraph, Zed has lots of issues with the Rails community. Is Rails is perceived as a fragmented community by other users, or is it Zed's unique point of view being vented?
Nobody questions Zed's contributions to various open-source projects like Mongrel and Rails. The same things that brought him the respect of the open-source community and many professional development teams are the main drivers for his departure:

I've been thinking this over ever since I realized that Mongrel and Rails more or less killed my career. During 2006 I was effectively homeless for about 4-6 months out of the year and made no money at all. During the rest of the year the little money I made was impossible to get, and many times I was simply not paid.

The rest of the rant enumerates grievances that Zed has against other people in the Rails community, former clients, former friends, and so on. Because of the tone of the write up, it's easy to dismiss the rant as a tantrum gone wrong.
There may be legitimate issues in the Rails community and Zed's rant may help expose them. The tone of his blog, however, is turning off the very people who'd benefit most from learning about it. A couple of Mongrel users, for example, have asked if this means that the project will no longer be maintained, whether the code may have a Trojan that could sabotage live code, and so on. Many IT professionals still aren't well-informed about open-source communities in general, the differences among them, or the subcultures that they spring. The tone of a rant like this scares them and turns them away from open-source projects, and detracts from data points that may be worth discussing, such as:

How did ThoughtWorks go from 0% Rails business to 60% Rails in just a few short months, but somehow didn't hire that many top notch Ruby guys? Remember, if 60% of your business is Rails then 60% of your people need Rails training or else you have to hire more people. If they didn't hire any more people than that means...the people they had were retrained. With two week training courses. Huh? How does that make them experts?
What happens if you do that is you have a group of former C# and Java guys running around writing s****y Ruby code and training on the client's dime for huge fees...They'll continue to screw customers over by training their employees on their client's dime and write tons of f****d up software. The bad results from ThoughtWorks will kill Ruby on Rails for companies as these companies are left with a bad taste from bad implementations.

Yikes.
Singling ThoughtWorks out is another example of perceived-grievance-over-substance, but otherwise the comment is valid. How many times have organizations engaged consulting firms only to find out that the "experts" that they brought some times know less about the technologies than their own in-house staff? And how many millions of dollars are wasted on failed projects because of this?
Zed's rant is relevant to all software communities because we all live in glass houses, and it's easy to dismiss him and pretend that all is right in our backyard, or ignore it because of its tone. Was this rant in bad taste? Probably. Is it a cautionary tale for the rest of us who participate in various development communities? Probably.
Are our various development communities breeding a Zed-like character who feels slighted by our collective actions, or by those of our clients or employers? Despite the validity (or lack of it) of the points made, a rant like this gets a lot of attention and may end up hurting professional projects and teams by association, especially in the sensationalist climate that surrounds us. How do we avoid falling in this trap?

With that kind of attitude, he's clearly qualified to be in the Java community. We can use two Hani's, right?

I think that comment is unfair. The Bile Blog parodies attitudes in the Java community, and for what I know about Hani his rants are intended more for entertainment than anything else. Zed's rant is more vicious, directed at specific people and entities, and it appears to be written to burn his ships and don't look back.
Cheers,
E
The Tesla Testament
Dec. 2006 Amazon best-seller - Literature and Fiction

This rant could be mostly valid and have left any references to Rails or Ruby out.
These types of issues are common place in contracting companies of all types: development, systems implementation, training, free-way building, etc....
I think that most companies know they are being ripped off when they hire a contracting team. That is why the smarter companies pay for milestones / deliverables, and not hours.

I think that most companies know they are being ripped off when they hire a contracting team. That is why the smarter companies pay for milestones / deliverables, and not hours.

I can say from personal experience as a consultant for the vast majority of my career that fixed-bid contracting is horrid and doesn't benefit the contrator or the client. It means that if I provide a fixed bid, every little change the client requests will result in me upping the price OR I have to provide a bid in the original estimate that is far larger than what it "should" take to account for the inevitable changes (which means I wouldn't get the contract anyway). The non-flated bid will result in the client getting the feeling they're getting nicked & dimed (which they are) but I'm not going to eat the cost of them changing their minds (which happens hundreds of times in a given project). It also means you design everything up front so it's completely out of line with Agile development practices.

I have know idea. I haven't any idea who this guy is, as I have had effectively zero contact with the Rails (or Ruby for that matter) community. Heck, I can barely spell Rails.
But, as an aside, it's interesting to watch someone marching forward in to the dark Cortez style with little behind him but his name, burned ships and burned bridges.
I have no doubt that he'll be successful, but the light of the flickering fires casts interesting shadows on the whole event.

I thought it was funny as hell. Sometimes you have to have a wildfire come through and help purge things. I'm sure he'd admit that outside of the small community he rails against (he he) nobody really cares. RoR is definitely over-hyped but has, to Java's benefit, pushed us toward more innovation on the JVM.
The funniest part of this is that I remember a NoFluff conference a few years back where a Ruby-pimp was commenting on how the Ruby community was so much more professional than the Java community - that the sniping and bickering didn't exist. Welcome to popularity guys.
I love software development.

Of course, can’t leave out JRuby and Charles Nutter because without him I’d have written off Ruby ever getting inside the corporate death shield. Being able to deploy Rails applications easily to an existing Java web stack is great, and it’s a huge help. They also do a great job of pushing the edge of hosting a language on the JVM.

This rant reminds me of Java in the late '90s when it was a little more cowboy and companies would pay consultants crazy money to get on the web. Consultants learned on the job and failed as much as succeeded. You would think Ruby clients or anyone who went through the .com's would be smarter this time. Those who forget history...
I can see how Rickard Öberg identifies with Zed Shaw. Both contributed greatly to their respective communities only to disillusioned and demoralized by those that wished to exploit and monetize. There are those who find beauty in the code and those who look ugly capitalizing on it. Rickard was a lot more constructive.

It's unfortunate there is so much profanity in that rant. Not just because about 200 some profane words and phrases were probably logged to my account at work but because there's some good stuff in there. I don't even mind the profanity but there are lots of people who will surely say silly things that are a sign of a lack of intelligence like "profanity is a sign of a lack of intelligence."
I don't mean towards Rails, I have no comment on Rails or it's community. But the stuff that Rickard Oberg picks up on is really salient. I've seen literally millions go down the tubes on training consultants in order to produce unusable shelf-ware.
Has anyone ever successfully convinced a management type that some consultants aren't worth the money? I don't mean real consultants i.e. the ones that actually know things but body shops that masquerade as consultancies. I'm tired of 'consultants' getting a free pass as experts as they make a huge mess of things.

Has anyone ever successfully convinced a management type that some consultants aren't worth the money? I don't mean real consultants i.e. the ones that actually know things but body shops that masquerade as consultancies. I'm tired of 'consultants' getting a free pass as experts as they make a huge mess of things.

I've been a consultant since 1991, and independent since 1994. I made a good living early on in my career mopping up after other consultants! ;)
Someone once told me that the large consultancies will always be around because as one screws up a project, one of the others is hired to fix it. I watched this happen to a project on which I once worked as a subcontractor. The main integrator charged the client obscene amounts for the work we were doing, and we did eventually get a system into production. A company that didn't win the original RFP whined and complained long enough that they won a contract to replace the system on the basis that it would take 8 months owing to the use of a COTS case management application. That replacement project was recently cancelled after nothing was delivered and $10 million was spent after 4 years of work! I'm sure another large company will be brought in to 'fix' the mess once again.
Ironically, it was that project that pushed me over the edge into the Agile world back in 2000. Let's just say that there were times where I could have written a rant not unlike Zed's.
Dave Rooney
Mayford Technologies

Someone once told me that the large consultancies will always be around because as one screws up a project, one of the others is hired to fix it. I watched this happen to a project on which I once worked as a subcontractor. The main integrator charged the client obscene amounts for the work we were doing, and we did eventually get a system into production. A company that didn't win the original RFP whined and complained long enough that they won a contract to replace the system on the basis that it would take 8 months owing to the use of a COTS case management application. That replacement project was recently cancelled after nothing was delivered and $10 million was spent after 4 years of work! I'm sure another large company will be brought in to 'fix' the mess once again.

I used to be a 'consultant' right out of college (HA!) for a big consultancy. At one point the company lost a lawsuit costing something like 250 million dollars (company paid for 100 million or so, I think, insurance covered the rest) for failing to deliver on a 10 million or so contract. Pretty brutal and pretty surely lead to it being bought and split up. So these consultancies that go around spreading manure should really be careful. It's not a perfect scam. It would be interesting to go back and figure out how that lawsuit was won, now that I think about it.

I've been thinking this over ever since I realized that Mongrel and Rails more or less killed my career. During 2006 I was effectively homeless for about 4-6 months out of the year and made no money at all. During the rest of the year the little money I made was impossible to get, and many times I was simply not paid.

Yike! I can't afford this. That's why I am a Java Developer and if you make that your next move, I can guarantee that the above situation won't happen again.

I've been thinking this over ever since I realized that Mongrel and Rails more or less killed my career. During 2006 I was effectively homeless for about 4-6 months out of the year and made no money at all. During the rest of the year the little money I made was impossible to get, and many times I was simply not paid.

Yike! I can't afford this. That's why I am a Java Developer and if you make that your next move, I can guarantee that the above situation won't happen again.

That's the balance that has to be acheieved. Love for the art and eating. For me, for now, Java has the best balance of innovation(so I can enjoy the art) and maturity(so I can pay the bills).
The guy even through in a Java rant, btw.

As I first saw Ruby on Rails about 2 or 3 years ago, I planed to use it for a small subproject, because of it scaffolding abilities (CRUD with "whatever" web design was 95% of what I needed). I soon discovered, that it was not mighty enough for the last 5% and it will take me much more time to do this 5%, than to code the whole thing in Struts and as I've saw the sever benchmarks, I've deleted the whole thing right away. I think a lot of you guys had similar experience.
OK, that's not the point - the point is, that it was a great stuff to read - both bitter and funny. I think the point there is it's bad to be a "soft" guy, but if you're too hard you may also experience a lot of troubles unless you ran your own business, which I wish for Zed.

Consulting is in general a ghetto. The more experience u have the more frustrated u can get (if u decide to stay technical). Companies are not ready to pay top dollar for the experienced consultant .... they see themselves making savings if they go with cheaper labor.
The few who would like to do software development cleanly will be more frustrated...
On-the-job training is always going to be there...for the experienced and for the in-experienced. Sooner we embrace these changes better for us.... not sure whats better though.
Try getting consulting gigs in the DC area....there are so many leaches in between that in the end u r offered 50 to 70dollars per hour on the average. Wheras the client probably is paying 100+ to the Main-Leach.

Consulting is in general a ghetto. The more experience u have the more frustrated u can get (if u decide to stay technical). Companies are not ready to pay top dollar for the experienced consultant .... they see themselves making savings if they go with cheaper labor.

Consultants aren't brought in for labor. They are brought in for expertise. What you are talking about is contractors or temporary staff. The confusion between these two terms and concepts causes a lot of problems.

Consultants aren't brought in for labor. They are brought in for expertise. What you are talking about is contractors or temporary staff. The confusion between these two terms and concepts causes a lot of problems.

True enough. Now will someone explain that to the companies that hire them? In my experience (as a consultant, contractor and employee), the expensive consultants usually don't have technical expertise; they have manager management expertise. The better contractors have the expertise, but once they've been in one place awhile their expertise is just as disregarded (or more so) than the employees.
Employees find it useful to hire the “manager management” consultants to tell their bosses what they've been saying all along, just so someone will believe it. In many companies they hire contractors to do the high end technical work because the best technical people either have to become managers or leave if they want to move up. In other companies the technical track forces excellent developers to become architects. That isn’t good either because not every excellent developer wants to or should be an architect. So, contractors are not just got labor augmentation. Often they are there to fill a skills/expertise gap created by flawed personnel policies.

James I agree with you. But do you really think all customers understand and appreciate the difference...the 2 words are often misused.
I have seen companies that call themselves Consulting Cos but when you look behind they are only contracting out heads (no dis-respect intended to those companies or the folks working there).
As for ThoughtWorks I have no idea if they are good or bad...and I would definitely not decide based on anyones blogging.

James I agree with you. But do you really think all customers understand and appreciate the difference...the 2 words are often misused.

Sorry I guess I didn't make myself clear. I absolutely think that most customers don't understand the difference. They might understand the difference when it's in their area of expertise but not when it comes to software.

I have seen companies that call themselves Consulting Cos but when you look behind they are only contracting out heads (no dis-respect intended to those companies or the folks working there).

A consultant has to have a lot of experience. A good rule of thumb is that if you are under 30 (at the very least) you are not a consultant.

My experience seems to indicate that some clients not only don't understand the difference, but also they are not really interested in understanding it. To those clients a "consultant" (a real one or a body in your distinction) is only different in $ rate and what s/he can do (or more accurately what the client can claim s/he can do to justify the hiring). And a lot of times, even what s/he can do is not that important since the client just needed a "consultant" to balance the budget or to have some body/company to point finger to in case things go south. Other times as long as the consultant can get (or make the client to be able to claim) the work item delivered, all are happy. "Real" quality of the work is secondary or sometimes even irrelevant. Sadly some tech folks don't realize that, which causes a lot of unnecessary psychological imbalance that is very bad to their own health.
In cases where the client really care the real quality of the consultant, they really take steps to make sure that they get their money worth. Some of the measures they take are inline with what Zed listed out in his suggestions; sometimes they even have their own "creative" ways such as making you do a small "sample project" before hiring you.

James I agree with you. But do you really think all customers understand and appreciate the difference...the 2 words are often misused.

Sorry I guess I didn't make myself clear. I absolutely think that most customers don't understand the difference. They might understand the difference when it's in their area of expertise but not when it comes to software.

I have seen companies that call themselves Consulting Cos but when you look behind they are only contracting out heads (no dis-respect intended to those companies or the folks working there).

A consultant has to have a lot of experience. A good rule of thumb is that if you are under 30 (at the very least) you are not a consultant.

I've always thought of ThoughtWorks as a leading company in software development, and likewise they seem to hire competent people. So even if they were developing on the clients dime, which ALL of us do in one way or another, still produces a quality application.
There are some organizations though, large ones, claiming to be experts in java and can't write a simple application successfully.
Throwing rocks at ThoughtWorks is just stupid. lol

Zed writes in his article: "I’d take ThoughtWorks over IBM, Accenture, or BearingPoint any day of the week."
And what he said is, that using RoR at that time and with that approach, and most probably knowing about performance and stability clues was extremely risky if not to say irresponsible.

It's hardly a rant if you have people proof read it before posting it.
"I've wrote a heck of a lot of naughty words there, better make sure it doesn't offend my buddies* or my mummy."
* buddies, i.e. people he perceives may still give him work in the future.
I sure hope I never cross "professional" paths with that guy. He's not the kind of person I'd like to have to work with.

This dude's rant is 99% attitude (of the bad variety). I was hoping to find out something insightful or at least informative about the Rails community but instead found a blog entry whose author must be a roid addict on PCP. What a waste of time.

TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations technology projects - with its network of technology-specific websites, events and online magazines.