
Meaningless statistics: Python job board
So yeah. Like I posted on Facebook: Nowadays, the Python job board would be better named "Django job board".
First, a disclaimer. I have much respect for the Django devs, and for the Django framework itself, from a technical point of view. Only problem is, if you don't like web development, then looking at the Python job board is a bit depressing these days.
To check if there really are that many web dev listings on the job board, I wrote a quick script. First, grab a copy of the Python job board page:
$ wget http://www.python.org/community/jobs/
Then run this script (it's quick & dirty, yadda yadda):
# jobboard.py import re re_tag = re.compile("(<[^>]*>)", re.DOTALL|re.MULTILINE) data = open('index.html').read() print "About", data.count("<h2>"), "job listings\n" data = re_tag.sub('', data) data = data.lower() words = ["django", "posted", "xml", "html", "css", "c++", "web dev", "gui", "wxpython", "pylons", "web2py", "java", ".net", "ironpython", "jython", "pypy", "php", "perl", "ruby", "rails", "cherrypy", "linux", "mac os x", "windows", "tkinter", "javascript", "zope", "turbogears", "grok", "plone"] dist = {} for word in sorted(words): dist[word] = data.count(word) for word, count in sorted(dist.items(), key=lambda x: -x[1]): print "%-20s%3d" % (word, count)
Some of the results I got when I ran it today (2010-10-28):
About 330 job listings posted 323 java 234 linux 229 django 204 javascript 150 html 131 css 89 c++ 84 web dev 82 perl 62 php 56 windows 53 xml 41 ruby 41 gui 37 .net 26 pylons 24 zope 16 plone 12 turbogears 11 jython 8 cherrypy 7 rails 6 mac os x 3 wxpython 1 grok 1 ironpython 1 tkinter 1 web2py 0 pypy 0
A few remarks:
- The word "posted" is in here as an estimation of the number of job listings. Another way to do this is by counting the
<h2>
s. Neither way is exact, but it's safe to say that there are around 320-330 job listings on the page.
- In those 330 posts, Django is mentioned 204 times. (This does not necessarily mean that there are 204 job posts mentioning it; it's possible that some job descriptions mention it multiple times. But even if each listing would mention it twice, that would still be 100+ jobs.)
- Other web development frameworks and libraries are less popular: Pylons 24, Zope 16, Plone 12, Turbogears 11, CherryPy 7, web2py 0. If I forgot your favorite framework, just add it to the script and run it for yourself.
- Linux is popular as well. This surprises me a little. Or maybe not; considering that the majority of these jobs are web development, it's likely that they run Linux server-side.
- Java and Javascript come up a lot too. (Due to the sloppy nature of the script, 150 of Java's 234 hits are really for Javascript. Still, that leaves 84 "strings that contain 'java' but not 'javascript'".)
- It's also interesting to see what doesn't come up a lot. GUI programming apparently isn't popular with people looking for developers. Neither are IronPython and Jython.
As always, attaching any meaning those these results is left as an exercise to the reader. :-)