Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Python Programming

Which Programming Language Pays the Best? Probably Python 277

Nerval's Lobster writes: What programming language will earn you the biggest salary over the long run? According to Quartz, which relied partially on data compiled by employment-analytics firm Burning Glass and a Brookings Institution economist, Ruby on Rails, Objective-C, and Python are all programming skills that will earn you more than $100,000 per year. But salary doesn't necessarily correlate with popularity. Earlier this year, for example, tech-industry analyst firm RedMonk produced its latest ranking of the most-used languages, and Java/JavaScript topped the list, followed by PHP, Python, C#, and C++/Ruby. Meanwhile, Python was the one programming language to appear on Dice's recent list of the fastest-growing tech skills, which is assembled from mentions in Dice job postings. Python is a staple language in college-level computer-science courses, and has repeatedly topped the lists of popular programming languages as compiled by TIOBE Software and others. Should someone learn a language just because it could come with a six-figure salary, or are there better reasons to learn a particular language and not others?
This discussion has been archived. No new comments can be posted.

Which Programming Language Pays the Best? Probably Python

Comments Filter:
  • Ada Engineer... (Score:5, Informative)

    by Anonymous Coward on Wednesday December 03, 2014 @01:11PM (#48516067)

    Ada is paying me ~$140k

    • by Tablizer ( 95088 )

      Ada tells all her men that, until...

    • A lot of that is the Security Clearance and nature of the work you do with Ada. Not the language per se, but what you're doing code for.

      You can make a mint on certain embedded assembler coding for highly classified projects.

      • You can make a mint on certain embedded assembler coding for highly classified projects.

        Should you be telling people that?

  • Yes (Score:4, Insightful)

    by Anonymous Coward on Wednesday December 03, 2014 @01:13PM (#48516079)

    Should someone learn a language just because it could come with a six-figure salary, or are there better reasons to learn a particular language and not others?

    Yes.

    • I was wondering what languages I should learn myself. I have some experience with C++, but that's over 10 years ago, and only as a hobby. I've been thinking about picking it back up, but wasn't sure if there were better options. Since I'm an adult and looking to be able to support my family, money certainly is one of the leading factors as to which language I want to get into.
      • Re:Yes (Score:5, Insightful)

        by thedonger ( 1317951 ) on Wednesday December 03, 2014 @01:49PM (#48516425)

        I was wondering what languages I should learn myself. I have some experience with C++, but that's over 10 years ago, and only as a hobby. I've been thinking about picking it back up, but wasn't sure if there were better options. Since I'm an adult and looking to be able to support my family, money certainly is one of the leading factors as to which language I want to get into.

        A more relevant question than money may be what interests you? Automation, mobile apps, database, web, etc.? You may have the potential to make more money as a Python programmer, but will a few thousand on average more per year make the job itself more worthwhile? Would, say, only $95k per year to program C++ -- if the specific job was more to your liking -- be a deal breaker?

        Another way to look at it: If you are happier doing the job, might that make you perform better and therefor out-perform the industry average?

        • This. Mod parent up.

        • I'm a developer and primarily develop in Java. However, I do program in Python from time to time. Without getting into a Holy War about scripting versus strongly typed languages, I will say that I would take less money to program in Java. I just enjoy it more. It probably has more to do with familiarity than Java being "better", but the syntax, third party tools, third party libraries, IDEs, etc. all contribute to the satisfaction of programming in that language.
          • by SQLGuru ( 980662 )

            All of the reasons that you like Java are the very same reasons that I opt to feed my family coding in the various .Net technologies (ASP.NET, C#, Javascript, HTML, etc.). Microsoft is very developer friendly (just as Balmer).....but seriously, Visual Studio is a great IDE.

            But I firmly agree with the aspect of taking less money to do what you love; that's far more important than money. My worst day doing my current job is better than the best day at my previous job.

        • I'd wager that people who are doing what they're interested in make more anyway because they learn how to do things their uninterested peers don't care about.

          • by Anrego ( 830717 ) *

            Indeed.

            Plus by having an outside interest, they tend to have a greater domain awareness and are able to talk more intelligently to customers and maybe even contribute business ideas.

  • by lgw ( 121541 ) on Wednesday December 03, 2014 @01:14PM (#48516087) Journal

    It's the problem domain, not the language. Front-end webdev seems more concerned with language fashion, and kernel work still scoffs at anything but C, but in-between language doesn't seem to matter that much.

    I've most of my career writing no-UI usermode code, and employers haven't much cared which language I knew. It's sort-of moved from C++/C#/Java being interchangeable to Java/C#/Python, though many hiring managers still seem skeptical of Python as a "real language" (I expect that will change over time).

    It's not your ability to bang out code in any language that will advance your career anyhow - whether tech track or management, it's one set of leadership skills or another that come to matter most.

    • by crgrace ( 220738 ) on Wednesday December 03, 2014 @01:21PM (#48516173)

      This is exactly right. I'm a scientist, not a programmer, and we use Python in my group because it is clean, easy, and gets the job done. When we hire people for scientific programming they typically use some mix of Python, C++ (ROOT, anyone?), and Fortran. These engineers are sought-after because they know how to solve tricky large-scale mathematical problems using computers, not because of a specific language.

      So it isn't a matter of "programming language x is valuable", but more a matter of "valuable people use programming language x".

    • Front-end webdev seems more concerned with language fashion, and kernel work still scoffs at anything but C, but in-between language doesn't seem to matter that much.

      Unless you're doing extremely challenging things...the kind that is often high-risk but also high-reward.

    • Leadership skills... Sorry I agree with most of what you said except that part. Never has such a word had such an ironic meaning as the word "leadership" in context of the corporation.

      • by halivar ( 535827 )

        Every corporate development team I've been on has had a leader, even if unofficially. Technical leadership is essential for developing talent, authoritatively resolving conflicts, and mentoring new and younger developers. A team without such leadership is dysfunctional from the get-go.

        • from the OP

          context of the corporation

          and your response

          dysfunctional from the get-go

          is basically the same thing :)

          • by lgw ( 121541 )

            There are major software-focused corporations where the software developer culture is not dysfunctional, and it's probably no accident they're many of the industry leaders (outside of gaming, for whatever reason, where the larger the corporation the deeper the circle of Hell for the devs).

      • by lgw ( 121541 ) on Wednesday December 03, 2014 @02:01PM (#48516531) Journal

        Never confuse "leadership" with "management". I'm quite well compensated, and a key reason is my ability to drag projects across the finish line, and the primary obstacles are often managers and petty territorial pissing. Another reason is that I make a concerted effort to raise both the code quality and developer morale around me - often by forcing a change in toolchain or automation through the bureaucracy to address whatever's frustrating developers most day-to-day. Sure, some companies don't value that sort of thing, but plenty do - enough for a solid career.

         

  • False advertising (Score:5, Insightful)

    by Anonymous Coward on Wednesday December 03, 2014 @01:14PM (#48516091)

    Not a single programming language makes the best figures in a year for you..but the ability to adapt and learn new technologies as well as completing your task does.

    • Once you learn a certain number of programing languages it becomes really easy to pick up new ones in the same style. Python, C, C++, Perl, Java, Ruby, etc. are all very similar and there's a point where you'll know enough that you'll just have to google the 'if' and loop syntax and you're good to go. After that you can learn different programming paradigms like functional programming or how assemblers work. And once you're there, you can pretty much pick up any programming language or API you need to

  • by account_deleted ( 4530225 ) on Wednesday December 03, 2014 @01:15PM (#48516101)
    Comment removed based on user account deletion
  • by Danathar ( 267989 ) on Wednesday December 03, 2014 @01:16PM (#48516123) Journal

    You should program in Python because it's a great language.

    • It's also the slowest [debian.org] language, at least among the common ones. In fact it's so slow that it's even a lousy replacement for Basic, because most Basic implementations are faster. And it's not standardized.

      • by tomhath ( 637240 )
        If your only concern is cpu cycles you shouldn't use an interpreted language. As long as the program is fast enough you should be concerned about things like productivity, testability, and maintainability.
        • I agree, but remember that Python is interpreted in exactly the same way that Java is: both compile high level code to bytecode and run it on virtual machines. PyPy selectively uses LLVM to compile that bytecode into assembler for some enormous performance boosts, much as the Java JIT compiler does.

        • I don't know. While I personally don't really care which programming language is used and have no quirks with programming in Python if I had to (I've done it in the past), it's not easy to see why Python became so popular except for confirming the widely held suspicion that only lousy programming languages can become popular. Even Ada has higher productivity, testability and maintainability, and it's as fast as C.

          To make things worse, Python is also slower than Ruby, Scala, Clojure, Racket, Common Lisp (sbc

          • As a roundabout answer to your final question... when there is a "technology" (I use that word loosely when describing computer languages) that takes all of 5 minutes to grasp then you are going to get a lot of practitioners of that tech being the type who picked it up in 5 minutes or less. Had they spent the requisite number of years using different idioms in different languages in different industries you can be sure that they would have firmly placed python back down after playing with it for a few weeks

            • by Just Some Guy ( 3352 ) <kirk+slashdot@strauser.com> on Wednesday December 03, 2014 @05:09PM (#48518099) Homepage Journal

              They think it's great because, in a tragic case of hilarity, jumping into code with minimal design is what python is great at.

              We think it's great because, among other things, it has first-class functions and a very high code:boilerplate ratio. This lets us write very concise, readable, and maintainable code.

              If you're a diligent programmer in python/php/javascript/etc then, in each function you write, you're going to double-check that the type passed in is correct, anyway.

              Eww, no. I've never seen good Python code that asserts types because it's not the idiom for you to care. For instance, suppose you write a function like:

              def get_contents_of(obj): return obj.read()

              In this case, obj might be a file, or a web request, or a string (via the StringIO interface). Who knows? Who cares? As long as obj.read returns something, it works. BTW, this is supremely nice for unit testing when you don't really want to hit an SQL server 1,000 times in a tight loop.

              Now, you could write something like assert isinstance(obj, file) to guarantee that you're only dealing with file objects. Of course, that lays waste to the whole concept of duck typing and people will laugh at you for doing it. So dropping that bad idea, you could write assert hasattr(obj, 'read') to ensure that the object has the needed methods. But why? Python gives you that check for free when you try to call the method. Let it do the heavy lifting and concentrate on the parts of the problem you actually care about.

              Exceptions are one of the worst things to have become common - an "error" is almost always only caught outside the scope that it occurred in, hence the stack has already been unwound and thus there is no sane way to fix the error and retry the operation that caused the exception.

              Yeah, that would be terrible. You almost never use them in Python like that, partially because Python tends to have a vastly shallower call stack than, say, Java (largely because you don't need 10 layers of abstraction between bits of code thanks to the duck typing we just talked about).

              I think it boils down to you not knowing idiomatic Python. That's OK. I'm ignorant about lots of things, too. But I think you'd find that you enjoy it more if you stop trying to write C or Java in Python, because that almost never works out well.

      • Whatevs. I co-built a web service on Python that handled 250,000 requests per second with a horizontally scaleable design. We could bump that up to 1,000,000 requests per second by deploying 4 times the servers (which isn't as easy as it sounds because most things don't scale out well like that). I left that company and went to another employer that handled "only" 80,000 requests per second, averaged over a month. If you can ditch the chattiness of HTTP, well, I've written single-threaded UDP servers in Pyt

  • by sdguero ( 1112795 ) on Wednesday December 03, 2014 @01:17PM (#48516131)
    I read that LinkedIn is a job website that will get you more than $100,000 per year. Meanwhile, LinkedIN was the one programming language to appear on LinkedIn's recent list of the fastest-growing tech skills, which is assembled from mentions in LinkedIn job postings.

    Fuuuuuck Yoooooouuuuuuuu Dice!
    • by halivar ( 535827 )

      Nerval's Lobster strikes again with another Dicevertisement. For those who don't know, Nerval's Lobster is the unofficially official Dice astroturf account. And everything he posts is drivel.

  • But only in coins.

  • What metric should we use to say we've "learned a language"? At what point can you put in on your resume? Do you have to take a college course? Publish an application? Read a book?

    Sometimes, the more you learn, the more you understand you are not an expert.

    • Re: (Score:2, Insightful)

      by Anonymous Coward

      That would be the ability to not look like a fool when your knowledge of the language is challenged in an interview.

  • by NonUniqueNickname ( 1459477 ) on Wednesday December 03, 2014 @01:26PM (#48516227)

    and Java/JavaScript topped the list, followed by PHP, Python, C#, and C++/Ruby.

    C/C++ is old, C#/C++ is tired, but C++/Ruby is so hot right now.

  • I thought maintaining legacy systems using COBOL was the road to riches. Is that a myth?

    • The problem with COBOL is that while there is definitely need, it's still a niche market. I feel like this article was more focused on what popular languages could make you money. The reason COBOL is valuable is because it isn't popular.
    • It's hard to say. Look at the data they used.

      The data is compiled from job listings. How often do job listings show salaries? Not very often. The ones that do tend to be government jobs or fake job postings trying to fulfill the requirement for an H1 visa.

      Furthermore, the salaries listed are crap. If you look here, even developers in the midwest make more than what they are listing. [wealthfront.com]

      To add randomness to this post, someone told me about a COBOL project that was the best he'd ever worked on. It had buil
    • Comment removed based on user account deletion
  • For the best reasons to learn Python, see The Zen of Python [python.org]. If Python happens to pay more, that's just gravy.

    That said, it seems hard to believe that people would get paid extra to work in such a pleasant language. If so, maybe Adam Smith had it all wrong when he said [econlib.org]:

    First, The wages of labour vary with the ease or hardship, the cleanliness or dirtiness, the honourableness or dishonourableness of the employment...The most detestable of all employments, that of public executioner, is, in proportion to the quantity of work done, better paid than any common trade whatever.

    Perhaps florists soon will be making more money than plumbers. Which would really stink.

    • For the best reasons to learn Python, see The Zen of Python [python.org]. If Python happens to pay more, that's just gravy.

      That said, it seems hard to believe that people would get paid extra to work in such a pleasant language. If so, maybe Adam Smith had it all wrong when he said [econlib.org]:

      First, The wages of labour vary with the ease or hardship, the cleanliness or dirtiness, the honourableness or dishonourableness of the employment...The most detestable of all employments, that of public executioner, is, in proportion to the quantity of work done, better paid than any common trade whatever.

      Perhaps florists soon will be making more money than plumbers. Which would really stink.

      I see no beauty, simplicity or elegance in the pythonic way variables are handled when shadowed (for example, global scope). You can read them BUT writing them fails silently! Explain how this is intuitive in any way.

  • Perl! (Score:3, Interesting)

    by MagickalMyst ( 1003128 ) on Wednesday December 03, 2014 @01:35PM (#48516295)
    No, I probably won't make $100k/year coding in Perl but I don't care.

    It's not about the money. It's about the love.

    Not as tedious as C++; not as clunky as Java; not as lame as VB.

    Scoff all you want! I feel blessed while coding in Perl.

    Thanks Larry & friends!
    • I love Perl as well (and I make well over that). But I'll be honest with you. After 20+ years of programming in Perl I love programming in Python a whole lot more.

  • by cellocgw ( 617879 ) <cellocgw@gmail . c om> on Wednesday December 03, 2014 @01:37PM (#48516315) Journal

    "Past performance is no guarantee of future returns."

    Learn as many languages as you can/want and try to find employers who recognize that adaptibility is much more valuable than existing capability with a specific tool.

    Now where are all those $250k jobs requiring R ? :-)

  • C/C++ at $160k/yr (Score:5, Interesting)

    by CQDX ( 2720013 ) on Wednesday December 03, 2014 @01:46PM (#48516401)

    But it's not the language, it's the domain knowledge I bring to the table. I was hired to write embedded software for scientific instruments. As a former research scientist and current software engineer I can understand the problem, the solutions, and write code to do what the device needs to do. C/C++ just happens to be the tool I use to build the device. Python, Java, and so on just wouldn't cut it.

  • by Thud457 ( 234763 ) on Wednesday December 03, 2014 @01:51PM (#48516451) Homepage Journal
    $100k and sharing a rented hovel in silicon valley with seven other brogrammers ?
    Or are we talking $100k in a mansion on the golf course in Arkansas?
  • by quietwalker ( 969769 ) <pdughi@gmail.com> on Wednesday December 03, 2014 @01:54PM (#48516469)

    I'm pretty savvy with all the listed languages except Objective-C (only maintenance on existing apps), and have used them all at one time or another in a job. My linked profile garners around 3-4 recruiter contacts a week, and in my own little silo, I can say that while there may be 6 figure salaries out there for the Python and RoR, they are few and far between. The salaries I'm seeing on the top end for those development jobs rarely crest 70k.

    On the other hand, there's bigger salaries for Java or C#. It's not too hard to find a 100k-110k senior Java or C# developer position.

    Anecdotal evidence is not scientific data, but their results just don't match my personal experience in 2 decades of doing this.

    However, I think I can see how they got the numbers.

    According to the article, the data was retrieved by searching job ads, as opposed to taking a survey of people actually working at those jobs, and then permuting and filtering it. Given that:
        - Development job availability, especially with new technologies, is heavily skewed towards the west coast, where the cost of living is higher. From Austin to San Jose, the cost of living increase is between 50 and 75 percent - the 100k job is at least a 150k.

    We can make a reasonable assumption that there will be more positions open, and that more of them will be higher paying relative to the entire US job market, likely breaking the 100k cap, as 100k is low relative to the cost of living.

        - Established development languages already have a majority of their positions filled, as opposed to emergent technologies which have more open positions

    This will naturally result in a higher number compared to a language with less open positions, if the bar (100k) is low relative to the cost of living.

        - Emerging technologies lack experts simply because they haven't been around long enough to develop as many

    So positions will be open longer, and more aggressively marketed by recruiters, meaning that they're more likely to double- or triple- count job postings that are unknowingly for the same job
                              &
    Employers using recruiters often prefer to using a limited number of recruiters who themselves maintain a pool of direct-contact individuals with experience in a given field, meaning that those jobs are less likely to be publicly posted, whereas the new technologies require public announcement and investigations.

    So in summary: I don't doubt the statics they used, but I think their methodology may be affected by a heavy bias, and therefore invalid.

  • by jbarone ( 3938711 ) on Wednesday December 03, 2014 @02:06PM (#48516569)
    The salary data is taken from the subset of job ads that list compensation. I don't know the last time I saw a want ad in the software industry that said anything beyond "competitive compensation" or the like. That suggests that they are only looking at a very skewed subset of jobs, my guess would be much greater representation from government, academic, non-profit, and non-tech companies looking for developers.

    Getting into speculation here, but I would guess that the higher premium on things like python would be because non-tech firms hiring python devs probably need scripts for efficient data mining, analysis, and reporting, a skill requiring far more expertise than run-of-the-mill software development.

    C#, which I don't think anyone would argue is vastly more marketable than python, Ruby, or Objective-C in the highly lucrative tech sector, is likely so low because the sort of want ads they are looking at are mostly going to be positions that build web-based business management sites on the .NET stack, which is a very low-expertise, low-standards type of job.

    Beyond the stupid methodology of only looking at want ad compensation (a better - though still suspect - method would be to look at something like glassdoor for salaries and then correlate those to the skills asked for in want ads for the same position and company), they should really be including the full requirements list for this to be at all meaningful. If one ad asks for "python, plus 7 years of experience working with large scientific datasets, strong understanding of statistics, and experience with one or more data visualization libraries" and the second asks for "c#, knows what a website is", then saying the first one is better paying because of python is silly.
  • by johnlcallaway ( 165670 ) on Wednesday December 03, 2014 @02:17PM (#48516643)

    Smart programmers pick up new languages very quickly. I'd rather hire someone smart who doesn't know Python, than someone mediocre and only knows Python.

    Someone may make $100K today in Python, but what about a few decades from now. I know COBOL, and still know people writing COBOL supporting legacy code. But the majority of the ones unwilling/unable to learn a new language are out of a job.

    I'd rather be learning new things and have several tools in my belt than just one and be limited.

    And easily replaced.

  • Which Programming Language Pays the Best?

    Seriously, just one? I use several languages, on the same project:

    • Solaris/Linux: Ksh, Perl, (some) Python, Tcl/Tk, Java, C
    • Windows (XP->2012): Batch, PowerShell, VB Script, AutoIt, Perl, Tcl/Tk, Java, C, Assembly.

    I'm 51 and get paid over $125K (in southeastern Virginia) and generally work when and on what as I please. There are 3 senior and 1 junior people on my team and we develop/support a ~300k lines of code for our cross-platform application.

  • by Just Some Guy ( 3352 ) <kirk+slashdot@strauser.com> on Wednesday December 03, 2014 @02:38PM (#48516771) Homepage Journal

    I love Python because it maps very neatly onto how I model problems in my head. I'm not averse to using other languages, but Python is my comfort zone because Guido and I apparently think about algorithms in the same ways. As it turns out, I make a decent living with it.

    So, do I have a good job because I know Python, or is it because the thought patterns of the people who are drawn to Python are the same ones that companies want to pay for, regardless of language? If the former and you want a good job, then by all means learn Python. But if knowing Python is just a side effect of the properties that employers are actually looking for, then it's probably not going to help you all that much.

  • by jddj ( 1085169 ) on Wednesday December 03, 2014 @02:47PM (#48516825) Journal

    Ham/Hamburger

  • Comment removed based on user account deletion
  • Yeah. I'm totally going to change my career path based on a Dice article. Unless my horoscope tells me otherwise, of course.

  • Well if Dice.com said it, then it must be true!
  • Realistically speaking if you want to make the Benjamins then you need to be a Senior level developer in a widely adopted language and 1099 corp to corp bill through a smaller consulting firm. You will likely make $100+/hr and be able to do it while living in relatively inexpensive fly over country. No need to bunk of with half a dozen Brogrammers in the Valley.

    Just to give you a bit of a data point, at my last consulting gig, in the midwest, WiPro told them their H1B contract Business Analysts were going

  • Hey, in the 1980's, C was supposed to pay the best. What happened?

    A more interesting metric would be how many languages and frameworks one must learn per year in order to maintain compensation in inflation-adjusted dollars, and then chart that over time. I suspect a) it would come out as an exponential and b) that this indicates our acceleration toward the singularity.

    • by geekoid ( 135745 )

      Still does.
      There isn't as much work, but what needs to be done is critical.
      So there aren't a lot of candidate.
      A Sr. C programmer should be making 200K; which is down from 400K in '99

  • Python might have the higher average, but Java is more popular, and I would guess more people are making big money in Java. I think Java has a very high ceiling. Many of the people making big money in Python probably have significant non-software engineer skills.

  • In Germany embedded systems make up 22 billion eur while information systems are only 8 billion. In embedded sys. you need c and that ISO language bundle.

    In both cases entry is 30 or 40 k eur. And real good figures normally involve an architectural or management role where only little programming is left.

  • I'd rather work with a language that paid a little less than one that I found hard to use.

  • Having many years in python, I am constantly being contacted from people across the country for python jobs. In all python jobs that I've worked, almost every other developer has very low skill, and little to no experience as well, so it's a very easy market to succeed in. When I am actively looking for work though, Java and PHP jobs way outnumber the python jobs, and Java always has the highest salary associated (this is Baltimore/DC area)

"It takes all sorts of in & out-door schooling to get adapted to my kind of fooling" - R. Frost

Working...