I'm employed as a Software Engineer now but my degree is in ECE. The engineering curriculum at my university (Rutgers) was extremely math intensive. I didn't take a whole lot of software classes but I'm glad I did take all that math. I think it's dishonest to call yourself a Software Engineer and not have an engineering degree. Semantics, but I earned the title.
I understand where this feeling comes from. You worked hard to earn what is (or what should be) a title with prestige: engineer. I too worked hard to earn degrees in engineering. I try to live up to that title every day, and I'm sure you do, too.
But my years of engineering experience have shown me that the title "Engineer" is really more about how you approach problems and what you do to solve them and less about degree credentials. Now, the following example is in the context of electrical engineering on airplanes, not computer programming, but I think it holds true.
One of the best people I work with does not have a college degree. But over years of self-study and real world experience, he has taught himself electronics, some computer programming, and enough mathematics to get by. And when there is a technical problem to be solved on one of our airplanes, he will chase after it relentlessly, and smartly, until it is solved. His system designs are clean and well thought through. He has taught me much about designing for real world implementation. Is he not an engineer? He does more than many of my coworkers who are degree holding EEs. I am not afraid to call him an engineer, because he has earned the title in a different way.
Right, I understand your point. I said in an earlier post that an engineer is one who obtains an engineering degree from a certified university. I realize that it's pedantic and elitist, and there's definitely a part of me who thinks it's idiotic. Because it is. It's a title, who cares right? It doesn't lessen the worth of my degree. I've been trying to come up with valid reasons for why it's important for only people who fit my definition to be called an engineer but I can't think of any. So you're right.
However, I still think it's wrong for people who don't exhibit these qualities to call themselves an engineer. If you make sick beats on your macbook, that's great. But don't call yourself a beat mix engineer.
Edit: Thought of some reasons
It's similar to the "doctor" title. You can be the worlds greatest doctor. Self-taught, you can do everything from intubation to surgery. However, you're still not a doctor. You practice medicine. Why? There's things that you can only learn from someone who is more skilled than you, and who is skilled at teaching. That's what a professor is (simple definition). They are an authority on their topic and are the best place to learn from. They teach things that books don't cover. They have experience. They can tell you when you're wrong, and unlike a book can teach you the most current standards and techniques.
Another point is the completeness of education. Your coworker, does he know vector calculus? Linear algebra? The forward-active voltage for a BJT? Maybe. But there's no guarantee he does. A degree from a certified university guarantees that you know the salient points of your field (not always true, but for my argument it is). If you don't have a degree, there's no guarantee. And this knowledge is important.
To say that a professor is the best person to learn from isn't 100% true. I had a linear algebra professor who simply lectured by reading straight from the book and then occasionally drew the diagrams. Alas, he apparently was a valuable research professor and had tenure, so there's little that could be done. In this case, the professor was hardly the best approach towards learning the subject.
And as for experience, well, in the case of a CS student wishing to enter industry there's a good chance that the majority of your professors never even worked in industry. So if you're looking for people with experience to learn from, well, then you're in quite an unfortunate situation.
This led me to conclude that a degree offers no such guarantee that someone knows something. It offers a guarantee that someone was introduced to a number of concepts and demonstrated an understanding (or knack for cheating, cramming, what have you) good enough to pass and move forward. This is why I shudder at the thought of hiring old classmates who had to be hand-held through their 4 (or more) years of university, I know better despite what their degree might say.
Which is why that people who earned a degree...earned a degree, that's it. As far as I can tell they have no right to call themselves an engineer until they begin to practice engineering and practice it well enough to demonstrate the value of their thinking.
The ideal professor is (a) a world-recognized expert in the appropriate field, and (b) a really good teacher. Frequently, you'll find one or the other, but not both. Far too frequently, you find neither.
But the best professors I've had (and I've had a bunch) were the ones that really did combine both. (And frankly, I can forgive a lot of poor teaching in return for a "well, this is technically true, but no one really does it that way; they use this shortcut...."
As for a university education not providing immediately applicable industrial experience, well, that's kinda not the point of it. Sort of the difference between passing the FE exam and being a PE.
My coworker knows some calculus. I doubt he knows linear algebra. The forward-active voltage for a BJT? Maybe one other person I work with knows that, I doubt he does. I did not when I graduated, but then I am not a EE. My degrees are in Engineering Physics and Fluid Mechanics. Almost by accident I have become a flight test instrumentation engineer with the official job title of "Senior Electronics Engineer". I have tried hard to remedy my EE related shortcomings through self-study, and will continue to do so. I would never call myself an EE -- just an engineer.
I agree with you, for the purposes of your argument, that degree should serve as a guarantee. It is an important signifier of mastered domain knowledge, and more importantly, a signifier of the ability to master new domains.
There's more to it than that. In most places, the title 'Engineer' is a legal entity. In Australia, signing off on a design as an engineer makes you legally responsible for guaranteeing that it has been correctly designed, and is safe for public use. This includes personal liability in the case that it fails (bridge, software, whatever), and can be shown that it was not designed according to appropriate standards, or what should 'reasonably' have been done.
So basically, don't call yourself an engineer unless you're willing to sign off on something, and be legally bound by it. This implies a strong background in problem solving and structured design processes, to remove as much risk (both personal and to the public) as possible, which is also vital to engineering.
In the US we have the title PE, Professional Engineer, which requires some additional qualifications (exams, supervised apprenticeship, etc), and of course a state license. Most people don't bother any more, which has lead to a much smaller number of PE-Engineers many of whom are relegated to being mere license-holders who sign drawings for others, who do the actual engineering.
>So basically, don't call yourself an engineer unless you're willing to sign off on something, and be legally bound by it.
I'm sorry to say it (not really); but for a number of reasons, some good and some bad, the title has been co-opted, and there is no going back.
>This implies a strong background in problem solving and structured design processes
As far as that goes, I've met a number of pedigreed folks who can't engineer their way out of a wet paper bag.
> Most people don't bother any more, which has lead to a much smaller number of PE-Engineers many of whom are relegated to being mere license-holders who sign drawings for others, who do the actual engineering.
To some extent this happens in Australia as well, although there is a movement both to require things to be signed off by a PE (or CPEng here), and to have those engineers provide documented supervision of the work they sign off on.
> As far as that goes, I've met a number of pedigreed folks who can't engineer their way out of a wet paper bag.
No argument there, certification is never proof positive of competence. I've met very good engineers who aren't Engineers with a capital E, and very bad Engineers who knew enough to fool a test board, but not much more.
The existence of these licensing schemes is far from perfect, but better than nothing IMO. Applying the concept to general purpose software is another discussion entirely!
Being an engineer is about more than just technical skills, though. Engineers get it beaten into them that their first duty is to protect the public; their employer comes second. That means having the backbone to say "No" to unsafe demands, even if it costs them their job.
If he's as good, and as experienced as you say, he should be able to just do the legal/ethics stuff and get a license. Unfortunately, the professional associations are streamlined for people who take the usual path through university. At least in my jurisdiction, it is technically possible to have the experience counted, rather than the degree, but it's much harder.
The system is clearly not perfect, but when you ask the average engineer whether it's ok to do things like lie about their experience, you will get very different answers than if you asked the general public. The gatekeeper is doing a real job, even if they don't do it perfectly.
I have found real world experience and self-study vastly underused on a lot of engineering projects. I'm not taliking
about Programming, or CS. You guys can succeed without a degree. I'm talking about the mechanical, and electical engineering projects. I have tried to decipher too many blue
prints form licenced Electricial Engineers--whom I can guarantee didn't spend one day on a construction site. Getting your hand dirty counts for something. Know the theory--essential, but know how to put it together too. I have met mechanical engineers who can't work on their own automobiles--which I
found baffling, because these guys didn't have a lot of extra
money to spend--at least when I knew them. I do still kind
of cringe when people throw around the title of engineer though, if they don't have the math backround and license to
back it up.
In some countries it's illegal to call yourself an engineer without having an engineering degree. The degree is "protected" by the government and can only be acquired from certified organizations (like universities).
Can't stress this enough- in Canada (Ontario specifically) it is a serious fine for anyone caught using the term without being certified by a professional organization.
All provinces have a comparable professional organization, all of which are members of Engineers Canada. We have the notion of "self-regulated professions", where the government gives a charter to the professional organization to regulate use of their name, their members, etc. For Americans: it's not comparable to the IEEE, it's comparable to the College of Physicians and Surgeons (also a Canada/UK thing the US doesn't really have). So they're given the same power to penalize people "impersonating engineers" as the royal college can penalize people impersonating doctors.
This is a perfect example of why the term is protected by PEO. I used to think the PEO overreaching in its attempts to protect the term/designation, but I can see why they have taken issue with the term "Software Engineer" being genericized.
I applaud the effort to learn the topics of "statistics, probability, and linear algebra", but these would have been relatively fundamental courses in most software/computer/electrical engineering curricula that I've known about, and most definitely a prerequisite to calling oneself an engineer.
In some states, which regulate such things. I don't know about fines, but if a gang from the IEEE or the ASME catch you wandering around wearing their colors without being a member,....
>I think it's dishonest to call yourself a Software Engineer and not have an engineering degree.
Definitely semantics. For example, I have a BS/MS in applied math from a good engineering school university. I am a software engineer mainly working with ECEs, physics, and other math guys, who are all "software engineers".
I see where you're coming from about being a SW eng without knowing a lot of math - but there are other majors - math/physics/stats etc that will be very math heavy and not "engineering degrees".
Right, an engineering degree is a guarantee that you know the important points of what it means to be an engineer. Ethics, engineering process, math, etc. When you get an engineering degree from a certified university, you are an engineer. It's a guarantee that (at one point, at least), you possessed the set of skills and knowledge determined by a board of professionals to be necessary for a career of engineering. Other degrees may overlap, but they're not held to the same standards.
I think one thing that's understated is the amount of time we spend in ethics classes. I felt that there was always a semester where I was in some form of ethics or engineering history class.
>When you get an engineering degree from a certified university, you are an engineer.
That's not true. When you get a degree you have an engineering degree. When you get hired and employed as an engineer, you are an engineer. You have an engineering degree and I have a mathematics degree. Our employers hire people for engineer positions and call them such. If I were a professor of math, i could call myself a professor. If I were a mathematician at the NSA, a Mathematician. But my employer calls me an Engineer. The degree does not do that.
Since we're getting pedantic, once you are employed straight out of uni, you are still not an engineer. You are a graduate, or cadet engineer. Typically its not until you've have several years of experience in an engineering capacity, and have passed your government's regulatory body's requirements, that you are actually an engineer. Usually this involves submitting a number of essays on your work, and then passing an oral review board.
@dsuth - that depends on country. Some employers in the US will take a new hire and call them an engineering intern if they require time and testing to reach PE status. That is not required and other employers will grant an Engineer title immediately.
And I'm not merely referring to software. The above is true for my companies 20+ different engineering positions across all disciplines they hire for (Aerospace, mechanical, electrical, materials, software, etc).