5 ms·
The author is on the right track, but he fails to form a serviceable thesis. You should never exchange cash for services if you follow his thesis strictly. My t
by timtas 11y ago
The author is on the right track, but he fails to form a serviceable thesis. You should never exchange cash for services if you follow his thesis strictly. My ten year relationship with my own awesome dentist falsifies this thesis.
To find a better thesis, we might ask, what's the difference between my dentist and WeCodeLikeNoOneElse, Inc?
I think the main difference is reputation, the role it plays the given marketplace. I'm not sure why, but the market for offshore development has never counted on reputation. I can't name a single firm. I can't even remember the name of the firm I recently interacted with as a contractor coming in to to clean up their mess. If I were to suss out any one of the unsolicited Linked In offers for cheap development I get each week, where would I even start?
My dentist has built up a loyal clientele by word of mouth in the community over a lifetime. The community is small enough that a shady dentist would be run out town in no time.
Conversely, I do know the names of some local dev shops, and I know their reputations. The ones with good reputations do not treat their clients purely as cash cows. Although they face the same, or worse pressures on utilization, they do quality work, at a premium. They have built brands and will grow or sink mostly on reputation. They still constantly face incentives to pump out shit, but there's a counter balance that's missing in the offshore outsourcing market.
- PaulHoule 11y agoI think it depends who you work with. There are "boutique" outsourcing places, some in countries you would not expect, who do specialized sorts of work with the best quality at low rates. A lot of people I know the Los Angeles area run startups with outsourced development shops in India that have excellent, excellent teams. Personally, though, I don't like working for somebody else's consulting shop because of the agency problems mentioned. For instance you get a call from a customer who wants to know why his project is not moving forward, well the real answer is "My boss told me to work on somebody else's project because it is more important to the company." If you say that you will have an unhappy customer and some kind of "correction" from your boss, but if you refuse to give a true answer for the schedule slip, the customer will wonder if you are brain dead or all getting stoned at work or about to go out of business or... Software development "inside" a company has its own problems too that show up in various forms. A "non-technical founder" can often spend $25-50k or so to outside developers to make an e-commerce system that is a "minimal viable product" and then you are in a good place to market it, show to investors, bring in more people, etc. Sometimes it works but sometimes it does not, you might pay the money and get nothing or get a product which is minimal but not viable.
- d4nt 11y agoIf you've been told to work on something else, and you get a call from the customer asking about project status, the correct answer should be to refer your customer up to their allocated project/account manager. If your boss is re-assigning you then not keeping the customer informed on progress, that sounds like bad management, not a flaw in the agency model.
- chris_wot 11y agoA bad manager IS a flaw in the agency model!
- PaulHoule 11y agoIn that particular case my manager would not have done anything different than I would do or get any different results, it would just be somebody else doing it. Effectively I was doing the project management and the only thing he was doing was cashing and cutting checks.
- cbsmith 11y ago> For instance you get a call from a customer who wants to know why his project is not moving forward, well the real answer is "My boss told me to work on somebody else's project because it is more important to the company." If you in source though, the right answer might be, "My boss told me to work on somebody else's project because it was more important to the company.". ;-)
- SandB0x 11y agoAbsolutely agree on the reputation and word of mouth. There are great freelancers and consultants who can work with you to build your app. If you work in the industry long enough you will eventually come across them and they really know their stuff. Otherwise, it's a total crapshoot. They will able to show you a portfolio of work, they will NOT just build anything you ask for (instead they'll work with you to refine your idea into something viable), and they will be expensive. However, all of these people are local and I have never heard a success story first-hand about looking overseas to cut costs. I don't know about the word "outsourcing", but there are many cases where getting an experienced external team to build software is a great way to go. It works much better than trying to hire an in-house team for a small non-tech company, not least because it's impossible to get anyone good to join.
- byroot 11y ago> To find a better thesis, we might ask, what's the difference between my dentist and WeCodeLikeNoOneElse, Inc? The difference is that your dentist job is way easier to define, .e.g "Take care of that cavity" When you outsource the development of a software, you easily end up with pages and pages of specs, and it's almost certain there will be holes in them. Even if the remote dev shop is of good faith, it takes a lot of effort and talent to actually understand what your client need and want.
- Qwertious 11y agoMore importantly, if the spec is specific enough, you've essentially already written the program you want to outsource.
- rwmj 11y agoCould also be training. Your dentist has years of highly specialized training, and if he faked his accreditation he'd expect to end up in prison. Your random programmer can set themselves up with no training or accredited knowledge whatsoever.
- cantrevealname 11y ago> What's the difference between my dentist and WeCodeLikeNoOneElse, Inc? Lack of reputation might be a factor in why software outsourcing sucks, but the dentist analogy doesn't work. How does the average person find a dentist? They ask their neighbor or co-worker, who says, "Well, I go to Joe on Maple Street, and he's OK." Seriously, how many dentists does your neighbor actually know? It's probably exactly 1. How many dentists has your neighbor gone to in his entire lifetime? Probably 2 or 3. He has no basis for making comparisons. I trust neighbors and co-workers to give me movie and restaurant recommendations because the average person has experienced hundreds or thousands of those. PS: Here's how I find a dentist or doctor when I move to a new city: I do a Google search for ones nearby, look up their credentials, then choose one who went to a recognized university and whose degree is not too recent (inexperienced) and not a terribly long time ago (outdated knowledge, retirement age). This can't be any worse than selecting the 1 guy that your neighbor knows.
- ThomaszKrueger 11y agoAs for dentist, I found mine the best way possible - a coworker's sister studied with this dentist told my friend she wouldn't trust anyone else. Been going to his office ever since.
- zem 11y agofor dentists as for outsourcing, it is often an unnecessary effort to try to find the best available one. "he's okay" is a perfectly fine metric - i.e. "will do the job i need done, at a price and quality that are acceptable to me". small-scale yes/no-based reputation is fine for that. more specifically, you don't need your neighbour to have seen lots of dentists so much as you need lots of your neighbours to have seen joe on maple street and deemed him okay.
- saosebastiao 11y agoExactly. "Don't outsource" comes loaded with false positives and false negatives. I absolutely would trust Galois to write software for me in pretty much any circumstance imaginable. And on the other hand, I've seen far too many insourced dev teams deliver pizzas when theyve been asked to deliver hamburgers, and then subsequently try to modify the pizza into a hamburger because they didn't want to rewrite. When you have someone you trust, you use them. When you don't, you go by reputation (aka trust by proxy).
- cbsmith 11y ago> The author is on the right track, but he fails to form a serviceable thesis. Totally. His whole argument is essentially that the margin isn't high enough. It fails to acknowledge the truth that is highlighted all over this thread: most businesses are terrible it managing software development. It follows then that there is value in a trusted business specializing in managing software development to assist those businesses for whom it isn't a core competency.
- cbsmith 11y agoTypeoh that I can't edit. "most businesses are terrible at managing software development".