> +1 I strongly believe that we're a profession and should have professional standards.
As long as we don't kill the goose which laid a lot of us golden eggs.
If we destroy the ability of newbie programmers to come up outside the university-professional path, we've just irreparably damaged the whole field.
This is also why I don't like the idea of unionizing programmers: Even if we come up with a union which isn't based on the wage-and-hour, put-in-your-time model, unions are still based on seniority and coming up the "right" way as opposed to being able to strike out on your own in your own little company, without needing to pay dues, literal or metaphorical.
I look at it the opposite way. There needs to be a way to allow software developers to say, "My profession's ethics will not allow me to develop this (credit card, medical record, banking, etc) software in the way you've specified. You can either change X, Y, and Z, or give up on having the accredited software engineer label on it." It certainly wouldn't be required for many or even most applications, but it seems desperately needed right now (c.f. healthcare.gov).
Done right, this allows for both non-accredited software developers, and professional engineers to live and work side-by-side.
> If we destroy the ability of newbie programmers to come up outside the university-professional path, we've just irreparably damaged the whole field.
I don't believe that, to be honest. There's a profound difference between a highly qualified professional and a hobbyist, and I am perfectly happy demanding that the first have a credential.
This could work as long as the award of the credential actually signified a capability to do the job. Most of our current university education about software ("computer science") is only distantly related to doing the job.
By analogy to another professional field, computer science is to the working software-maker as physiology is to the working doctor. It's the foundation of the field, and so it's something one has to study at the start of one's training, but it's of little relevance to the actual day-to-day work, and it certainly doesn't form the basis of qualification.
Fortunately this is self-selecting. The highly qualified people (quite often these are the very best people) who don't have credentials would never, ever want to work for you.
As long as we don't kill the goose which laid a lot of us golden eggs.
If we destroy the ability of newbie programmers to come up outside the university-professional path, we've just irreparably damaged the whole field.
This is also why I don't like the idea of unionizing programmers: Even if we come up with a union which isn't based on the wage-and-hour, put-in-your-time model, unions are still based on seniority and coming up the "right" way as opposed to being able to strike out on your own in your own little company, without needing to pay dues, literal or metaphorical.