I won’t link to the article, but recently a very popular and well-respected member of the rails community wrote some scathing stuff about some members of the community, pretty much lambasting the entire RoR crowd in one fell swoop.
If this person’s blog had “Enterprise Java Architect” plastered across the top of it (and was not a well-known ruby contributor), then I’d probably be here ripping him to shreds. Actually, I’d probably be here just ignoring that kind of rant…
I’ve blogged before about the ability to take criticism well. Unfounded, meritless attacks are one thing. But if the criticism points out some flaws that are recognizable, I’m more than willing to take a good hard look. Won’t necessarily agree with the critics or feedback all the time, but it’s worth at least getting, to see how other people perceive you / your abilities / etc.
That’s how I would view this attack on some members of the community. He backs much of what he says up with IRC logs. Some of them, if true, are indeed astounding. i.e. the fact that a, how shall we say, major RoR operation had to restart their app server 400 times a day. Who knows if this was an exaggeration, or later turned out to be due to hardware failure (it happens).
On Consulting
It’s this persons right, but he basically called almost all of his consulting clients “morons” or some such. His reasoning was that he had a business degree as well, and obviously a high sense of self-worth & belief in his ideas, etc.
This person should clearly not be doing consulting. He made some pretty major mistakes, i.e.:
1. Not getting a percentage paid up front (i.e. minimum 30% of some X amount)
2. Kept working on projects even though he wasn’t getting paid (similar to #1)
3. Allowed his clients to pay him NET-30 (turned into NET-60)
You have to be pretty firm as a consultant or clients will try and walk all over you. On several occasions, I’ve had the opportunity to glance at client’s bank accounts just to ensure A) they had a viable balance, or B) they indeed were sending me a check via their bank’s check mailing system.
In these cases, I didn’t ask this but the clients offered this to me as an assurance that they were the real deal.
For every 1 paying client, you get 4-5 people who want you to work equity-only, so often the lines are blurry.
Do Most of Us Get it Wrong?
Statistically speaking, most of said rant author’s clients probably will fail. But at least these clients are taking chances by starting “some silly social network.” BTW - has he heard of silly social networks like Bebo who targeted the UK market (even while MySpce dominated here) and is now valued at hundreds of millions?
Or perhaps Digg, which was built by a php contractor for ~ $2,000 paid for out of Kevin Rose’s retirement savings. This ruby contributor (god bless his contributions, which my apps use daily) would probably have scoffed at Rose’s idea for “yet another” social bookmarking site.
Small sample sizes indeed, not scientifically indicative, but if all of these client ideas are stupid, then sites like Digg, Bebo, etc. would never have broken through.
Extraction of Sunk Labor Cost Value Through 60+ Hour Weeks
The rant author then goes on to post this gem, which I could finally get behind (company name removed so as to not run their name through the mud via hearsay):
Because ******** pays these people a salary that is fixed and considered a sunk cost. If they pay someone 60k/year and that person works 40 hours/week then they are paying them about $29/hour. If they convince this idiot to work 60 hours/week then they are basically paying the moron $19/hour. If they can push them to 80 hour/week then these idiots are actually making $14/hour. You can make $29/hour managing a fast food joint.
The further and harder ******* (or any consulting firm) pushes its employees the more money they make because then they charge the client for each fucking hour. Get it? If they push an employee to 60/week they not only reduce the cost of that employee but also increase the billable hours. Hell, even if they don’t charge for those hours they still make more money just by reducing costs.
Okay, but that could be said of any company that hires someone on salary but then pushes them to work so many more hours each week.
I’ve had occasion to work with people who seem to value hours spent in the office as opposed to actual productivity.
They basically come across as having the Jesus Complex, i.e. “they died in the office for our sins.”
Here were some of the things that were slightly annoying about this mentality:
1. You could, literally, get as much done in 20% of the time (or 5x as much for the day), but if you didn’t work 10 hours that day you still looked like a slacker.
2. Working from home is not allowed. Lord knows, people might *goof off* at home (or run errands) in between checking in code. Because no one ever surfs Google Reader, Digg or their favorite sites in the office.
3. Were not accustomed to using a Changeset viewer to see exactly what everyone is working on each day.
4. Changeset viewers would make it trivial, for example, to see if someone indeed produced many multiples of quality output as someone else.
5. Would spend 20+ hours setting up their favorite version control / ticket system, when Unfuddle and friends would be ready to go in 5 minutes worth of setup.
6. Would create new projects (not optimizations) that could take days to implement (not to mention maintain), when leasing an additional server @ $125 per month would solve the problem equally (if not better) as well.
This is not directed at anyone individually, but rather that kind of mentality that values “looking like you’re working hard” vs. actual quality output.
Under Pressure
I’ve had to deal with a pressure cooker situation before, where this statement from our rant author rang a bell:
I saw them pull passive aggressive shit like picking on a single employee high-school-nerd-vs-jock style until he conforms or quits.
In my case, I got the heat because of my speaking up about the diminishing (then negative) returns of pushing devs in 60, 70+ hour weeks. Then eventually walking out one evening when my feelings on the matter weren’t being heard.
If you’re treated like this, it probably is a good idea to just walk out or somehow or another assert your value. If you’re normally a rockstar but are farting along, checking in crap code, while you see your fellow devs checking Facebook stats every 5 minutes in between GReader sessions, then you know that nobody is really getting much done but is rather just putting in face time…
All in all, that experience was a learning one, and it was more about miscommunication, middlemen / managers, etc. than anything.
Rant Repercussions?
Will this developer’s rant have repercussions beyond the ruby world? Perhaps — this could end up all over Digg, programming.reddit.com, etc.
I say that’s great though. If the RoR community can’t take criticism, then it will never actually evolve or learn to take a good hard look at itself in the mirror.