

Outsourcing Killed By Django And Ruby On Rails - pwim
http://blog.awarelabs.com/?p=80

======
natrius
_"Thats exactly why projects involving heavy C++, Java, Perl, and even PHP
have been at the forefront of outsourcing. Those languages do not have a
framework for rapid web development."_

Translation: "I am wearing blinders."

~~~
stcredzero
What is there for C++ besides CppCMS?

<http://art-blog.no-ip.info/cppcms/blog>

------
jmtame
Code has become a commodity. All you have to do is write the documentation
very specifically, and some guy in India with a lower standard of living and
lower wage will do it for you. No, the code might not be optimized or highly
readable (unless you specifically pay him and instruct him to build it in such
a way), but the fact is that programming has become easier to do. Yes, iPhone
app development is really expensive right now because it's difficult.
Objective C is not a difficult language, but the process of building those
applications forces you to think them through. You basically have to know
everything well in advance of starting a project. It's not really what I would
call a "rapid prototyping-friendly approach." So in some regards, iPhone
development and Flex development (or any RIA development for that matter) is
now expensive. But it won't always be. It will continue to become easier.

You don't think that other countries won't adopt newer languages and continue
to perform them cheaply? If it takes 100 hours in PHP, then people will start
asking for 20 hours in RoR. And maybe now not everyone knows RoR, but those
outsourced developers will pick it up if they have to. They will pass the cost
savings on as well. And yet again, we're back into this cycle of code and
applications as a commodity.

The only way to beat outsourcing is to be creative. The one thing you have
against anyone else who wants to do outsourcing is to take zero shortcuts. The
outsourced projects will for the most part fail, although they'll still
happen. You'll see guys from Goldman Sachs dumping some money into these lame
projects that will never surface because some YC startup was willing to put in
the wrench time to build a more holistic approach: not just code, but design,
and usability, and culture. That is sustainable. An outsourced project is not
(unless your Kevin Rose and promote your idea on TechTV). By the way, I got to
meet Byrne, and he's tremendous. I would argue he's one exception to the rule
that outsourced programmers are not creative.

The reason our engineers drop out is because they don't see how the material
they're being taught is relevant or at all interesting. There's too much
science, math, and analysis when there should be more of a balance of
practice, drawing, design, ethics, and art. It sounds really Utopian, I know,
but you have to ask (1) why are drop out rates for engineers >50% in the
country, but <2% at schools that emphasize drawing, creativity and practice
along with the engineering courses, (2) do these outsourced projects really
deserve all of the hype they receive? I would say they don't, and there's no
language that will "kill outsourcing." There never will be.

You can save money on projects, and lure the project managers to hire you
instead of someone in India, sure. But do you really want to work with those
people who are just out to find a quick dollar? And like I said, you don't
think someone in India will embrace faster/cheaper languages if the market
starts demanding them?

I hope I didn't completely miss the point on this. Perhaps I did, but I at
least thought it was worth discussing outsourcing and creativity in engineers.

~~~
utnick
Don't you have to have an iphone and a newish mac to develop for the iphone?

That barrier will keep costs high because not many 2nd or 3rd world
programmers have access to these tools.

~~~
russell
Not really. The outsourcers aren't using a dung powered recycled PC. The ones
I have worked with have had hundreds of programmers, much larger than the
companies I was working for. Usually they already had the hardware needed or
could get it quickly.

------
patio11
I love Rails and will agree that it boosts productivity tremendously, but if
you cut out the 80% of your time you spend on gruntwork, you'll find that 80%
of your remaining time is spent on gruntwork _relative to your increased
capabilities_.

Which means the economics of "OK, outsource the gruntwork!" still make sense.

I have a RoR website which is probably pushing 1,000 lines these days. (1,000
lines in Java will, maybe, get a single page mostly done at the day job.) It
blows away my day job in terms of functionality. You want to know what about
800 of those lines look like? Grunt work. (Validation that a user has a name
and email address? Takes 1 line... 1 line of grunt work. Verifying that anyone
using these 27 actions is an administration? 1 line... of grunt work.
Implementing a search function for lost registration keys? Four lines... of
grunt work. etc)

~~~
marcus
The point is that at a certain point writing the code gets easier than writing
a spec.

Lets say you outsource this site, and you send a spec to the developer the
spec looks something like this: 1) These 27 actions should only be used by an
administrator. 2) All users must register with a valid looking email and
choose a username.

Every one of those would still take one line, wouldn't it be simpler to just
code the damn thing yourself???

~~~
kirubakaran
Test driven development might help here. The test cases you write will act as
spec, ensure quality of what they deliver and will also enable further
development. You have not wasted your effort.

------
ckinnan
Actually, more important to the deteriorating economics of outsourcing: the
dollar is down substantially since 2002.

<http://futures.tradingcharts.com/chart/US/M>

~~~
Dilpil
Couple that with the rapid wage inflation in India and you have the situation
pretty much every programmer knew was going to happen sooner rather than
later.

------
koraybalci
All I can read from this article is US developers are skilled and expensive,
while non-US developers are non-skilled and inexpensive..

I might agree with expensive/inexpensive but who says US developers are more
skilled than others? On what grounds, study, statistics can anyone claim that?

~~~
rgrieselhuber
Even if such statistics existed, they wouldn't be that helpful because it
pretty much comes down to how successful each company is when they outsource
development work.

In my own experience, I've managed outsourced teams in China, Mexico, India
and Argentina. While doing so, I've worked with some fabulous developers and
also many not-so-fabulous developers. I've also hired more than my share of
engineers in the US and the fabulous:not-so-fabulous ratio actually ended up
being pretty similar.

The main thing that local developers have in their favor is they get to
partake in the evolution of thought that takes place in any long term product
strategy whereas remote developers don't have that advantage without the help
of enlightened managers / dev teams.

The really good developers, however, wherever they are, are able to transcend
even that challenge and contribute effectively to the product strategy. I've
seen that happen in remote teams in all of the above countries and it's pretty
cool to watch.

~~~
mechanical_fish
_The main thing that local developers have in their favor is they get to
partake in the evolution of thought that takes place in any long term product
strategy..._

Yep, that's it. It's not that the people are all that different. It's that a
person twelve time zones away is a lot harder to communicate with than a
person living next door. Especially if they're not from the same culture.

The cultural and distance barriers aren't _impossible_ to overcome. But they
are a handicap.

I used to work for a semiconductor company with a substantial factory in
Malaysia. I'll never forget the first time I took the long, long flight to
meet the engineers there. It was like removing a blindfold. You got into the
factory with those folks and suddenly all their problems -- which had seemed
so obscure over those damned conference calls -- became clear, and their
personalities snapped into place, and you could start getting things done.

~~~
michaelneale
From my experience the cultural one is much worse then the distance one. Also
timezone is another distance related factor - far away but similar timezone
means more collaboration.

------
sdfx
Oh, these arguments make my head hurt:

> _"The same 100 hour project with all the filler code obfuscated by Django or
> Ruby On Rails now takes 20 hours."_

Ruby is so awesome that it simply saves 80% of your time? Really? You can't be
serious. Yes, I understand the argument: If you remove all the fluff, you end
up with the core problem, but I just can't believe that it's true.

> _"Saving $800 over a higher skilled, more reliable, and more creative $80 an
> hour developer.[...] Its not worth $800, be happy with the $6,200 saved."_

You should at least compare the 800$ to the 1600$, which is a saving of 50% -
the risk might be higher, but the core problem is also in the "regular"
project and you had no problem sourcing that out.

Seriously, these made up numbers are not helping. Maybe there is a truth to
this argument, maybe not. But declaring you can get the same product for 20%
of the price if you'd just use the right language is just wrong.

------
russell
Outsourcing can be hugely dangerous for startups. I have talked to the
founders of several startups who were domain experts but not professional
developers. They usually ended up with a product that they couldn't release.
Part of the problem was that the founders were not sufficiently technically
skilled to communicate their vision across the language and cultural barriers.
Another was that they usually ended up with an unscalable MS stack. To be
fair, that's pretty common, if you use less skilled US developers.

------
kirubakaran
"During the Bubble, a lot of people predicted that startups would outsource
their development to India. I think a better model for the future is David
Heinemeier Hansson, who outsourced his development to a more powerful language
instead."

-pg

<http://www.paulgraham.com/vcsqueeze.html>

------
zmimon
This seems like a bit of a fantasy to me.

The notion that a significant use of java in enterprises is to churn out large
numbers of small CRUD applications on brand new database schemas (which is
really the only place such huge productivity boost is possible) is naive. In
fact, often it is about internal interfacing between legacy systems with
horrible, gigantic and contorted schemas that are near impossible to map into
such frameworks and thus might actually turn out less productive since things
like ROR are built on a whole lot of "assumptions" about what the system looks
like that explode on you all over the place when it doesn't.

If there's a turn around in outsourcing then I think it's more to do with the
costs of prior projects coming home to roost and changing the perception of it
and / or the cheaper USD.

------
mseebach
1: Outsource Django/RoR work

2: The 48-minute work week

3: Profit!

------
scott_s
_"Even the skill difference won’t be a risk. A low skill developer will be
able to churn out 80% of the project in the same 100 hour time frame as a
skilled one."_

I thought this notion was quashed a long time ago. The author seems to suffer
from a form of myopia where the only development he can see is web
development.

------
tphyahoo
TFA doesn't explain what prevents outsourcing django and ruby on rails.

I think the answer may be... nothing.

Personally my approach is to do the bulk of the webev yourself and outsource
stuff like graphic design, research, maybe some simple press release writing.

~~~
whatusername
Easy. Outsourcings general return is something along the line of:

Cost Saving = .5X-R

Where: .4 is the factor that given programmers are cheaper. (So I'm assuming
that your third world Programmer is half the price of your first world one) X
is the total number of hours / days for the project *Note the implicit
assumption here that all programmers are created equal) R is the risk factor.
Harder communication, Cultural barriers, etc.

So for smaller values of X (say when you're using django not php) - then your
expected return goes down. (And the overall influence of the Risk factor goes
up - namely it could be cheaper keeping it first world)

