Be warned, by the definition of computer engineering you have a background in electronic engineering. This means that only a portion of your course will be dedicated towards programming and the vast majority of it towards electronics.
If you're looking at doing straight programming do computer science; this deals with every day programming.
Computer engineering deals with a lower level, i.e. if you have a radar built by an electronic engineer, you would for instance design the software to properly moderate and interpret the radar signals for the user from the hardware.
Having a degree in computer engineering also means you have the professional status of being an engineer which attaches a formal standard of quality that you have to produce. It's a very good degree to have and puts you in a good position to later progress into managerial positions of a company.
Lastly, to address your overall question: there really is a surplus of programmers, you need to be above the rest to make a decent career out of it. However, being a computer engineer you have unique skills that most other programmers won't have and this will help you extend yourself into further fields.
Hope this helped.