After reading some Python material and seeing some Python code a few years back I decided to give it a whirl. I decided to start with Python to solve the problems on Project Euler and was throughly impressed with the language. Since then I've went on to learn Django, and now use it primarily for my web applications. I would love to have a career programming in this language, however I fear the future of the language is currently in a state of uncertainness. With Google and other major companies embracing it there may be some hope, what are your thoughts on Python, do you see many job opportunities out there?

  • 4
    @chrisw: Please remove "For those of you who may not know what Project Euler is... So, with that being said." A link is sufficient. Please focus on the question, omitting personal background.
    – S.Lott
    Mar 17, 2011 at 14:20
  • 2
    @S.Lott You have the rep to edit questions, perhaps you should make use of it. I have proposed said edit. Mar 17, 2011 at 14:33
  • Thanks, the change has been made. I'm still a tad new so appreciate the information.
    – chrisw
    Mar 17, 2011 at 14:35
  • 8
    @S.Lott No, but you improve the question and a pleasant "I edited this because X" comment is equally edifying. Mar 17, 2011 at 14:39
  • 1
    @Matthew Read: "equally edifying" to some perhaps. Others seem to learn better via hands-on. Also, I'm uncomfortable rewriting questions in a big way. I find a lot of questions very confusing, and find I need to ask for clarification. Other folks are -- clearly -- much smarter at guessing the intent behind a question. I prefer to ask questions and ask for changes because I may not have understood the question at all.
    – S.Lott
    Mar 17, 2011 at 14:59

9 Answers 9


Even if python (or any other language) stops being used I don't think it's wasted time to have learnt that language. The basic principles of programming are always the same and the hardest part (modelling what you want to achieve) is something that will always remain no matter what language you use. Technical nuances of a specific language might even help you to learn another language quicker or give you ideas to implement yourself in a language etc.

As Steve McConnell points out many times in "Code Complete" you should program into your language, not in your language.

  • 2
    This doesn't answer the OP's question (although I am not downvoting). There are many programming languages to choose from that will give valuable experience in learning new languages; if you only have limited time, then you need to turn to other criteria.
    – jprete
    Mar 17, 2011 at 16:55
  • @jprete: However, if there's jobs in the short run, there's going to be time to learn the next language. Apr 19, 2011 at 19:57

The job market for Python isn't that large compared to the major languages like Java, but that probably means it's relatively stable (as there's little competition, and work does need to be done).

  • 5
    The job market is smaller than for Java; that means there is less demand, but also that there is less supply. That doesn't necessarily mean it will be harder (or easier) to find a job. FWIW, i've read Python-using employers mention that it's easier to find good Python programmers than good Java programmers, for precisely this reason. Mar 17, 2011 at 17:10
  • 2
    @TomAnderson I second this. I've seen enough "PHP programmers" who show their true colors two weeks in as yet another [Drupal | Joomla | etc.] point-and-click 'ninja' (ugh). Case and point, more demand implies more glut and shameless self-marketing of non-existent skillsets in the talent. I realize that I may sound bitter, but at least I'm aware of it.
    – yurisich
    Nov 17, 2011 at 15:30

Because you like a language - just use it. Don't worry about what the industry as a whole is doing.

I used python in a recent project because I just needed a scripting language. I didn't want to deal with an ide/compiling. Nor did I want it to have anything to do with the web like javascript or php. I just needed a general scripting language. So python was perfect for my task at hand.

Just my thoughts on this: use languages because you like them or NEED them. Build projects that use these languages and freely add these languages that you know to your resume. Don't just specialize in one language. Know a few of the most important ones. Languages go in and out of fashion all the time so it's best not to put all your eggs in one basket. But if you have a need to use a particular language, go for it.

Python is great and it's very popular and ultra portable. I have python running on both my macs and pc's. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html


There is no uncertainty about Python's future that isn't shared by every other major programming language. It's one of the lowest-risk languages in terms of the chance of getting no return on your investment of time.

  • I guess my question was more on the certainty of the job market, is it worth the investment of time to learn and master?
    – chrisw
    Mar 17, 2011 at 14:06

It's been major programming language for quite some time already. It's the fifth most popular language (after Java, C, C++ and C#) and it's market share is steadily growing. So I wouldn't worry at all about future of Python.


There's popular, and then there's the most popular. Have no doubt, Python is a popular language. It's just not the most popular. Picking a language because it is the most popular is an OK strategy, but it's not the only strategy. Consider:

  • In my city (Seattle) you can see dozens of advertisements a month asking for a background in Python. That means there are probably thousands of Python jobs worldwide.
  • That said, there are orders of magnitude more jobs for PHP, C#, or Java.
  • However, there are also orders of magnitude more PHP, C#, and Java programmers competing for those jobs.

If you are an average or below average junior programmer, working in a market that only supports line-of-busines type software development, then yeah, you may want to focus on PHP, Java, or C#. However, if you are an above average programmer in a large market, you may want to distinguish yourself from the crowd by adding languages like Python to your toolkit. If you are a brilliant programmer with a long and successful track record, you can specialize in MUMPS or FORTRAN II, or INTERCAL, and still find work.


do you see many job opportunities out there?

Define many. If it's not PHP level or ASP then it's decent to little job opportunities for me. If i can't choose a city to live in and get a job for that programming language then it's few imo.

You can judge for yourself with this: http://www.indeed.com/jobtrends?q=php%2C+scala%2C+ruby%2C+python%2C+javascript&l=

As a future major programming language: In my personal opinion, only if, they fix the rift between 2.6 and 3.0. As in when they convert all the existing libraries to 3.0.

Here: http://python3wos.appspot.com/

  • +1: Nice chart. Here's the same chart with C, C++, and C# added to the previous languages. What is interesting to me is that the need for C++ has remained relatively stable, and while Javascript and C# started along the same growth rate, C# has leveled off and the need for JS has continued to grow.
    – oosterwal
    Mar 17, 2011 at 21:37
  • Try SQL, it's waaay up there with C. Mar 18, 2011 at 15:16

You don't have to choose between Python and some other language. Languages come and go. I have been paid to program in FORTRAN, C, C++, Ada, Emacs-LISP, Tcl, Java, Perl, Python, Ruby, Javascript, Groovy, and a few others. There are plenty of teams just looking for good people, assuming that good people will quickly be productive in any language. I have found such teams to be more fun than the folks trying to hire an <insert-popular-language> programmer.


Python is a great language and has a brilliant ecosystem. The popularity of python is due to ease of use, multiplatform readiness and a huge set of libraries. Python is slow, like all interpreted languages, but easily extensible with the ctypes module. There's enormous academic investment in python and it's many scientific libraries means it will be an excellent alternative to MATLAB and MAPLE in universities. In terms of product develoment, Python shines on the web. It's one of many good platforms. For reasons I don't agree with, many big companies and hospitals still use JAVA and ASP for the web rather than Python. To some extent that limits Python's employment opportunities. While individual developers are enormously attracted to Python/Django, especially for deployment on the google app engine, teams of programmers often use these more complex tools. The big con of Python is that it's not the best for making "apps" to sell for the iphone, windows phone, tablet PCs, etc. It seems like the big push in programming these days is to write apps that can be distributed for iOS, windows mobile or android. And that's not Python's domain. I vastly prefer to hack python than objective C for example, a real mess of a language if you ask me, but the frenzie around iphone apps makes objective C the more popular and perhaps more employable language.

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