Thanks to Jay for pointing out this rant, via reddit.
Now, I'm sorry they guy can't get a job, but if this is his attitude, I can't say I'm surprised. He's burned his bridges with ThoughtWorks, for a start. ;-)
Disclaimer - I work for ThoughtWorks. But I can say that with perfect honestly that his impression of TW doesn't mesh with mine. Thing is, he seems to think that what TW sells is platform expertise. It's not. We primarily sell smart people. (Oh, and me, too.) A smart person will pick up a new platform quickly. If that's not possible with Rails, that that's Rail's problem - not that I believe that to be the case. Yes, you do need a cadre of people with platform experience for a project to succeed, but not the whole team. (Perhaps he'd have better luck job hunting if he didn't restrict himself exclusively to Rails?)
He says that TW leaves bad code bases behind. Again, in my limited experience, that's not true at all. TWers seem to care deeply about what they do. Anyone else out there who doesn't work for TW who has any experiences they'd care to hare?
Also, his dismissal of TDD and agile practices such as pair programming suggests to me that he's not really tried them. We at TW have a lot of experience in these areas, and it all works just fine for us. If he claims to have improved productivity by dropping them, then he's clearly not comparing like-for-like. Done properly, I fervently believe that these practices improve productivity in the long term (if not in the short term).
I do wish we used more Django and less Rails, though. ;-)
Posted to Rants by Simon Brunning at January 01, 2008 05:58 PMFrankly I'd find it difficult to take someone who writes like the author of that rant at all seriously. He is clearly his own biggest fan, and yet either he has no idea how to express ideas without getting up people's noses or he wants to get up people's noses. Either way he wouldn't get any business from me.
Posted by: Steve on January 1, 2008 10:59 PMBeing an absolute python fanboy, I don't think I want a character like that in my community. I'm a django guy, and I love it. I think he'd be better off doing his own thing. Anyone petty enough to post IRC logs to prove he's not a jerk is probably a real jerk.
By the way, my site is at The Iron Lion (dot) net but I couldn't post that because it matched Ion (dot) net Just FYI
Posted by: Paul on January 2, 2008 03:42 AMLike all TW employees, you drink too much cool aid. There is no evidence, despite ample records that pair programming or agile methods develop better software. Now when I talk about evidence, I don't mean "but it worked for me", I mean statistical analysis of real-world project results. People can't claim its too hard, as the data is all there in the SVN repos + project feedback.
And yes, languages + platforms take a long time to master. Hell I have been at it for a good 2 years and am still learning the intricacies. That's why any reputable company should sell "experience" rather than talent, because its never "your ideas" but execution that counts.
Even if you are a java programmer, how long do you think it would take to master the platform + libraries you use? Surely longer than the length of a single project!!! 10 years it takes to become great at anything according to common wisdom.
"He says that TW leaves bad code bases behind. Again, in my limited experience, that's not true at all. TWers seem to care deeply about what they do."
This statement makes no sense. Well surely because you "care" you can't leave bad code behind? Are you serious? Most, if not all programmers probably care about their code, but few have the EXPERIENCE + talent needed to deliver. If you look back on your code and say "oh wasnt that ugly" then you still haven't MASTERED a platform.
Many cooks (pair programming) spoil the broth, and its better to be a master of 1 than a master of none.
Posted by: smith on January 2, 2008 10:26 AMWhy don't you email Zed and ask him what he is talking about? I bet he can give you specific examples of TW doing what he says. That is the way I read his post.
Posted by: Robert on January 2, 2008 01:40 PMI had the chance to work with some TW consultants on a large-ish project.
Here's my observation and hopefully this will be a useful input for Thoughtworks.
- Stop brainwashing those graduate recruits.
It's sad when a TW fresh graduate blindly defending his code because he was 'trained' to do it in a certain way. Whoa, young padawan, the universe is larger than what you think, be prepared to listen to other people's opinions, specially those with more experience and knowledge.
I heard that TW sent their graduate recruits to one of their overseas offices for several weeks and those recruits were trained about agile/other practices. They must have forgotten to add some sessions on humility and the ability to cooperate with other people.
- Smart?
I think only a small number of TW consultants are really really smart, the rest convince themselves that they are.
Being able to pick up the latest and greatest technology and present it during lunch sessions doesn't make you smart, that only proves that you have more spare time to learn new stuffs.
Being able to apply certain practices doesn't make you smart.
Being able to apply design patterns doesn't make you smart.
- Design patterns are not viagra (and you're not impotent).
When a simple change requires you to trace through 10 layers of codes, you know something is wrong, yes, even though the beautiful design patterns would make GoF proud.
- Share the burden of the team.
Once I witnessed a TW rockstar guru consultant refusing a bug fixing task, he claimed that his time and the money the client spent on him were better spent on working on a new storycard. It was so ironic when we found out that the bug was introduced by that rockstar.
- Stop being negative. Do something positive.
During one standup meeting, a rockstar-wannabe consultant complained about an ugly code he found. He looked so frustrated and upset about it, to the point that he emphasized on how unprofessional it is to check in ugly codes.
There was another stand up meeting where, this time, a gandalf-wannabe consultant complained about how unprofessional it is when someone checked in codes with inadequate test coverage.
Even though I agreed with their points, they shouldn't have to be so angry about it, instead, they should do something about it - perhaps by pairing the person who made the mistake with someone who can show the importance of good code and test coverage.
- Summary.
I can go on and on about how TW doesn't do things fair for the client, but the important bits are pointed out by Zed very nicely and I agree with what he said based on my own experience.
My list only adds the fact that TW consultants are not an easy bunch of people to work with. But to be fair, there were 3 Thoughtworkers from that project that I respected. Those 3 were real gurus, now they have their own consultancy and are no longer with TW. The rest of them were ego-challenged group of elitists.
Posted by: james r on January 2, 2008 02:27 PMZed has a job. Just FYI.
Posted by: Wilson Bilkovich on January 2, 2008 02:54 PMTypically, the performance of work or who're trying to resolve its position is on the money they've applied options to crucial problems. Is it any wonder, why not attempting to unravel the issues of things?
Posted by: leather armchair on April 6, 2011 09:17 PM