There's one main reason why IT will never be regarded as a profession and will always contain failed elements and weak programmers. The simple reason is that the people who have the power to create a profession out of it and regulate it correctly are the academics and lawyers. These people do not have a clue from a technical perspective that is why they shy away.
In short what I am trying to say that because IT is so "Technical" whether you networking or writing a web based application. Other than programmers themselves, no one else knows what we do or how we do it. That's why IT people make a lot of money and projects are expensive and because of the lack of regulation and accountability many projects fail. And the guys in IT who could help the laywers and such people are too busy with projects to sit and write up guidelines. And imagine the war over programming guidelines from a SA perspective from developer to developer??? We can barely agree on SOA vs REST let alone industry standards.
I have been in the IT Industry for 7 years. I am a developer by trade. The formula is simple. There are developers out there who just suck and are clueless. And there are developers out there who rock. Whether they be 17 or 71 is irrespective. The IT Industry is a business. The reality is that there is no regulation and accountability.
If your a good developer then you'll have no problems landing a job, starting your own company and delivering the goods. If you suck as a developer and always end up dodging the bullet and jumping from 1 company to the next, it will catch up with you at some point in time ! Guaranteed!
In IT you either deliver or you dont. There's no in-between. You app works or it does not. Binary chaps, 0 or 1. It's not rocket science. Unfortunately there are people out there who promise the world, charge an arm and a leg and give you 4kol in return. These are dishonest business people who exist in every sector of every industry. Its called milking the cow.
The responsibility lies with the stakeholder to choose a competent and honest solutions provider. As far as I am concerned if a Manager chooses a cheaper and faster option for a custom piece of software and gets screwed in the end, then he deserves it. Why should we as "IT Professional's" be held responsible for bad business decisions made by bad business people.
There's also one very important reality everyone is forgetting. As "IT Professionals" we always argue and never come to common ground. i.e.
-> The argument of is a degree necessary still rages on till today.
-> I know guys who argue that classic asp makes more business sense than asp.net
-> I know guys who die by php and hate asp and vice versa. Again the argument will rage on for years to come
-> MVC or Webforms?
-> TDD or normal development?
-> Agile or [Insert your favorite methodology here]
My point is that we will always argue, and it this rebellious behaviour that is built into us that we will create new ways of doing things, foster innovation and is the net result of all the different types of technology that is being thrown at us from all angles and providers.
The nature of the beast is to large to be controlled and regulated by any man, body or government. Look at Microsoft. Till today they struggle to deliver their sh*t on time. Personally I dont feel too bad if I slip on a deadline, because MS does it too. Granted my reasoning has to be sound of course. Lazyiness is no excuse
So personally if IT is never regarded as a profession I am fine by that. I say if it aint broke dont fix it. And to those people whose projects keep on failing. Buck up, educate yourself in areas you dont know about, get your head in the game and try to figure out whether you being screwed or not. Alternatively sit in your corporate ivory tower, issuing orders and when the house of cards come tumbling down, you only have yourself to blame.