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.

So here's my situation: I have seven years of experience with web development. I can do PHP, MySQL, OOP, all of that stuff. I would like to make the argument that I have enough technical experience to go out in the real world and get a well-paying, full-time job if I were to drop out right now (I've had a number of job offers recently, and I have already gotten a lot of actual job experience), but I would like to stay in school and get a degree for a number of reasons ranging from the social aspects to the fact that I just want to have a BS in one thing or another as it seems to be important to have one for a lot of jobs, even when it doesn't have anything to do with the job.

With that said, it makes little sense for me to major in Computer Science, because that would be like studying everything I already know. I don't want to major in something COMPLETELY different, because that would be contrary to my career goals.

I am considering trying to find some interdisciplinary, customized degree of sorts that allows me to combine my current skills with a new education. I'm thinking maybe buisness or even psychology (interface design?).

Could I get some ideas for what to major in and tips on who I might talk to? Thanks!


migration rejected from stackoverflow.com Oct 30 '14 at 19:19

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as off-topic by gnat, Bart van Ingen Schenau, GlenH7, MichaelT, Dan Pichelman Oct 30 '14 at 19:19

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – gnat, Bart van Ingen Schenau, GlenH7, MichaelT, Dan Pichelman
If this question can be reworded to fit the rules in the help center, please edit the question.


6 Answers 6

up vote 2 down vote accepted

Business Studies or Management. Personally I'd want it to cover at least the basics of accountancy and economics, the basics of management and organisational theory and the basics of marketing, plus whatever else you thinks looks interesting.

If you're going to work in the commercial world, learning the basic rules is a pretty good idea. These are things which, like them or loath them, are going to influence your life and you may find that understanding them makes things a little easier. Plus it's actually surprisingly interesting in places.

One thing I would say is that in the UK at least you can do a CS degree (or any other degree) with a minor component in another subject (business being a common one). This can be a good option for someone who wants to have a wide exposure to different subjects without diluting their core subject too much. My degree was Electronic Engineering with Business Studies and I enjoyed the balance.


Mathematics. It can be useful for a programmer. But even if it doesn't, I support studying it for the following reasons:

  1. Math requires many of the same thinking patterns as CS, but the math major is more difficult at most universities than the CS major. So by studying math, you are a bit like a baseball player who warms up by swinging a heavily weighted bat
  2. Math is fun! If you like CS, there is a very good chance that you will enjoy math as well.
Note, before anyone flames me, that I didn't say that "math is more difficult than CS". Just that the major is more difficult at most universities. –  uman Jan 19 '11 at 15:21
When I went to school for my CS degree the university had only recently created a CS major. Before that time CS was a specialization within the math degree. –  oosterwal Jan 20 '11 at 1:26

Depends upon what you are planning on doing for a career. There are some stable niche areas of software development (e.g. financial systems, medical systems) that can be difficult to break into fresh out of school if you don't have some background in the area.

If you think you might want to get into writing software for medicine or genomic research in the future then a background in biology and some additional statistics could lead to a career in bioinformatics. If you want to work more in the financial sector then you should look at getting a minor in finance. Likewise, being able to work well with others is always important so minors in management or even psychology could also be useful from a career standpoint.

As others have noted, more math is always useful, but at the end of the day there is also a fairly good chance that if you have a solid understanding of math you might be able to learn what you need while working on a project. Getting that solid foundation while you are in school and can ask more questions (and make mistakes!) is important, but in the long run you may see little pay off from an upper division math course where as a introductory course in another field may pay dividends.


If I had to do it over, I'd minor in Economics. There is a lot of interesting data to model and lots of number crunching. Plenty of possibility of creating simulations, Monte-Carlo methods.

There is also a lack of people with both programming and economics knowledge. I see this in what Economists I work with use day to day. Excel and VBA. The odd workarounds they come up with are often a that peculiar mix of inspire and madding you see with kludges.

The ability to use better tools and richer data models might be very useful.


Your specialties are PHP, MySQL, OOP, web development, all that stuff.

How about:

  • Graphic design (make better, more refined web pages)
  • Information Technology (from a business college, infrastructure to support web dev).
  • Quantitative Information Systems (maybe use databases and web for analytics, big data).
  • Electrical Engineering with VHDL/Verilog for behavioral oriented hardware design with something that is similar to an object oriented programming language.
  • Bioinformatics (someone else recommended this, and gave good rationale).
  • Computer Science with emphasis on embedded systems (this is distinctly different than your web development).

Another thing to consider is that as much as we would like it to be about the learning, often college is about endurance. It can be about showing someone that you can learn what they tell you to learn. The reward is an endorsement that you know enough to be trusted with professional level work. It is a little bit like a club and as you know, many who have paid the dues are reluctant to share space with those who haven't.

Web development is one area where things are much more open for non-degree workers. If you can show, you can go. In other areas of programming, generally the bigger the company, or the bigger the pay, the more the demand for the degree. In some cases, the only degrees of interest will be computer science or electrical engineering. For some embedded systems teams, they may want computer systems engineering which is a mix of hardware and software training, and while they might take electrical engineers, there is a lot of proving before someone with computer science would be accepted. For simulation programming jobs, they may want someone with math and/or one of the sciences (biology, chemistry, physics, etc).

Many colleges permit majors and minors, so psychology major with a computer science minor might be OK, but I would check with a few departments to see if someone has done it because jobs for B.S. in psychology might be sparse. Some CS programs might offer specializations in UX / UI. My Google query came up with educational requirements for UI jobs:

  • Bachelor’s or Master’s degree in Human Factors, Experimental/Cognitive Psychology, Industrial Engineering, HCI, Industrial Design or related field
  • Bachelors degree in Human-Computer Interaction, Human Factors, Industrial Design, Psychology, Technical Communication, Library Science, Sociology, Anthropology, or related area is preferred.
  • This position requires a Bachelor’s degree in CS or equivalent work experience and 3+ years practical development experience.
  • Bachelor’s Degree required – preferably in HCI, Information Technology, Marketing or related degree.
  • Master’s Degree in Computer Science or Engineering (or) Bachelor’s Degree plus work experience.

Whatever you choose, good luck.


IMO, the important thing on the academic front is to not think too hard about what's going to be useful so much as what would interest you and push you to delve further both into the subject and push you to improve your programming skills. Even if your bonus subject doesn't pan out as a career option, having a place to really focus your development skills can help you continue to hone them further than you realized was possible and continuing to challenge yourself as a developer is what ultimately gives you most ammo at interviews, not degrees or semi-relevant skill-sets.

Also, be sure and take the opportunity to get exposure to a variety of different language paradigms. Just knowing a little bit about the various choices can help you understand a lot more about the language you're best at.

As for UI/UX, I guess I'm wondering why no mention of JavaScript or CSS after seven years of web dev? If the client-side hasn't bit you yet, you may want to push yourself to spend some time with it before considering UI/UX classes.


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