What a topic this is. Here's a little bit of what I've learned over my short amount of years in technology:




American business people are still a little bit on the greedy side. Who knew, right? From what I remember, sometime during the 1990s the technology jobs at corporations started going overseas strictly to reduce expenses and pocket the savings (much like the same behavior we saw in 2008 when people got greedy again on Wall Street). And of course that resulted in an incredible opportunity for the foreign workers to gain western skills that they had otherwise not seen much in their own mainstream markets. And now we're at a point where that initial mistake of outsourcing technology jobs simply to save money has come back to haunt the USA as a whole.

But IMO, it's not really a bad thing anymore. However, there are things to still stay away from. What I've noticed by working in the private sector is that, while the majority of consultants are technically competent, it's a very small minority that are actually competent in the communication game. To me, getting work as a consultant and keeping the client happy about what you did for them is just as much a sales job as it is a programming job. I'm pretty lucky to have both skills, but I've talked to countless people (OK, maybe not technically countless) that were unhappy about the technology work that was done for them. And rarely did I hear that the reason was because the consultant did not perform the work correctly. The reason was always about unknown surprises that they were unaware of, and either they or the consultant were at fault. So I guess technically, that means the consultant did not perform the work correctly?

I suppose if you don't work in technology, there is only so much you can do to educate yourself about what you're getting into when you hire a consultant. The most important thing though, IMO, is to research research research! Personally, I don't think that needing to meet a consultant face to face is necessary in order to get quality work done. But I do think there are red flags that you should be aware of...


Creative Programmers

The one that comes to mind right away is when you're talking to a programmer that doesn't seem to have anything "non-technical" to say. More often than not, I've noticed that these people are closer to "box thinkers" than actual creative thinkers. And to me, creative programmers are those that (among other things):

  • Have the brain power to solve complex and unusual problems in a practical way that can be used/understood by clients.
  • Actually can convince you that they are listening to what you have to say and understand what it means to a project goal.
  • Can still communicate face to face on a business level like the people did back in the 1960's when there were no computers.


My opinion on this is that these people are very risky to do business with. And the reason is because they always seem to be focused on the technicalities of anything and everything. And honestly, the US government has taken that approach since they've been in business and they've obviously failed everytime. So the result of working with such a person would probably be a product or work done that really isn't practical, but technically correct.


Nitpick-Prone People

I haven't made up my mind on this one, actually. I'm not sure what the "modus operandi" is most of the time. But it seems to be that these people often don't understand what the most significant/important issues are to a project. I was in a meeting not too long ago where I was collaborating with many other people about a platform migration for an application I was working with. The app was about 500K lines long and was using a legacy platform. As we were talking about things like memory requirements, platform differences, resource needs, conversion difficulties, etc... one of the developers spoke up and said "what about error handling? How does that work?". As soon as the person said it, I could see that the consultant we were working with didn't know what to say. He was probably thinking that the question was very low priority, given the issue at hand. To me, that's a great example of what to watch out for.


Theory Overload

I know this little trait the best because this is basically who I am. I can theorize just about anything to death and explain why it exists, where it came from, and what it's purpose is. But that sure doesn't mean that anyone else cares!

You also see this all the time on forums. I've probably even done it a few times, or more! The classic example that I see a lot is when someone posts SQL like this:
Code:
select table.name from table
Inevitably some 'wanna-be' expert will come along and say something like:
First of all, NAME is a reserved word in Access. I would suggest changing your field name
Yes that's helpful, but the real reason it's not that helpful is because the person asking the question probably doesn't have to know that kind of stuff to do their job, but the "expert" does. And what I've learned, at least so far, is that these sort of responses are knee-jerk reactions from technically-educated people when they become frustrated with technically-ignorant people.

But regardless, I would think that a consultant who tends to theorize everything you say would be pretty risky to work with. The reason I say that is because when you get in this mode of thinking, it's almost inevitable that you'll start over-thinking the project and try to perfect it. And that of course can easily lead to mistakes, technical or not. I know because again, I have always been a perfectionist myself.


Hourly Rates

I have no idea what the going rate is in any place of the world. But what I do know is that you can usually hire a competent and personable consultant for as low as $100/hr. Personally, I think $100/hr is a little low if you have an extensive amount of knowledge that can be valuable to a project. But again, what I've noticed over a few recent years of work is that the higher paid programmers are usually those people that are more business oriented rather than task oriented.

In general, I believe that long term value can't be achieved by simply doing tasks. But unfortunately, many consultants are hired for just that reason. The problem with this hiring motive, is when business conditions change and it becomes almost necessary to talk to a consultant that has the capacity to understand the client's industry and scenarios. And I wouldn't doubt that there is an entire market out there that people have taken advantage of by just fixing past problems. And yes, that's much more expensive than getting things right the first time around - for the same reason it costs and arm and a leg to recover lost data.


Foreign Consultants

Wow, what a sensitive subject. Even in this day in age, it still seems like the majority of foreign consultants are much cheaper to hire than domestic ones. There are a couple of obvious reasons for this:

  • Cost cutting for competition.
  • Foreigners (specifically workers from India) are somehow still viewed by many American companies as "more technically competent" than Americans.


But I still think that the old adage holds true: You get what you pay for.. And that doesn't just mean that cheap labor results in poor quality products. It probably does for durable products, but not knowledge-based products like a consultancy. I've collabored with plenty of foreign consultants that are pretty smart people. But the one thing that I've noticed about all of them that I've talked to is that the conversation always seems to drift off onto technical tangents and the business side of the conversation seems to eventually disappear.

I'm not really sure why that happens so much, but my personal conclusion right now is that maybe too little exposure to American-style business thinking could be the culprit. I'm not really a fan of American business thinking on many fronts, but the one aspect of it that I think is extremely valuable is the ability to provide ideas that foster longevity in business models.

And I also think that, by definition, some foreign consultants may not possess that skill to a great degree. Some obviously do, but I think in general the majority may fall short in the area. Again, personal opinion. It certainly doesn't assert that this is true by any means. So that just may be something to consider. Hopefully not, but it is out there.


So that's a little food for thought I guess. Hope you enjoyed reading.