Here (in Quebec) the title of "software engineer" or "computer engineer" is regulated like any other professional engineer, ie. you need a bachelor's degree in computer or software engineering, which is a year longer than CS and includes stuff like engineering economics or analytical and numerical solving of differential equations, and two to three years of experience working under a professional engineer's supervision. Microsoft actually had some trouble with us:
http://www.microsoft.com/canada/learning/quebecmcse/default....
I think it's a good thing. We still have regular programmers, and the word "engineer" actually means something.
Still, the level of competence is far from that of surgeons. It's possible to do a bachelor's with fairly little programming: at least where I studied, most courses include a large portion of teamwork, and I'm sure quite a few teammates passed their course thanks to me (or other people) doing all the work. When they graduate or enter internships, they just do the less technical work, like evaluating software packages, testing, or reading bids. I don't think you could find surgeons who can't operate like you can find engineers who have trouble with fizzbuzz.