Django Aware

« | Home | »

Outsourcing Killed By Django And Ruby On Rails

By Paul Kenjora | December 14, 2008

The absolute pinnacle of outsourcing madness peaked with the publication of “The 4 Hour Workweek” by Timothy Ferriss. The book was a Bible for starting your own sweat shop. Everyone from one man startups long forgotten to mega corporations like Ebay were looking to India, China, and eastern Europe to cut development costs. There is even a story, famous among cubicle dwellers, of an IBM engineer outsourcing his job to India, then using his free time to get and outsource another job at Motorola.

I guess if 80% of your job consists of writing many lines of code to achieve even the simplest task, like processing a login form, then 80% of it can be outsourced to lower skilled developers at a lower rate. A skilled and novice developer can churn out the 80% filler code almost at the same rate. 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. When most of the work does not require creativity or great skill it will be outsourced. The math makes sense.

Take for example a project in Java requiring 100 hours at $80 an hour for a skilled US contractor. Thats an $8,000 price tag for 100 hours of Java code, not much considering the mundane complexity of getting anything accomplished in Java. Now take a developer from India, China, or Slovakia (formerly Czechoslovakia) for $20 an hour, you get 400 hours for the same price. 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. Imagine all the basic for loops, form manipulation, and boring HTML boiler plate code written in any given project. That leaves another 300 hours to compensate for the skill gap. More than enough to mitigate risk in most cases. As a matter of fact you’ll probably be able to shave $4,000 off that price tag and still have a 100 hour buffer on a 100 hour project, 100% risk mitigation. Any bean counter will tell you, outsource, outsource, outsource…

Django and Ruby On Rails wash away the economics of outsourcing.

Enter Django and Ruby On Rails….

I see it happening already, its subtle, both frameworks are a ripple on the non-corporate pond. In the coming months they will grow into tidal waves, forever changing the economics of outsourcing. The numbers are changing already. A local company, OpenRain using RoR, is able to complete monster projects for a few thousand dollars with a level of testing that would make aviation systems engineers salivate. Entrepreneurial developers at PayPal and Google are producing entire websites every other weekend. Its happening so it has to be possible, how you ask?

Frameworks like Django and Ruby On Rails have removed coding as a schedule bottle neck by removing mundane boiler plate code. That 80% is now gone, developers can focus on the 20% that delivers features for the project. No more assembling forms or creating database queries. The speed of development is now restricted purely by creativity. This works tremendously well for web applications because both frameworks were built with that space in mind. The 80% reduction in development costs shatters the economics of outsourcing!

The same 100 hour project with all the filler code obfuscated by Django or Ruby On Rails now takes 20 hours. A skilled developer at $80 will put the project costs at $1,600. Thats $2,400 cheaper than even the most optimistic $4,000 outsourcing estimates using Java plus outsourcing. That difference makes outsourcing a dinosaur compared to Dango and Ruby On Rails.

Some bean counters will be tempted to take it a step further. Why not outsource Django and Ruby On Rails work to low skilled low price developers?

Its not worth the risk. Outsourcing using Dajngo or Ruby On Rails using the sample 100 hour project, now reduced to 20 hours, will cost $400. Build in a buffer of 20 hours and the price tag is $800. Saving $800 over a higher skilled, more reliable, and more creative $80 an hour developer. That savings means you’ve effectively washed all creativity from your development team. Risk is through the roof, you have all the drawbacks of outsourcing concentrated in the most important 20% of your project development, the user facing features! Its not worth $800, be happy with the $6,400 saved.

This is already happening, its a fundamental shift in development. For corporations, once they catch on, it means huge savings even over outsourcing. For high skilled developers it means creativity and talent will be more important than ever. For low end outsourcing labor it means carving out a space in testing and data entry or being replaced. Oh yeah, Django and Ruby on Rails are exponentially speeding up all of the above!

Topics: Tech News | Comments

  • This is a very interesting article to read. Outsourcing is indeed about money getting effective people to do it cheaply.
  • Is it the fastest growing Industry today? The Outsourcing one..:)
  • jgodse
    This is a great article. Now that I think about it, if you want to succeed in outsourcing, you have to often specify the job in great detail. However, at a certain point, that level of detail is called a "computer program". Rails and Django let you code web applications at a level of abstraction that is high enough to almost look more like specifications.

    i.e. Some work that was outsourced to India will be in-sourced back to compilers and configurable application frameworks (almost interpreters).

    You also say that outsourcing Rails work is not worth it. I would argue that you cannot do it effectively because Rails developers actually need to have a lot of domain expertise in the business problem solved by the Rails application. (Ditto for Django). Outsourcing domain expertise is never a good business strategy because it will most easily turn outsourcing suppliers into competitors.
  • Sam D
    "Some bean counters will be tempted to take it a step further. Why not outsource Django and Ruby On Rails work to low skilled low price developers?

    Its not worth the risk."

    Respectfully, you underestimate beancounters. $400 is $400. I'd ship it out in a minute.
  • All things being equal, yes $400 doesn't grow on a tree. The argument here is that the quality of work is worth the extra $400 to not outsource. I'm making an educated guess that quality will be lower due to:

    1. Communication delays due to time zones.
    2. Miss-communications due to language differences.

    Those 2 alone will probably chew through the $400 savings fairly quickly in delays. If not delays, I'd wager product implementation to meet business needs. You being the expert at your customers and your needs.

    There are always exceptions to the rule, I'd say that you have an 80 / 20 chance of finding a bad / good team. Doing the interviews locally, you can filter the bad a bit better. Add the time it takes you to find the right over seas team and that $400 barely breaks even compared to a local team.

    Just saying.
  • surabhiagr
    This is really interesting article that,high skilled workers in India cost as much as high skilled workers in the US or anywhere for that matter. The massive PR machine that has associated low cost low skill labor out of India and other countries has placed high emphasis on getting things done cheap.

    We all know you get what you pay for. So if I'm going to count on outsourcing to save me money I'm going to need to get a lower skilled developer. If I get a high skilled developer then I may as well get one locally to cut down on communications costs.

    I'm guessing the high skilled developer overseas has to recoup his/her education costs so they'll want more money. Also high skilled developers tend to have experience which also equals higher pay.

    You can't have it both ways, either you're cheap and low skilled or expensive and high skilled. Any other combination exploits either the worker or the employer.
    <a href="http://www.outsourcingjobsuk.com " rel="DoFollow">outsourcing uk jobs
  • wait a minute, what do you mean low skilled worker from india ? Your idea about RoR and the rapid application development is good but if you think indian developers are below average or just average as compared to a US skilled worker, i would suggest you to re-consider that thought.
  • Paul
    High skilled workers in India cost as much as high skilled workers in the US or anywhere for that matter. The massive PR machine that has associated low cost low skill labor out of India and other countries has placed high emphasis on getting things done cheap.

    We all know you get what you pay for. So if I'm going to count on outsourcing to save me money I'm going to need to get a lower skilled developer. If I get a high skilled developer then I may as well get one locally to cut down on communications costs.

    I'm guessing the high skilled developer overseas has to recoup his/her education costs so they'll want more money. Also high skilled developers tend to have experience which also equals higher pay.

    You can't have it both ways, either you're cheap and low skilled or expensive and high skilled. Any other combination exploits either the worker or the employer.
  • Yeah, I completely agree with these observations. At www.ayeteam.com, a ruby on rails consulting firm, we published a site called ayenotes.com for taking notes online in less than 4 weeks! I've been programming java for 10 years (and managed a team of 20 offshore engineers) and I know the amount of heartache and pain it would have taken to build and launch such a site. With Rails 2 and all of the i18n functionality, the outsourcers are feeling some of the heat (that is until the retrain).
  • Dev
    Well the author isn't necessarily implying that developers in developing countries are poor. Even if he is saying so, that isn't the point. The fact of the matter is that much of the work outsourced to these counties require a lower skill and are repetitive, like form processing or database connectivity boilerplate kind of code. Which probably is the reason why they are outsourced in the first place.To free up the mentioned 80$/hour developers and justify their wages by doing more innovative work.
  • To Robin's comment about American developers vs. Indian developers. This America vs. India thing started somewhere in the comments...

    The article simply states that outsourcing occurs to places like India. Which is a fact. It also states that risks include, schedule, completion, and quality. All true since its tougher to interview someone 12 time zones away vs. on the spot.

    I'm amazed by how quickly people jump at nationality vs. quality. I've yet to see a single comment about how $20 developers are just as skilled as $80 ones.

    Nationality aside, outsourcing carries risks and challenges. That is why new frameworks like Django and Ruby On Rails are effective means of keeping the work within the same time zone.

    Its just math, nothing personal.
  • 12 time zones away? nah am not convinced. I have been working with teams from US, Germany and Australia from last 8 years. We never had any problems with deliverables. Being an Indian I have only one tip for all the fellows in the US, If you are working on a project with indians, you better follow a scrum process. The time zone difference doesn't matter at all, indians are used to work overtimes, checking mails in the middle of the night is a habbit and guys like me even get time to write comments on random blogs at this hour (Current time: 4 am) :) good nite :)
  • Paul
    Sounds like your team falls into the high skilled pool. I'm guessing you'd raise the bar in India as well as the US. So I have to ask, whats a rough hourly rate on a project your team completes?
  • PHP and cake never took off like Ruby on Rails, is absolutely valid. The word 'AND' being important as it differs from 'OR'. Also I never mention Ruby alone, its always with Rails, thats where the power of the framework comes in.

    If you want to know why RoR is better from PHP and Cake then please read from someone who has evaluated both, other than myself to be fair:

    http://klimb.com/blog/2006/11/24/cakephp-vs-rub...

    PHP and Ruby are apples to apples, but Ruby is not Rails. So I never compare PHP to Rails, I only speak or RoR, please keep the facts straight.

    As for developing with PHP 10x faster than Rails, that may be, but its 10X slower than Ruby On Rails.

    Here is a list of applications written in Ruby On Rails.

    http://www.rubyonrails.org/applications

    Not bad for a relatively new framework. I guess if you count HTML, Javascript, CSS, and 3rd party widgets then its never 100% written in any one framework.

    Django and Ruby On Rails are both fads or just RoR?
  • @PHP and cake never took off the way Ruby or Django have.
    Are you serious? You are implying PHP never took off the way Ruby? Ruby without Rail is a nightmare to develop a full web application in. And I am yet to come across a single web app that is built on the top of Ruby alone. Developing with PHP is 10 times faster than developing with Ruby alone. And don\'t show your ignorance by comparing PHP with Rails. That would be the case of comparing apples with oranges. PHP and Ruby is apple to apple. Symfony/Cake to Rails is apple to apple.
    As for the popularity of Rails over non-Ruby frameworks, you heard of the term \'fad\', don\'t you?
  • Robin
    hmm.. if ignorent people like you are developing softwares for america.. then.. God save America..

    dude we here in india can develop softwares as fast and as better as any one else... what makes you think that Americans can develop softwares faster than others...
  • I agree with the post, the basics of the argument are true...

    Try to explain to your investors how you risked the entire project because you wanted to shave off an extra $800 by outsourcing.

    Outsourcing Risk >> Cost Of Django Developer Local

    For reasons such as: communications, scheduling, and yes creativity. The $20 an hour developers are not the same as the $80 developers. Local or anywhere in the world.
  • ryszard
    You know, bashing the developers in some country *and* having trouble with their actual name makes you look like an idiot.

    As for the numbers you mention, some Dilbert:
    http://www.dilbert.com/strips/comic/2008-05-08/
  • PHP and cake never took off the way Ruby or Django have. Ruby excels at javascript handling and DB obfuscation. Django was one of the first to completely auto-generate CMS for many projects.

    Of course there are still uses for the Java, and C++. Hence the focus on Web applications in this post. In that arena Django and RoR will outperform any other language or framework when it comes to time to market.

    The 20% seems on the mark according to a previous in depth post about re-writting an application from C++ to Django.

    http://blog.awarelabs.com/?p=67
  • graham
    hi - lots of FUD in this post, almost all languages have a QnD CRUD framework like RoR, Java has grails, php has cake etc. it really comes down to choosing the best technology for the company; JVM, Mongrel etc., languages are secondary (lots of ppl get caught up with quick apps but struggle to host them).

    awful shame to see something so badly researched making it on to popular sites.
  • Tom
    $8000 - $1600 = $6400, not $6200.
  • From my looking into the relationship between Java LOC and Python LOC the number seems to be a factor between 1.7 and 4 or 59% and 25% in your numbers (not comparing frameworks, one would need to compare Seam/Wicket and Django perhaps but I guess the overall is below the 2x factor as html, css and SQL/ORM code would be nearly identical).

    http://stephan.reposita.org/archives/2008/10/22...

    So your assumed 20% looks way off.

    Peace
    -stephan
  • I also don't see what is stopping 3rd world country developers from using the frameworks you're suggesting. It's not like they only teach you how to use them in american schools...

    I think the important point, which may or may not go with your idea of creativity being king, is that being a consumer (of frameworks) is not as valuable as being a producer (of whatever matters to customers)
  • Hey!

    I completely agree with you. It doesn't make sense anymore to outsource all that coding to India or China because we can do most web projects in 1/5 the time in the United States.

    Then comparing a $20 per hour developer in India versus the inherent advantages of a $80 per hour developer in America, you can quickly see that the American developer makes a sense given the external factors outside of money; quality, fast response, a physical address so it's safer, applicable US laws, etc.
  • wageslave
    What's there to stop said outsource developers to use django, ror, cakephp etc? Projects will be easier to develop for much cheaper. You're screwed.

    And only ruby and python have web frameworks you say? really?
  • Carlos
    Just a sad fact:

    Even though many Americans have heard about such 'things' as China, Slovakia or India, most of them truly believe the world begins in San Diego and ends in Boston.

    It seems to me that the only explanation you are able to find to the fact that a developer in India (or elsewhere) may charge $20/hour while a US based developer charges $80, is that the developer in india *is* under-skilled.

    Wrong.

    Try to figure out why this is not necessarily true. If you can.
  • You are dead wrong!
    For Java you have Struts, For PHP you have CakePHP, Zend Framework, Symfony and a dozen others, and for Pearl you have Catalyst.

    And I don't even want to comment on your views of non-US coders. How neanderthal!
  • " and even PHP " "Those languages do not have a framework for rapid web development"
    ==========================
    With all the respect - you are the dumbest person of the century to write such stupid thing :)
  • John Pundit
    the only problem i see with your conjecture is that there are plenty of django and rails developers in India and a lot more are coming up on the radar every day.

    Peace.
  • Just to make a correction to your quote....

    "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"

    ....I think u'll find that Java & Perl had web frameworks before Python & Ruby (for eg. Struts, CGI::Application, Maypole).

    /I3az/
  • lawl
    outsourcing is about money, not skill

    "developers can focus on the 20% that delivers features for the project."

    please, let's not kid ourselves, that remaining 20% is dead easy too most of the time and that's why people on your end get canned.

    Frameworks won't save lazy average 1st world programmers' jobs. Working will. Not complaining about cubicles or The Man keeping you down and preventing your 'creative' juices from flowing. And on the topic of creativity, how creative someone has to be to develop Yet Another _____? Not much.

    The really talented people? they have nothing to fear about outsourcing. They are already employed at the right places. The average guys who like to pretend they're on the same league just because they were born (live?) in the same country do.
  • The drawback, of course, is that it's harder to find freelance work for Rails or Django.
  • Jirka Vejrazka
    Amusing - that really improved it: "Slovakia (formerly Czechoslovakia)" :-)))

    No hard feelings (really), but might want to do at least a small bit of research before posting something. Hint: I'm from the Czech Republic which is also "formerly Czechoslovakia". Try Wikipedia ;-)

    FYI - there is no such thing as CAPTACHA (your previous blogpost), at least not in general use.

    Ranting aside, I agree that Django and RoR do make web development much easier in many ways. The only major problem I have with your article is the assumption that web development is bulk (or at least a significant portion) of outsourcing...

    Marcin: I saw a polar bear watching TV round the corner from my place just yesterday. Beats me where it got electricity for it ;-)
  • It's an interesting thing. When I had my first site made (1999), it was hosted by the company who made it (for a small fortune). My URL was purchased from Network Solutions (for another small fortune). I was able to find hosting for the next site, but the same rigamarole.

    Last month, I helped a 70 year friend set up a website on Wordpress.com. Free Software, Free template, free hosting, he can update it himself, and he paid less than $10 for the URL. AND his site is better than the site I had in 1999 - more sophisticated, better looking and easier to use. Go figure.

    I also got a bid from some dufus to do exactly the same thing for about $5k.

    Developers need to create a new game. Yes, Ruby, Wordpress, and Django create an easy to use, fast to update environment.

    What do I need a developer for???
  • I agree with the others - it's really pointless to focus on "low quality us" vs. "poor quality them." The average development team as far as I can tell would probably be low quality no matter where they are working from.

    Instead, it's better to focus on the problems inherent with outsourcing, such as communication gaps. This might present problems in understanding due to cultural differences, vocabulary, or just accents, plus the time zone difference depending on where the home base is in relation to the development team.
  • Oh, really! Are US developers all that pretty good.

    Huh! Have you ever visited this site?

    http://thedailywtf.com/

    You can find really amazing US developers' code there. I myself did cleaning of such code from a renowned US development company. By the way, living in UK now but I am a Bangladeshi.
  • People in India also can use Django and Ruby on Rails to speed up your work too. Rails and Django are bringing the high productive one programmer figure back. It was a time where it's common, mainly with programming languages like Cobol or Clipper.
  • Oh come on - don't be so harsh - everyone can make mistakes (especially when it's a mistake made by 80% of people from UK - yes, they still say Czechoslovakia even though they _mean_ Czech Republic)
  • Nick
    I've got your outsourcing idea. But really it's better to use US-based developer or non-US developer in text.

    The only difference between developers here and there is the cost of life and level of economics development.

    I am on your side talking about Django and ROR but, really you can find skilled developers in every country with so called "emerging" economics: China, India, Eastern Europe, Russia etc for very reliable price.

    I am Django developer and will work for >$25 per hour. And I am still able to produce sites fast.

    Nothing personal. Just my 5 cents from Ukraine (Eastern Europe).
  • Paul, did you know that in Eastern Europe white polar bears walk the streets in the towns and cities? Did you know that they don't have electricity, TV and radio? :)
  • It's an interesting point that you are making (but rather obvious and transparent if you ever did a project in Django/RoR), but as Gabor said this whole "unskilled-and-no-creativity-non-us" just really, really takes away from your argument.
    I can't say much about India or China, but developers from Eastern Europe often have very strong education and are creative as you might get - remember that the less resources you have, the more creative you tend to be.

    Just my 2 cents, as a Canadian ;-)
  • Gábor
    while i understand your argument, for a django-developer from Slovakia (http://en.wikipedia.org/wiki/Slovakia :-P), it's hard to overlook that you mention Czechoslovakia, which does not exist anymore...

    also this whole skilled_us_developers vs. low_skill_non_us_developers....

    what about the low_skill_us_developers and the skilled_non_us_developers? :)
  • Heh, some people tend to still live mentally in early 90's. Is there still German Democratic Republic (DDR)? Or People Republic of Poland?
  • eXt
    Hey! Interesting post but what is Czechoslovakia?! There is no such country since 1st january 1993! Socialism forever... ;)
blog comments powered by Disqus