Is MSc the way to go? I've been a software developer for about three years now (making custom ERP software), I love programming and also other areas in CS like AI, but I really don't like the fact that you have to learn a lot of business related topics (accounting, finance, so on) and also having to deal with end-users and managers. 

I've been thinking about starting an MSc degree in computer science and turning my career more onto academia. I think it's best to do a MSc and not directly a PhD because I feel that I can go back to industry if I don't like academia.

Is the move to academia over industry the way to go or I'll face similar problems there?

Here is some more data: I am still somewhat young (28 yrs) and with a B.Sc Degree in Information Systems with 4.1 out of 5 GPA from a small college.
Many M.Sc degrees in the US are not research oriented (try Canada, they seem to be more common here), and you should be wary of this. If you want to gain experience in research to see "if it is for you" then you need to find a thesis bases Masters, and not a course based one. A good sanity check to see if your potential Masters program will involve real research is to see who is paying who. If you are paying them, then this is not where you want to be. If they are paying you, then it is much more likely that you are in a research based masters.

In general, a Master's degree is a good way to test the waters. It is also a good way to shore up on any knowledge you might lack after being out of university for 7 years, and make sure you have all the necessary foundations (sometimes Information Systems degrees don't teach these). If you change schools between your M.Sc and Ph.D it also offers you a chance to work with more people and if you don't change schools you can often fast-track before graduationg as if you had been in a Ph.D program all along.

However, getting an M.Sc degree does have potential downsides:


it can take longer to finish the whole process (B.Sc + M.Sc + Ph.D tends to be longer than just B.Sc + Ph.D)
Ph.D programs tend to have more stringent requirements for applicants that already have a Masters degree.
Some funding opportunities (such as NSF) might end up unachievable.