Friday 5 November 2010

Why Are There More Python Jobs Than Java?

I recently looked at the latest job ads and it seems there are now more Python jobs than Java vacancies. Although it's too early to say, but it could be put down to a lot of things - one of which is the recent case between Oracle, Apple and Google over their use of Java on the Android platform.

Although, there are still strong support for Java in the enterprise, more companies, mine included are looking for ways to move their applications forward to a platform and language that's above and beyond the control of one company. You know what this reminds me of? Remember the rosy days of Microsoft, they controlled everything - from the language to the operating systems. But with the advent of Linux and Mac-OSX, there's now more choices of operating systems and platforms.

What this means is that you don't have to be locked in or tied to Java, there's Python, Ruby, Perl and countless other languages that are not under the control of one profit-making company.

So, in a way this goes to explain why there's been a huge increase in people learning things other than Java. To give you an idea, run a search for Java and Python; and try to compare the number of vacancies for each one.

Another reason why Python is doing very well lately is the huge support from open source developers working on awesome frameworks like Django and Pylon. These frameworks are a breeze to learn and use - making Python alot more attractive -- along with the fact that it's not controlled by some huge corporation . I think the ease with which you can get a Django application running compare to that of any Java framework is another plus for Python. I have been a Java developer for the last 5 years, but it still baffles me how complex a simple Java app can get. On the other hand, getting Python/Django app running couldn't be smoother. There are no complex XML configuration files for each deployment... no over-bloated applications server to learn and configure.

Here's another example of how Python has progressed lately and gaining a lot of traction in many Mozilla projects. From the SUMO and AMO websites, to Socorro and the next-gen Firefox Sync server.In fact, it turns out that there's more you can do with Python which you can only dream about in Java. Very little applications have come out of Java on the desktop camp. We know Java works very well on the server side, but the you have to be a be prepared to spend more than the average company to have your Java applications hosted. This along with on-going problems in the Oracle camp add to seemingly decline and lack of glamour in Java compared to a few years ago.

So, with the recent problems with Oracle and lack of truly open source Java, won't it be wise to start investing in Python or Ruby for your next project? 

Have you tried Python/Django? Considering using something other than Java?
Would love to hear you thoughts.

12 comments:

Peter Lawrey said...

Perhaps its a regional thing, but perhaps there should be more jobs than vacancies. ;)

www.jobserve.co.uk jobs in IT
java - 2,230.
python - 237.

Jobs earning £75K+
java - 428
python - 31

www.jobsite.co.uk
java - 1231
python- 183

www.monster.co.uk
java - 1077
python - 204

www.totaljobs.com
java - 934
python - 205

Tom Borthwick said...

Did you really post the right links for this? The java jobs had 8 listings; python also had 8, but included 'Fix bug in python script', which seems less than full-time, and 'Adobe Flex Developer' with python as one of many possible other languages. Another was 'pyhton /vb or any other language '. Another was 'In app purchase for iPhone + facebook expert', which was also looking for either java or python skills If I'm looking in the wrong place, let me know, but these listings hardly back up your claim.

Juan Carlos Garcia said...

Have you try the Play Framework?

Even thought im more of component frameworks, plays fits nice

http://www.playframework.org/

Neeraj Yadav said...

I think its too early to say Python or other Dynamically Typed Lang. has more jobs then java as J2ee has been here for so long and many projects had been done over it which simply means support for these projects will be there for few more years.
After doing some ground research i have also experienced paradigm shift for functional programming from OOP,therefore jobs are definitely going to be more jobs in Python,Groovy,Ruby and others in near future and specially after the whole disappointing gild of Oracle vs Google.

I believe there will be more jobs in Groovy than others as it is just over Java and proven technologies like spring and hibernate.Thus saves your expenditures on j2ee.I know that there will be more jobs in groovy but don't know exactly when will it happen.

Cheers
Neeraj Yadav

Anonymous said...

Given the Fantom language a try? (http://fantom.org).

It seems a great blend of static and dynamic, oop and functional, immutable, introspective, clean syntax, easy to pick up, running on the jvm and fun to work with.

I've just kicked the tires and happy with it.

Jane Adams said...

I see your point -
One of our main developers also voiced his concern for Java and how we should be looking into Ruby or even Python.

So, since we had the discussions, most of the guys in the office have been taking online tutorials in Python.

David Kramer said...

http://www.indeed.com/jobtrends?q=java%2C+python%2C+php%2C+ruby&l=
says there's about three times as many job openings for Java than any of those languages. While I'm certainly concerned over what's happening with Java and Oracle and Apple, etc. It's WAY too early to jump ship, and I'm not sure it will really affect enterprise Java for years,

Webacle Technologies Ltd said...

haaa get it right. JAVA is the King of Open Source and factually it;s most prevalent on Job market, Python/Django will gain market in 2020 as for now most of us are more into JAVA where MOBILE and other multimedia apps have traversed for long; for instance, try javaFX! Awesome!!

Peter Lawrey said...

WHen ever I have looked at Job counts in the past, the most common "language" asked for is SQL. However, I suspect most of these roles only expect a passing knowledge rather than use it as a core programming language.

Of the non-database programming languages, Java comes out on top consistently, however if you count all .NET languages as a group, they have more jobs in total.

Python and Ruby may be the best, most interesting and dynamic language for your project, however they are not as commercially orientated as Java or .NET (and many developers prefer that way IMHO)

anehra63 said...

Python is a new language so it will take some time to creep up.

Anonymous said...

Still its too early to say Java will be commercial and need licencing to code. But this can happen and devs should need to touch with other opensource languages like Python, Ruby,ect..

Dave Newton said...

I'd be curious what makes you *believe* there are more Python than Java openings--it's simply not true, anywhere *I'm* aware of.