Sunday, February 04, 2007
« More LINQ videos | Main | TextMate for Windows »
DomXml has a nice post that breaks down consulting rates in the IT industry. Prior to joining my current company I worked at a consulting company. During my time there I learned a lot about how consulting companies work. In general, as Don points out, they try and get "more affordable" consultants and employees so that the markup that they receive is higher. I must say that the place I worked was probably much much better than most, however, I was often amazed at the rates that we'd end up charging clients knowing who was going to be working on the projects. For some reason everyone always seem to think that having cheaper, more inexperienced, developers is the way to go since they result in higher margins. While in theory that sounds reasonable it always seemed very shortsighted in my mind. Sure you pay less for a more inexperienced developer, but it also takes that inexperienced developer longer to get things done. Often times much longer. The solution developed is also more likely to be "sub-optimal". What often happens in these situations is the senior developers end up cleaning things up, and making sure "shit" doesn't get shipped.

It's my opinion that having a small, experienced team is the way to go. Unfortunately, in the consulting world this often doesn't work. The way consulting companies make money is by increasing head count. As you increase head count it becomes more and more difficult to find good people. As you hire more and more people, who are no longer as good as you probably would like, you end up putting yourself in situations that are destined for failure. I think most people realize that it's important to hire great people but everyone seems to fall into similar traps. All the sudden a big project falls in your lap. Since you don't have the resources to staff it, you hire a bunch of people. Since you need your resources quick, you drop your quality bar and hire whoever you can. Since you've hired more people, you start making more money. You chase more money, and hire more people. Eventually you have a bunch of people, most of which you have no clue if are any good. You do Ok, ship some stuff and have decent success. You get blinded and all the sudden make the same mistake you originally made and hire more people. Afterall, more people means more money. The majority of big consulting companies have a large pool of resources who are inexperienced, inefficient, yet quite good at making your projects going longer than you'd like. It just so happens that longer projects means more money, and potentially more people. We all know what more people means don't we?

Anyway, I've gone off on a bit of a tangent that I didn't intend. The original point of this post was supposed to be to remember that you get what you pay for. While it might seem strange to pay twice as much for something, whether it be a consultant, a product, or a bag of groceries, you most often times get what you pay for. Or do you?
Monday, February 05, 2007 4:19:03 AM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [4]  |  Trackback Related posts:
Are great coders underpaid?

Monday, February 05, 2007 12:40:16 PM (Eastern Standard Time, UTC-05:00)
That is exactly what led me to decide to stay small. I always get better service from small companies, it can't be different on software shops. The thing is that I have to decline projects/leads if I don't have people (or if I feel an inherent risk) and most probably charge much more than any Indian offshore shop, but ultimately you get what you paid for and so far our clients are happy.
Monday, February 05, 2007 3:48:15 PM (Eastern Standard Time, UTC-05:00)
Brilliant! Very well said and written. I dare say that much if not all of this applies as well to development companies I have seen and not just consulting ones.
Monday, February 05, 2007 4:23:17 PM (Eastern Standard Time, UTC-05:00)
I was thinking about whether or not it applied to development shops as well. I think I agree that some (if not all) of it does, although I think there are some other temptations that trouble development shops. In the end I think the root cause is similar, if not the same.

Hammett, I'll keep a keen eye on Castle Stronghold to see if you're able to maintain that small team :) The problem lies in that if you do good work, which I'm sure you will, you'll be in more demand. The more demand you get, the harder it will be to resist the temptations. Good luck, and stay strong! :)
Sunday, February 11, 2007 10:14:06 PM (Eastern Standard Time, UTC-05:00)
well, that all depends. I worked for a small jobshop that billed out their developers by the hour, and paid them on a salaried basis. You can GUESS what kind of OT abuse THAT lead to (hint, if you were only averaging 70 hrs a week, you were a slacker)
anon former abused developer
Name
E-mail
Home page

Comment (HTML not allowed)  

Enter the code shown (prevents robots):