Quantify my language

oDesk Search Results

oDesk Search Results

The cost to scale a web application has changed considerably and therefor the way most people decide to plan out thier development strategies has changed as well. Not every web site is an enterprise solution and getting many sites or versions of sites out to the public quickly has become the greatest focus on a fledging comapanys mind.  Because scaling is so cheap and servers are so easy to set up with clouds I often hear, ‘lets deploy first and see what people think and if it gets big we will just through some servers at the problem, and improve the code as we grow.’  For the most part I agree, in the case that a complex problem arises an RPC call to some seperate more efficient code base, server or algorithm can be used.

Dividing up a site into 3 parts is key, re-inventing the wheel tasks, already built better then we can build it widget/api tasks, lets solve a new problem tasks. For example: login, and register has been developed 100 times over as well as setting up projects and DB connection settings. Getting a users feedback or publishing your content to all the social networks has been done beautifully by many companies that now give it away for almost nothing and are great to use, unless your new great idea has a core innocation in such technolgies. Then there are the problems out there that may be partially solved, but there is still quite a bit of technique and brain power needed to tackle your unique version of the problem to complete your companies mission, like improved search of billions of peices of data or 3 degree+ of sepration colculations. The mission is use what you can that already exists if its not your CORE business to own such IP (often times people think they have 5 core’s….they don’t) and use what you can to get that core going as quickly as possible. This isnt true for all web startup’s — but it is for most.

oDesk Feedbacks

oDesk Feedbacks

I will save more on that topic for a later post. Today I simply wanted to take the problem of getting started up a level or two and look at the first part of development for non developers.  I mean I personally know what I like to develop in, and it’s always good to ask someone with more experience then you what he/she thinks, but I all to often I find people that have inadvertenntly chosen the more expensive, more timley path and in the end they have a mess, a bill, and an almost incomplete site. They are then left with finding a batch of new developers who can jump right in and take over. I see this ALLOT and it breaks my heart. Is it jus a product of bad consulting? Is there a way to help get non developers a leg up and allow them to make good desicions quinatitatilbyl without a consultant telling them biasedly which way they can go to suit there own needs.

I know that oDesk, and other internet based freelance servcie is where allot of folks turn to so I went out and got some basic datapoint to start this conversation. Below are some charts I put togther using search scripts to get results sets from oDesk (whom I think should put out more repots on this matter to help out the public).  I simply tried to query things people may be wondering and get results sets for each lanuage respectivley. I was suprised to see how flat the results were.

oDesk Search Results:

# high rated   feedback (2+ FB & 4+ stars) total   feedbacks (4+ star) most hours (2+ FB & 4+ stars) $/hr of most hours (2+ FB & 4+ stars) avg top 10 hours avg $/hr of avg top 10 most hours avg cheapst top 5 avg most exensive top 5 highest reqested rate
Python

3

6

606

$33.00

146

$25.34

$24.67

$28.10

$83.00

Ruby

12

9

2300

$16.00

663.5

$27.50

$14.93

$95.51

$230.00

PHP

64

37

4045

$30.00

1923.7

$26.44

$9.33

$75.62

$166.00

Java

12

15

712

$27.78

530.3

$26.13

$8.45

$54.09

$166.00

.net

10

14

2490

$19.44

641.6

$26.85

$11.55

$40.80

$111.00

Below is a list of some languages and how many hits came up when the languages marked with an X where combined in the search. I guess what I was going for here is how many people know what combinations of languages. For example people who posted a knowlagdge of all languages was 7, and those that claim to provide services to both python and ruby were 35.

Java

Python

Ruby

.net

PHP

Search       Hits

x

1427

x

246

x

300

x

1757

x

2397

Expand to show all results +

oDesk Results

oDesk Results

I will admit I dont like .net and I am not a fan of PHP as much as I used to be and although I enjoyed building FamilyOven.com in Java iterating over quick changes on the fly got really annoying having to compile and recompile my code. The pside of course is its great stability and easy to debug format. It’s just that scripted code suits my needs more these days. I put things together to push out new sites and stabiiy in the first year isnt that hard to do with server costs the way they are these days.  Python and ruby have allot of abstraction but for the first year I probably wont care, second year I will just pull hard tasks out like I explained in the first part of this email.

The data I gathered made me seriously wonder for a moment, am I just falling into the hype or is python and ruby as smooth, efficient and easy to develop sites quickly as great as it seems? I didnt jump on the ruby, python band wagon quickly. I created a few sites on it before I formed an opnion for sure.  I guess whats more important to notice here is how the hell is a non-technology/development person able is to decide on a languge to go with after talking to vendors and seeing results like these. I mean these data points love .net and php as giving off the impression that they are affordable, and popular.  I feel however that those that I know that use Ruby and Python are more innovative, fast, and love what they do more so then the others, not to mention cheaper in that they get more done more quickly. (or so it seems that way as of late) I would love to get some advice on ways to mine for data that respond with data that can statistically prove my sentiment isn’t just an opinion, a sort of freakenomics style of analysis if possible. I dont want to try to manipulate data to prove my point I just want to see if there are any true data points out there that confirm what my gut tells me.

Of course being that ruby and python are new compared to the other languages one could expect such unimpresive numbers and stats, I also think that being that they are so new to the common developer tool set it is impresive just how many people code on it already and how many plugins are available. One metric that could be usefull is expense to get started materials wise, free easy to use documentation, number of plugins, and time to start a basic project/site.

Python for instance is part of the Google standard languages, that speaks highly to me. It is supported by the Google App Engine and it has jython a frameowkr taht allows python to run in java runtime. That is mportant as well as java run time is more efficient then most things out there so you have flexability. Ruby has tons of plugins as well as python. and all scripting languages take almost no time to set up.  Also it is important to pointout that other then biz spark from MS getting a project developed is MS systems are not free to get started on from servers, to dev environments to documentation and support many MS product cost quite a bit which can get in the way of trial and error, innovation, speed to market, and keeping initial expenses down.

Please comment if you think I should account for a factor I missed or if youhave some data on your own.  If you have some crutial data points please list them and the source you were able to get it from. THe more straight data we get the more we can help people make better descisions rather then just using he told me so approach.

Here is some data about the job market in 2008. More data on jobs and how they relate to development would be helpful as well. i.e.  http://dotnetslackers.com/Community/blogs/xun/archive/2008/08/18/who-has-respect-in-web-development.aspx

Comments

comments

Leave a Reply

Your email address will not be published. Required fields are marked *