A master obviously worth. You may start right away.
You must think once again about what exactly you want to do after you get a PhD. A PhD is not a sole extension of the technical skills in programming or in a classwork project. Because you will have to put a substantial research effort before you graduate, it worths only if you continue pushing your research skill in the direction of new innovations and knowledge. Though the scope will be narrower, you may find yourself comfortable in the areas like usability, software design, and human computer interaction once you get a PhD in computer science, even if you do not want to be in academia. However, if you do want to continue core programming and similar project managements, a PhD may turn out to be a waste of a significant amount of time and effort of your life.
But, what is the wrong with teaching, research, scholarship and service. Would not you be tired with the monotony of try and catch inside a unconditional while loop ever in your life?
When it comes to the research area and universities, top are always top. MIT, CalTech, UCs, all should be good. You may also want to look for University of Wisconsin, Madison, University of Washington, Seattle and University of Illinois, UC.
What I also recommend are the programs in Human Computer Interaction including the programs at Carnie Melon and Iowa State University.
RAs/TAs are always there, for good grade and good GRE. Also required is a set of good recommendations.
SurNaTal.