38
votes

I'm looking to get a job as a Python programmer. I know the basics of the language and have created a few games with it using pygame. I've also started to experiment with Django.

However, looking at the job market, it doesn't seem very many Python jobs are web-related. On the desktop side of things, it doesn't seem like very many companies use the popular GUI libraries like pyQt or wxPython.

How are companies actually using Python? What areas should one focus on to land a job as a Python programmer?

7
  • 2
    Hi sq1020, we really can't tell you what you should learn or what's going to be fruitful to you. I've instead focused your question to be about the job market part of your original question; you can decide what you want to learn from that.
    – user8
    Jan 13, 2012 at 1:51
  • 4
    python.org/about/quotes describes some actual Python usage at some major companies. Jan 13, 2012 at 10:45
  • If you're specifically interested in Django jobs, there's this site. I can't make claims for quality, I mainly do Ruby. Jan 13, 2012 at 18:16
  • This.
    – outis
    Jan 14, 2012 at 7:42
  • I've heard the pysicists at CERN use Python. Jan 16, 2012 at 19:52

14 Answers 14

47
votes

The thing about interpreted languages is companies that don't want to give their source code away don't use it in delivered software, so almost all the jobs you will see are web related. You might have better luck searching for specific frameworks like Django. If there's an open source project written in python you like, you might apply to a company that sponsors it.

It usually won't make it into the job description, but it's almost an underground among programmers who use languages like C++ to use python when they have a choice, for one-off utilities, in-house applications, or things like automated test scripts that aren't shipped with their official product.

Some high-end software like Maya uses python for scripting, so that might be another route to pursue.

9
  • 18
    +1 for pointing out the "underground" nature of Python. For most programmers its a "secondary" language to supplement their C, C++, Java skills. Jan 13, 2012 at 3:28
  • 6
    +1 for companies that don't want to give their source code away don't use it in delivered software
    – Ubermensch
    Jan 13, 2012 at 4:35
  • 1
    +1 couldn't agree more. Don't use python at work, but for applicable personal projects, it's my go-to language. With regards to the comment on implicitly distributing source, you can compile python to bytecode which will at least be slightly more difficult to reverse engineer.
    – prelic
    Jan 13, 2012 at 18:24
  • 2
    +1 You described me to a "T" - embedded firmware development in C and C++ by day, but I use Python for writing utilities, one-offs, file-manipulation stuff, etc. on the host side.
    – Radian
    Jan 16, 2012 at 18:55
  • 3
    Actually, Python can be compiled and shipped without source code. Check out the game Galcon for an example of a game that was developed using Python and PyGame. (pygame.org/project-Galcon-340-.html) (not sure if Galcon Fusion still is)
    – user9368
    Jan 18, 2012 at 18:09
21
votes

I've used python at my current and my previous job for creating automated testing frameworks, for writing automated tests, and for writing desktop applications used by our testers. In my previous job they also used python for a lot of other internal tools, build scripts, system monitoring and logging tools and so on.

Python and other dynamic languages may not always be used to create the product, but they often power the tools that build the product. Don't just look for companies that sell products based on python, look for companies that have smart internal systems groups that aren't required to use compiled languages. I've built a very long career almost entirely with dynamic languages like python, perl, ruby and Tcl and have loved every minute of it.

1
  • +1 we also use python for automated testing Jan 13, 2012 at 10:30
14
votes

It is worth pointing out this page on python success stories over at python.org. It has

41 real-life Python success stories, classified by application domain.

8
votes

Python is used in GIS programming. It is used as a scripting language for ArcGIS, and for Quantum GIS.

2
  • It's also used within ArcGIS for calculations. Some error messages will lead you into the python modules that are written by ESRI.
    – celenius
    Jan 13, 2012 at 17:15
  • ESRI python support is horrible. Although, they are trying to fix it in recent releases.
    – user
    Jan 6, 2013 at 12:14
6
votes

Python is true general purpose language. Your question is kind of like asking, what area should you focus on if you want C++ job or Java job. There is no one answer, spectrum is extremely wide. If you want to find banking job related to Python, you'll find one, if you want to find embedded programming in Python, you'll find it, if you want be game developer using Python you'll find that too.

5
votes

In company I work for (80K employees) we use Python for:

  • test automation
  • some scripts where shell scripts will be too complicated
  • build environment

and silently... for fun :-)

3
votes

I work as a Python developer at a data mining and aggregation company focusing on the Insurance industry. We have a large internal Python application that has both web and data manipulation pieces. The company is extremely happy with the language, especially the fact that it allows us to be very fast as developers adding new features to the software. A lot of companies that deal with data manipulation and process tracking use python for these tools. It is internal usually, and it is not glamorous, but the work is definitely there.

2
votes

Python is widely used on the server side. This of course mostly includes web apps, though other kinds of servers exist. (Some keywords to google: Django, Pyramid, Zope, Twisted.)

Python is rather widely used for scripting. This includes various testing / building / deployment / monitoring frameworks, scientific apps and just quick scripts.

Python is rather widely used as embedded language. See e.g. Maya, Blender, various games.

Few (if any) desktop apps are commercially developed in Python. Open-source desktop apps written in Python are abundant, though, and can serve as examples (but usually will not give you a paying job).

1
vote

Tecplot, a popular visualization package uses python for internal scripting. Rhinoceros3d, a NURBS modelling solution uses it also.

Don't know how many other applications there are, or whether this answers your question at all ... but I've gotten the feeling that python is finding its niche as a embedeed scripting language.

2
  • The 3d animation software Poser uses python too for scripting.
    – Holli
    Jan 13, 2012 at 11:02
  • @Holli - Interesting! I know of Poser (by reputation, seen it used by my ex coleagues many times), but never used it myself.
    – Rook
    Jan 13, 2012 at 18:27
1
vote

My boss loves python and uses every chance he gets! So in our application we have a control that acts as a python interpreter. This runs on IronPython, since the main app is .NET based.

I have created a web based diagnostic interface for our new hardware that uses cherrypy.

I have put together an application for monitoring and controlling some aspects of other hardware we make. This uses Qt via the PySide bindings, for license compatibility.

So I don't think I can tell you what to focus on. I think you should look for a job that will satisfy your interests, and then focus on learning python to best suit that.

0
votes

Maya scripting is done in Python. Therefore, any animation, special effects or or videogame studio that uses Maya extensively (and that's most of them) will also likely use Python elsewhere in its "pipeline", which is industry-speak for the in-house information system that manages the production.

A Django or Flask web service that gets consumed by Maya plugins is not an uncommon architecture at these shops.

-1
votes

Python is used everywhere in the modern world. Dropbox was written in Python and like vartec said it is a general purpose langauge. To get a better idea of what python has been used for before and can do give sourceforge a look at http://sourceforge.net/directory/os:mac/?q=Python. As for your part about finding a job as a python programmer just look around. Many startups are hiring Python developers at least the ones I know of.

-1
votes

Python can also be used for report generation, deployment scripting, and numerical processing in scientific and graphical applications. I've most often used it in generating financial reports out of SQL databases.

-1
votes

I implement and maintain a fair number of Python (well technically Jython) scripts which are utilized in aspects of processing real time online stock/option transactions. Python is most definitely used in some mission critical applications. However, it appears to me that python knowledge doesn't translate well as a marketable skill in the job market.

1
  • 3
    Shhh, don't tell all those Python devs that are being courted by recruiters from Google and other companies all the time that their skills aren't marketable.. Jan 6, 2013 at 10:52

Not the answer you're looking for? Browse other questions tagged or ask your own question.