Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share
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 '12 at 1:51
4  
python.org/about/quotes describes some actual Python usage at some major companies. –  Joonas Pulakka Jan 13 '12 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. –  Jason Lewis Jan 13 '12 at 18:16
    
This. –  outis Jan 14 '12 at 7:42
    
I've heard the pysicists at CERN use Python. –  moose Jan 16 '12 at 19:52
show 2 more comments

locked by Yannis Rizos Jan 2 at 5:17

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

closed as not constructive by MichaelT, unholysampler, maple_shaft Feb 1 '13 at 17:59

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

14 Answers

up vote 48 down vote accepted

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.

share
18  
+1 for pointing out the "underground" nature of Python. For most programmers its a "secondary" language to supplement their C, C++, Java skills. –  James Anderson Jan 13 '12 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 '12 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 '12 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 '12 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) –  CraigM Jan 18 '12 at 18:09
show 4 more comments

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.

share
    
+1 we also use python for automated testing –  flamingpenguin Jan 13 '12 at 10:30
add comment

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.

share
add comment

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

share
    
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 '12 at 17:15
    
ESRI python support is horrible. Although, they are trying to fix it in recent releases. –  user Jan 6 '13 at 12:14
add comment

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.

share
add comment

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 :-)

share
add comment

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.

share
add comment

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).

share
add comment

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.

share
    
The 3d animation software Poser uses python too for scripting. –  Holli Jan 13 '12 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. –  ldigas Jan 13 '12 at 18:27
add comment

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.

share
add comment

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.

share
add comment

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.

share
add comment

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.

share
add comment

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.

share
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.. –  Martijn Pieters Jan 6 '13 at 10:52
add comment

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