1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

There is a very low correlation between salary and ...

  1. Dec 5, 2015 #1
    I am early in my career and trying to pursue a career in software engineering (I use that term broadly). Like any normal person, I eventually want to make good money, hopefully around 6 figures. I assumed that there would be a direct correlation between how sophisticated a software job is and how much money it pays. Further, I assumed that "useful" software jobs, ones that are revolutionizing the technology industry and increasing the productive capacity of the economy, would pay more. Not from what I observe!

    I recently had an opportunity to join as a software engineer at a small but rapidly growing company that makes consumer electronics. This job would be very challenging, consist of low-level programming and algorithms. The annual salary: $58,000. And it's in an old, boring building out in the middle of nowhere.

    Meanwhile, 10 miles west, in the city, I could have the chance to work in a modern office in a skyscraper and make double that salary while applying my skills to make some stupid "social media app" with JavaScript/Ruby, requiring a lot less thinking, just sticthing together code from prepackaged libraries. Heck, I know someone who works for a startup and makes $90,000/yr and smokes weed all day at work.

    What should I be doing if I want challenging/useful software engineering work and also want to make good money?
  2. jcsd
  3. Dec 5, 2015 #2
    I've heard you can make decent money in R&D with bigwig companies. Although you'll need some high qualifications for that. Applying for a bigger company would also help, as opposed to your small one. Your salary will grow as your company does; but there'll be more competition.
  4. Dec 5, 2015 #3


    User Avatar
    Gold Member

    You have to consider cost of living. A lot of engineers in San Francisco are making 50-60k as entry level, but when rent costs $2000/month, you end up living in a crap apartment. I'm still trying to figure out how I can live in the same neighborhood I grew up in. Having the same career my parents had will not allow me to live in the neighborhood I grew up in. It seems very quirky to me.
  5. Dec 5, 2015 #4
    I'm in the same boat.

    What's worse is that in highly competitive fields, where egos abound, if you only make $50,000-$60,000 then you are assumed to be "not talented" or "not smart enough to make more" or something like that.
  6. Dec 5, 2015 #5


    Staff: Mentor

    They do. That is, in fact, how the usefulness of a job is measured in a free market. The software engineering job market is pretty much a free market.

    You may have a distorted view of the relative economic value of the positions you are looking at.
    Last edited: Dec 5, 2015
  7. Dec 5, 2015 #6
    I'm going to say something very politically incorrect: To make the big bucks you have to be socially adept. This is not just about how well you design your software. It's about how you bring in money, and make things happen by leading people.
  8. Dec 5, 2015 #7
    Interesting. If I ever move out of America, maybe I'll get to experience what living in a free market is like.
  9. Dec 5, 2015 #8
    I hope you do. You should learn how others live. No, things aren't perfect in the US, but they're not that bad.
  10. Dec 5, 2015 #9


    User Avatar
    Science Advisor

    You already live in a free market, the US government doesn't set the salary for software engineers at private companies! Supply and demand does.
    Your OP quite clearly shows that the free market has determined that social media related software work is high value, and those capable of it can demand high salaries.
    Not surprising really, given how ubiquitous social media is.

    Either way, it sounds like you need to do some research on your local job market, you have 3 dubious data points and false preconceptions. If you want to become a good engineer you'll need to develop good research skills.
  11. Dec 5, 2015 #10


    Staff: Mentor

    The American software engineering job market is essentially a free market. There are no monopolies for either producers or consumers, no licensing or other market distorting regulations, and prices are driven by supply and demand. The only possible market distortion is taxation, which doesn't seem to play a large role in distorting this market, although clearly it impacts overall market prices.
    Last edited: Dec 5, 2015
  12. Dec 6, 2015 #11
    People are willing to pay more money for social media stuff than they are for electronics (except for their phones). Hence, more money available in making social media apps.
  13. Dec 6, 2015 #12
    In my experience, it's rare to find a recent CS graduate that's actually worth more than $58k. Of course, this exact number will vary depending on geography. $58k for a developer in New York or San Francisco is low, but it's about average in the Midwest. You can use a cost-of-living calculator to compare salaries around the country, like this one: http://money.cnn.com/calculator/pf/cost-of-living/index.html
  14. Dec 6, 2015 #13
  15. Dec 6, 2015 #14

    Vanadium 50

    User Avatar
    Staff Emeritus
    Science Advisor
    Education Advisor
    2017 Award

    First, I don't think Jake's comment is not "politically incorrect". Part of an engineer's job is communication. It's a social job, not a solitary one.

    Next, Billy and Dale are right. In a free market, you are worth what someone is willing to pay you. Not the average. Not what someone is willing to pay someone else, even if they are doing an "easier" job. (And, by the way, it's not clear to me that their job is easier - even if the coding itself is easier, the amount of code they have to deliver may be different).

    Finally, there is a huge variation in the skills of entry-level programmers. (Some of whom even consider themselves software engineers) Huge. I suspect that part of the reason for this is that many colleges have a "CS" degree where little actual computer science is taught, opting instead for language syntax. You can Google FizzBuzz if you want more about this.
    Last edited by a moderator: Dec 7, 2015
  16. Dec 6, 2015 #15
    I could have written that better. The political incorrectness is something that we all know to be true, but would prefer not to believe: There are power brokers in the business world. The notion that all it takes is insight and hard work is interesting, but incomplete. You need to know the right people to get ahead. That means you need to find someone who is on the move upward in the world of business, you need to support them and they'll in turn support you. That's how people earn the big money.

    We'd like to think that it isn't like that. That one can be a great engineer just by being technically proficient. And while it helps, it is not enough. Social skills are essential.
  17. Dec 6, 2015 #16


    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    Your post is nice because you state clearly what it is that you want from life -- many people who post here for career guidance don't seem to have thought carefully about that, or they seem to think that everybody wants the same thing.

    But the answer to your question seems pretty obvious to me (given its premise). We have variables A and B, which are uncorrelated, and you want both A and B to be high. Since they're uncorrelated, there should exist many cases in which both A and B are high. So find those cases and apply for those jobs.

    Of course if A and B were strongly *anticorrelated*, that would be a different story.
  18. Dec 6, 2015 #17
    My employer has used fizz buzz in interviews to weed out candidates for several years. It's shocking how many recent grads cannot solve this problem. Even worse, we've interviewed senior developers that were unable to solve it.
  19. Dec 6, 2015 #18
    Personally I found that contracting work (through job agencies) was good money although not reliable on.
    I'm not doing that now though, have a steady but nothing special income.
    I don't think that smoking weed or not smoking it made much difference.
  20. Dec 6, 2015 #19

    Vanadium 50

    User Avatar
    Staff Emeritus
    Science Advisor
    Education Advisor
    2017 Award

    I'm not surprised. I should be, but I am not. CS schools churn out people who can't code: people who know a dozen languages but have nothing to say in any of them. But what's sad is not that they can't code. What's sad is they think they can. They don't know that they don't know. They graduate with a pile of A's, and what conclusion do you expect them to draw?

    I am familiar with one small, relatively unknown college that transferred their CS department from the College of Science to the College of Business. They then replaced courses with names like "Data Structures" and "Algorithm Design and Analysis" with ones with names like "Python" and "Java". The reputation of being one of the toughest majors started to fade. And they got a lot more students. Looks like a win all around.

    Except that many of the graduates can't program.
  21. Dec 7, 2015 #20
    I think some of your points are true. Many inexperienced programmers can't code with languages that they learn.
    Mostly in software problem people "don't know what they don't know".
    I have experience in my college days (btw, I dropped out college but I'm an IT manager now :smile:)
    If there are exams and the questions are
    - Create a program to calculate Fibonacci sequence, or factorial or Pascal triangle for example
    The students memorizing the code to to Fibonacci, or Pascal triangle.
    Can you imagine that. Memorizing the code, not sharpen your skill in logic problem, so you're ready to tackle every problem thrown at you.
  22. Dec 7, 2015 #21
    Sure, programming is after all just language, and some people can learn languages easily enough.
    The really valuable skill for programming though is having ability to fully understand the problem which has to be solved, and be able to use language as a description of how to solve it.
    Being able to quote Shakespeare does not make somebody a poet.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook