A whole new kind of engineering
There is a lot of momentum for software engineering to become a title act branch of engineering. A brochure from McMaster University (www.cas.mcmaster.ca/cas/undergraduate/SEbrochure.pdf, Fall 1999), reads, "At McMaster we have taken the position that software engineering is a branch of engineering and have applied well established principles of engineering education in this new specialty." And, the Texas Board of Professional Engineers is certifying software engineers as title act engineers, today. If other states follow then software engineering will become a title act branch of engineering by fiat.While I agree that software engineering resembles traditional engineering in many ways, I also believe that software engineering is a whole new kind of engineering that is equal to, parallel to, and independent of traditional engineering. I believe that if software engineers want to be licensed, they should recognize their unique reality and become licensed in a way that reflects this reality. Software engineers should be professionalized on their own terms, with their own regulatory structure. Software engineers should create a whole new kind of engineering, and not just follow the path trodden by traditional engineers.In the first section, I argue that software engineering is a real profession that stands on its own and that its culture differs substantially from that of traditional engineering. Software engineering is big: it counts nearly as many practitioners as traditional engineering; diverse: it has many areas of specialized practice; and enduring: it has grown steadily for more than fifty years. Every facet of software engineering, from technology to attitude to origins, differs from traditional engineering, which profoundly affects the culture of software engineering. Software engineering is not a branch of traditional engineering.In the second section, I argue that all-of-software-engineering-combined should resemble all-of-traditional-engineering-combined. Four kinds of traditional engineering regulation are practiced today that software engineering can emulate: unregulated, title-act, practice-act, and all-of-engineering-combined. Of these four kinds, title-act and all-of-engineering-combined are the most likely outcomes. There is a lot of momentum to regulate software engineering as a title-act branch of engineering. However, regulating software engineering like all-of-engineering-combined will give software engineers more control over their destiny, let them define their own identity and culture, wield their own power, and set their own curriculum and immigration policy.