Python Job Market

Dave Brueck dave at pythonapocrypha.com
Wed Dec 31 11:47:31 EST 2003


Samuel wrote:
> So, In the past year and a half, I've become very enamored with Python.
> Eventually, it would be nice to eek out a living being a Python
> code-monkey.  What's the job market like for python right now?  Where is
> it going?  I have some experience with c and c++ and windows system
> administration, so this could be considered a minor career change.  Does
> anyone have any advice on what direction to focus my studies and efforts
> so that I'm more marketable?

>From what I've seen the market is definitely growing, but if you're hunting job
listings for an all-Python job the pickings are pretty slim. The easiest way to
use Python in your job will probably be if you introduce it to the company
yourself and then use it as the opportunities arise, but not try to force it -
if it's not the right tool for a particular job then using it anyway will hurt
its acceptance in cases when it _is_ the right tool.

An easy entry point is on small tasks that don't _appear_ to be that important,
such as automating your build/release process, writing test harnesses, and any
other internal dev/QA utilities. From there it's an easy migration to tools
used in production but aren't outward (customer) facing, such as tools that
process log files and load them into the database or generate reports, or
monitoring scripts for production systems - behind-the-scenes stuff. Write a
few utilities to make the lives of the IT / Operations staff easier, and
they'll defend Python to the death. :)

Another entry point is through web development, e.g. using Zope or Webware or
Quixote first for an intranet, and later for actual production websites. In all
cases it seems to be a matter of the new technology getting a foothold, an
opportunity where it can prove its usefulness. Having a meeting and deciding
e.g. "will we use Java or Python?" is IMO the worst possible route: you can
argue forever on theoretical problems that may arise, whereas most critics are
silenced when faced with a real, working, and reliable example that's already
in use.

If you're introducting Python (or any new technology, for that matter), it
seems to be easiest in really big companies or really small companies (YMMV as
I'm basing this on only 3 or 4 data points for which I've had first-hand
experience :-) ) where the initial number of people affected is small. In a big
company development is likely divided into teams for different areas of
functionality or different products, so using Python locally isn't likely to
ruffle many feathers. In a medium-sized company I've seen a single product with
sub-teams, and higher resistance to do anything different (sadly, at one such
company there was enough agreement to prototype a new system in Python, but
even though the prototype was robust, fast, and _fully-functioning_, too many
developers refused to see it as anything but a prototype, and insisted on
reimplementing it in Java. The result was slow, flaky, and was never completed.
Grrr.).

The most success I've had with Python is in a small company where there is
_way_ too much work to get done. Here there are fewer people to cry foul when
you do something different, a much greater emphasis on results (so any tool
that boosts productivity is favored), and generally fewer layers in the
decision-making hierarchy. That's the current situation I'm in, doing server,
web, database, and Win32 client development all in Python (with very occasional
work in C/C++). We didn't have a big meeting to set a mandate that we're an
all-Python company, but over time the projects in Python flourished because the
initial versions got done so quickly, bugs have been few with fixes coming
quickly, the cost of adding new features has been low, and the developers have
been able to take on additional projects. The non-Python projects have gained a
reputation of being slow-moving, complex resource gluts (in terms of developers
needed) and have fallen by the wayside.

It's funny to sit in on a sales call because now even our sales guys "brag"
that Python-based technology is part of our competitive advantage as if it's
our secret sauce or something, whereas initially it was more "Shh, lest people
find our we're using some weird scripting language". :)

HTH,
Dave






More information about the Python-list mailing list