If you do it for the money, well, you will neither get very good, nor will you enjoy the money, assuming you become good enough to get any.
Companies that have rubbish HR practices eventually lose out to firms that appreciate that the Japanese hiring system: hire someone who has shown excellence in any field, and they are bound to repeat it.
Simply fishing for talent in existing companies is a failed and flawed strategy. Yes, you will end up with a senior developer doing 5 juniors' work, for less than half of their pay--until another firm offers him more money and he leaves, leaving you out in the open again.
By contrast, hiring a junior and teaching them the ropes on condition of their not leaving for n years is a better and an all around win strategy.
Another word: I have seen most CS program curriculums and with certain exceptions, most are not teaching what would make them marketable employees.
For instance, SICP should be a must in any CS program, but in some, it is not. How can they afford not to teach from the best CS text in the world?
You get a developer with a resume. And a degree. Big deal. How about one with a remarkable portfolio of projects demonstrating real understanding and passion?
I doubt if a company would bin the resumes of someone with interesting projects to their credit. Simply a degree with a few nominal github repos is not going to cut it.