Do We Deserve To Be Called Engineers?
The word engineer comes from the Latin words ingeniare (to devise) and ingenium (cleverness). An engineer is someone who applies scientific knowledge in developing technical, societal, and commercial solutions. They design materials, structures, and systems while considering practicality, regulation, safety, and cost all in the name of public interest and trust.
Engineers are competent by virtue of their education and training. They assume personal responsibility for the development and application of their knowledge. Their work is predominantly intellectual and varied and requires the exercise of original thought and sound judgment, and continuously follows progress in their branch of engineering science.
It’s now common these days to use the term “engineer” for technical workers like us working in an IT company. Software Engineer. Systems Engineer. Industrial Engineer. It all started when advances in technology has evolved in the digital age. The term has become an aspiration, yet devoid of the ethical sense of the word.
Traditional engineers like the civil engineers, mechanical engineers, electrical engineers, etc. are regulated, certified, and subject to apprenticeship and continuing education. One has to take the engineering license examination and pass before one is called an engineer. Usurping the title is punishable by law because their type of engineering requires accountability and responsibility to public safety and reliability. Each engineering science has its own laws and code of professional ethics that protects the public and the engineers.
Does this definition of engineering applies to a programmer like me who took up a major in software engineering as a college course? Maybe yes. Maybe not.
If we are going to look back on those days when creating programs to make business and industry automated, then software engineering was somehow related to other branches of engineering science. However, in the course of time, computing has become an infrastructure, but it doesn’t work like an infrastructure. Thus, whenever a failure in software is reported, the title engineer is somehow diminished.
On the other hand, in manufacturing and construction industries, once a project is done, it’s done. Any changes after that may be impossible or difficult for the engineers. But with software engineering, it is in constant evolution and development. With software services in websites, mobile devices, and cloud, getting things right for the first time is no longer a pressure. Any changes, iterations, and updates could be applied easily. So there’s version 1.0, then 1.5, then 2.1, and so on, and so forth. (One app that I’m using is now on version 5.26.5937.) This feature became an excuse for rapid software development. Gone are the days of the prototypes and long-time planning, research, and development. But at the same time, the stakes of software engineering becomes akin to that of construction and manufacturing. Not only do computers run cars, airplanes, trains, and medical devices, but also banking systems, hospitals, insurance, communication networks, and even social activities. Software engineers are consulted for business solutions. Therefore, there’s the public accountability.
Although a degree in computer science or information technology doesn’t require a license examination unlike the other engineering sciences, I keep myself updated and as much as possible certified in some fields. Sadly, the industry doesn’t value certification that much. Nowadays, anyone can study programming or update his/her technical skills by watching tutorials online. Some companies these days hire anyone regardless if they finished college or not. What matter nowadays is as long as one can deliver the requirement. Where’s professional regulation there?
Do we need to be certified like other engineers? Do we need to regulated by a professional commission? I don’t know. I could take a license examination anytime. But if I pass and become certified, does that mean every time there’s a bug on an application I created I would be sued for malpractice? Come on. This is something up for debate among software engineers, do you agree?