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!

Job market for software engineers for the next few decades?

  1. Oct 27, 2012 #1


    User Avatar

    Hello dear members,

    I am a college freshman majoring in undeclared major. (:P) I have strong passion for music and mathematics, but I think I will have a hard time finding a decent job if I combine those two. So as of now I am thinking of majoring music and computer science. I hear that the software industry is just so huge (so many jobs are popped up on Indeed or Wowjobs!!!) comparing to actuarial science, statistics, or mathematics.

    But I am not really interested in computer science. I am doing ok in first year computer science courses. I will do this just because the job market is large and the pay is good so that I can still practice music or study pure maths in my pastime.

    so my questions are,

    1) How will the software industry change in the future? (I know it is hard to predict so I will appreciate any opinion about this)
    2) Are there any marketable and lucrative studies that is close to mathematics? (I have considered engineering, but then I have to re-do first year again and engineers have no room to take any elective courses in our college)

    Thank you in advance
  2. jcsd
  3. Oct 27, 2012 #2


    Staff: Mentor

    My feeling is software is heading toward web security and scalability, robotics both standalone AI and remote control, and biology related technologies such as proteomics, bioinformatics and genetics. It seems data mining and prediction underlie these projects and is a big area of research, Also massively parallel computing.
  4. Oct 27, 2012 #3


    User Avatar
    Science Advisor

    Hey set and welcome to the forums.

    One thing that is a constant theme in software development regardless of the kind of application is that things are getting way more complex very quickly.

    This has implications of not only the development process, but also what is being developed.

    The modern way of developing software is that you have tonnes of modules and you connect them together. The interfaces connecting these are known but everything behind them usually isn't.

    Now in this context, you have to consider how things are become not only generalized but also specialized. All the standards and paradigms have developed to address a lot of these problems in large-scale development and these impact every kind of development.

    Not too long ago the only people that had specialized graphic hardware (i.e. something beyond a simple screen buffer and some good resolution modes) was something like Silicon Graphics Inc: nowadays every computer has a specialized GPU with features greater than some of the old specialized SGI creations.

    This affects development because when something becomes standardized where external developers can just "use it and know it works and works well", then soon enough they have to rely on the specification and the standard interface.

    It's not just the hardware: it's the software as well. Look at Java, .NET, Web technologies and platforms (AJAX, ASP, PHP, etc) and look at how they have affected development: people need to use these kinds of technologies to get things done and get them done quickly and doing things quick is vital in an industry that changes almost daily (i.e. in a very short time).

    In relation to end-users, end-users now have wildly different expectations of the software than they had even a short time ago (people used to be glad they had DOS prompts and now they complain if they don't have shiny UI widgets that react instantly) and these things contribute to the points mentioned above.

    Now we must think about what kinds of things are happening that have been talked about above: look at the Apple model for applications and Operating System with trusted platforms, digital signing and security and look at how this is changing the nature of both development and use.

    There is a lot that I could say on this, but in short, consider how software development is becoming super-complex where expectations of users are going through the roof and to meet these (i.e. the developers) you get all these attributes, technologies, shifts and so on to meet them and if you step back and see how this is being realized and created, then you can see and make inferences on what is going to happen to extend what we have today to get to tomorrow.
  5. Oct 27, 2012 #4


    Staff: Mentor

    thats a good point we always try to simplify things by making a new and better technology and then find that not everyone migrates to it or that the developers of the older technology start to fix its problems competing with yours and this splits users into camps and things just get messier and messier.

    Another factor is that hacking and security have created an arms race that has no end in sight which drives the need for new technologies which both protects and slows down transmissions meaning new hardware is needed to speed things back up again.

    But not to worry when we can all vividly remember what we need to remember and when we can all use telepathy then there will be no need of an internet but we may need better analgesics to cover the headaches we might get.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook