Rails is a Ghetto... [NSFW for Language]
zedshaw.com
zedshaw.com
The arrogance contained in this rant is sad. He "almost" got his MS, he "nearly" completed a formal education, and he twice decided he was too good to be a Jr. Sysadmin at Google. What do Junior Sysadmins do at Google? They learn how to work with one of the largest distributed systems on the planet, and they become Senior Sysadmins or Production/SRE engineers. If you don't want to work at Google that's one thing, but unless you've got your own Big Idea (and no, "being homeless" does not count as a Big Idea), maybe it'd be worth the initial indignity....
Burning bridges in public is one thing, but I worry a little that he's burnt a bunch of bridges in front of him, not just behind. And the small satisfaction of a rant like this is not worth it. For perspective -- would you expect to see something like this out of Obie? Ever?
Make your own opportunities before you burn your bridges... the time for a victory rant is after you win big, not before.
I didn't see his rant as arrogant . . . just pretty blunt. If you actually read his technical work, it's quite clear that Zed is very good at what he does and employs practical applications of computer science in his work. It's no secret that Zed thinks there are too many bullshit "hackers" out there who don't know basic computer science, yet they think they're God because they learned Rails or Django. It looked like he was trying to highlight the irony of (no offense to anyone here) English majors turned script kiddies trying to lecture him on topics in which they are, frankly, out of their depth.
Having been in the consulting world at a major firm for a few years before starting my company, I've seen it dozens of times. They'll pay, staff, and bill out non-technical people like they're technical and vice versa. You sometimes find yourself dealing with "superiors" and "peers" that think their "IT experience" of writing Excel macros makes them computer scientists all of a sudden. The water's just too deep for a lot of these people and they'll put their feet in their mouths a thousand times before they learn it.
(Before I get flamed -- I applaud non-technical folks who are able to crossover and start their businesses using frameworks and other tools. That's truly awesome. The problem is when these people start thinking that because they learned how to change a spark plug or bolt on a turbocharger, they're suddenly automotive engineers and can design a car engine from scratch just like their buddies who work at Ford. Formally trained engineers != mechanics, no matter what the field. Hell, I remember a few months ago, someone on News.YC had the audacity to declare that Computer Science is irrelevant to web apps. That's the sort of bullshit that goes on in this field. There are people who call themselves hackers and literally have no clue what they're talking about and no reverence for the people who've built the tools that allow them to get a foot in the door.)
They learn how to work with one of the largest distributed systems on the planet, and they become Senior Sysadmins or Production/SRE engineers. If you don't want to work at Google that's one thing, but unless you've got your own Big Idea (and no, "being homeless" does not count as a Big Idea), maybe it'd be worth the initial indignity....
Meh. Any technical hiring manager who's researched what Zed's capabilities are would know that he is overqualified for that role. Why exactly should someone with twenty years of experience and Zed's skillset who also just happened to have single-handledly wrote one of the most rock solid webservers around with thousands of production deployments take some shit job just because it's Google? Honestly, they're just another company ...
Make your own opportunities before you burn your bridges... the time for a victory rant is after you win big, not before.
That's wise advice.
I also think that undergraduate CS degrees today, are diluted. That's not to say I have not met folks who know what they are doing with their CS degree. They are also the ones paying attention in class. For those that don't really know how to program ... they got about as much skill as a non-techie who goes off to try to do their own thing.
With regards to the English major. It was very possible that he programmed computer as a kid, tried to get a CS degree, and failing that dropped back to English. I'm not saying that this is what happened to him. I do know of a few folks at the local university it happened to. So far, they have not tried to get a programming job.
Just to clarify, though, the point I was trying to make was not about the importance of degrees but about the importance of learning computer science rather than just, for example, "learning to code Rails" (whatever that means).
You're right, learning computer science is important to developing software.
Kevin is no script kiddy, I can guarantee you that. His 20% time project at Powerset is contributing to Rubinius. I don't know how many people here are hacking on the next generation of Ruby VMs, but I wouldn't call him a script kiddy.
Kevin's obviously done a lot of useful work for the Ruby and Rails communities and I respect him on that basis the same way I respect Zed for his open source contributions.
Before he wrote mongrel, it seemed like he had a pretty decent working situation. After he wrote mongrel, he was jobless and nearly homeless for an extended period if time.
That just doesn't sit right with me as being truthful. How can a person, who is otherwise a qualified developer, write one of the most well-known pieces of the Rails infrastructure, but suddenly be jobless? I wrote a shitty weather app and got 3 gig offers within a day. How can you be a household name within the Rails community and not have a job?
By being an arrogant asshole? By demanding outrageous fees? By demanding outrageous control over projects? All three?
BTW: I don't think he is an arrogant asshole, he's just just brutally honest, NYC-style. And yes, Ruby/Rails folks often smell too much like "get-rich-quick" in their blogs/posts online, so I am not surprised if they are indeed shady in real life.
I have also read through this entire, long rant. I can't say whether he was being truthful about not having a job as a result of Mongrel though I don't doubt it. I do know a lot of the things he ranted about in the Rails community were true, from my perspective.
For example, that weird http://example.com/posts/1;edit was a very strange one. I thought that looked pretty ugly the first time I saw it. When it got finally fixed in the 1.2 and 2.0 series, the release note contained a very strange note. It said that it was "fixed" because some servers like Mongrel could not handle it, suggesting that it was a result of some brokenness on Mongrel's part.
That was very strange to me because I knew Mongrel's HTTP parser was actually generated straight from the RFC. If anything, it is probably the world's most standards-compliant HTTP implementation.
$500 for 5 minutes of work for someone of Zed's quality is pretty cheap, by my book. http://fridayreflections.typepad.com/weblog/2007/12/experien...
The 'Ezra' referenced as the creator of Merb is widely known as the go-to guy to make your Rails deployment scale.
I don't know about the cgi bug. I do know making the cookies-based session key default is really weird. http://news.ycombinator.com/item?id=81932
The stuff about the core team's herd mentality is true from what I've seen hanging out on #rubyonrails for nearly two years. You can also look at the record on the number of rejected patches on the Rails tracker. The general consensus among the folks who try contributing stuff, but not on the core team, is that if they don't use it, it is unlikely to make it in. In a lot of ways, that is similar to the way Linus Torvald's works with Linux kernel devs, with the exception that every Linux core dev has their own repo you can pull off of as an alternative to the "official" Linux kernel.
Finally, the bit about passive-aggressive behavior. That's something I see in any grouping of techies and geeks. I try to avoid it where I can, but it still gets under my skin. My tendency is to confront the issue and then be done with it. The first part of Zed's rant seems full of hate, but the boxing ring strikes me as a good idea.
A good friend of mine once explained to me about the passive-aggressiveness at the local university's lan-gamer's club. Two brothers took official positions in that student club. The older one is passive-aggressive, and the younger one is just aggressive. I perfer hanging out with the younger one. Sure, he can go beserk but at least he's honest about it :-) My friend told me the older brother was a better fit as the club president simply because he knows how use passive-aggressiveness effectively. That in a group like that with a high percentage of passive-aggressive people, these guys will not respond to any social sanctions unless it is in passive-aggressive form. Which is also why I don't really hang out with the gamer's club. Meanwhile, the younger brother is more marginalized when it comes to influencing that group.
All of this makes for a very interesting discussion when put in the context of this http://news.ycombinator.com/item?id=92792
Despite making a living off of Rails, I have not really gone out of my way to network with other Rails dev so I can't really say if the percentage of passive-aggressive devs are greater in the Rails community than without. I can say that I'm not surprised that Zed got marginalized like this, even after writing awesome code like Mongrel.
I have been hearing about Merb for a while on #rubyonrails. After reading this article, I think it is about time to take a serious look at it. I don't want to give up Ruby, but Rails has always been a means to an end.
But the point is that just because it was a bad idea, doesn't mean Koz is categorically a bad developer, or that he's any of the things that Zed called him. I heard him talk at RailsConf, and I have to admit that he sounded kind of like an egotist, but didn't actually know how to code all that well. But do I call him a fat fucker? No. That's taking it a little too far.
I've never met Zed. However, from the rant and from reading the interview with Zed about Mongrel a couple years back, I think Zed is being true to himself. To me, that's more important than crossing socially sanctioned lines ... even if it is name-calling.
I also know that I'm in the minority here. I value self-honesty more than appearances of professionalism or maturity. Self-honesty is extremely difficult to accomplish, if you can accomplish it at all. I get the sense that Zed prizes this as well. Won't really know unless I've met him.
Sure, but aren't these things orthogonal? Basic professionalism and maturity need not be excluded because of self-honesty.
He threw a tantrum in this rant, no bones about it. But I'm not going to make a judgment on whether he was justified or not. Zed just is, this is the choice he made, these are his actions, and there will be ripples from his actions. So be it.
I'm sure he's a smart guy, but he manages to make himself look totally unprofessional.
Also, it's not just "some guy." Zed Shaw wrote Mongrel, which virtually every Ruby on Rails project uses. Without him, Rails development would likely still be a huge pain in the ass.
BTW, you should read his essay on statistics; it provides a good starting point for figuring out how to analyze the performance of your sites.
I think you just answered your own question. ;)
Zed (and his code) is very well-known, intelligent, and important to the Rails community. Whatever you may think of his perspective or how it's been presented, he has some ostensibly valid criticism and it will certainly be interesting to see how people will react to it.
I personally have not interacted with the rails community (but have with ruby's) so I don't have an opinion as to whether he makes any good points, but taking him at face value, I have to admit I am a little disappointed.
Again, it will be interesting to see how this turns out...
"(15:11:12) DHH: before fastthread we had ~400 restarts/day
(15:11:22) DHH: now we have perhaps 10
(15:11:29) Zed S.: oh nice
(15:11:33) Zed S.: and that's still fastcgi right?"
Thank God JRuby is here...
http://news.ycombinator.com/item?id=91814
I'm surprised the business even survived that long with that many restarts per day.
when all you get is a 503 page
when nothing responds and it has nothing to do with your connection
"and are there ever expected ones?"
well, not expected meltdowns; more like advanced notice for maintenance - probably a deployment of a newer version of the web app
I've always knew these people were defending Rails for consulting money.
QFT
I respect his contribution to rails (I am using at least 18 mongrels as we speak) and I hope the rails community will be better because of this incident.
I think its the job of the founder/leader to figure out how to make a team of superstars work together. We ended up changing direction a few times midway through our startup (which was acquired). If we didn't have a kickass team that could switch strategies like that overnight (we had the prototype of the newer idea ready in 1 day) we would've been dead in the water.
But I suppose if you're the kind of cat who keeps IRC logs in anticipation of future sour grapes, then I think you qualify as eccentric.
That's not a bad thing, but the rant is oddly reminiscent of some of Hans Reiser's rants.
http://www.offworlddesigns.com/pc-291-24-fools-i-will-destro...
My apologies for the product placement.
And I gotta say: during the course of Zed Shaw's extensive business training, did they never have a class called "What Not To Do When You Burn Out, Part I: Cussing Out Your Former Colleagues on the Open Internet?" Because, if not, I think the b-schools owe him his money back.
I wonder if it had ever occurred to Zed that most software jobs involve getting paid to implement other people's horrendously lame ideas.
I don't want to be a "Ruby guy" anymore, and will probably start getting into more Python, Factor, and Lua in the coming months.
Why is it that I find myself praying this guy doesn't try to get into Haskell, OCaml, Erlang or any of the languages I hope to use?
Someone should tell him to stop taking charm lessons from TDR.
I have seen his type before. There basic line is, "I am the best, everyone else is either stupid or recognizes how great I am. Are you stupid?"
Even if these types have talent, they fail to accept it in others, and thus they are very difficult to deal with. They can become better once they go through the school of hard knocks. And I thinks that this Zeb guy (was that his name?) is about to get some knocks. Maybe he will learn some humility... maybe not. Eventually he will learn, but it might take him 30 more years of pain.
"If you haven't noticed, I'm funny and enjoy having fun. Enjoy my site, tell me if you use my projects. Don't take it too seriously though, it's all an act."
OK at least this guy probably has the ability of self-parity. It's just that I was first turned off by his seeming arrogance. But now that I look more closely, yes he is probably being picked at by the vultures...
I have seen this type of group think and dumbing down in the research world for many years now. I suppose it has a similar form in consulting as well. The world is not kind to the truth seeking individual, especially when that individual announces their intentions. The best one can do is to be wise about what battles to fight and to accept that there will always be some waste and fraud.
If one considers the data mining and correlation Facebook obviously has in the works, one might think that the CIA is using the vast amounts of data as a staging ground for techniques being employed in the recently black bagged Total Information Awareness program [2] started by DARPA and initially headed by (I shit you not) John Poindexter [3]. One might even argue that Mark Zuckerberg is so blase about potential acquirers because, indeed, the company will never allow itself to be acquired. One would probably be derided as a conspiracy theorist, however. :)
[1] http://en.wikipedia.org/wiki/In-Q-Tel
[2] http://en.wikipedia.org/wiki/Information_Awareness_Office
http://arstechnica.com/news.ars/post/20070125-8701.html
The author doesn't find the theory plausible, but does link to a DARPA paper detailing how social networking principles can allow financial transactions to be better tracked.
Being right is not the same thing as doing the right thing. Right now he looks every bit as ugly as the people he's vilifying. That's a shame.