Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Wow, that disparity between developer and engineer... I'm not an H1B worker, but does this mean I should start calling myself an Engineer?


In the US. YES. YES. YES.

Work for companies that hire Engineers, not Programmers, or Developers.


If you are in the US, yes.


It depends on where you are in the US. In some states, it's against the law to call yourself an engineer without being licensed. From what I could find with a quick Google search it looks like California is one. But it relies on reporting, so if no one reports it to the licensing board, you're unlikely to be fined.


This isn't true with regards to Software Engineer. Its mostly a protection against calling yourself a Professional Engineer which has a much more standardized accreditation process.

Also btw, in many CS depts in the US, students have to take very similar classes to the ones you described above, such as business ethics and what not. I know I had to. Along with multiple required software engineering courses...


> From what I could find with a quick Google search it looks like California is one.

Could you provide a source for that? I know that California regulates the title "Professional Engineer" or providing "engineering services" but I'm not aware of any regulation preventing someone from using engineer in job titles.


The first reference on California and the title "engineer" I saw was,

http://engineerboards.com/index.php?showtopic=4328


From that forum thread:

> The California Board does regulate certain engineering titles, but not all. For example, they don't regulate the plain-vanilla title of "engineer". They also don't regulate titles like "aerospace engineer" or "project engineer".

> The law only gives them authority over certain specific titles, as per Section 6732 of the Professional Engineer's Act:

>QUOTE

>It is unlawful for anyone other than a professional engineer licensed under this chapter to stamp or seal any plans, specifications, plats, reports, or other documents with the seal or stamp of a professional engineer, or in any manner, use the title “professional engineer,” “licensed engineer,” “registered engineer,” or “consulting engineer,” or any of the following branch titles: “agricultural engineer,” “chemical engineer,” “civil engineer,” “control system engineer,” “electrical engineer,” “fire protection engineer,” “industrial engineer,” “mechanical engineer,” “metallurgical engineer,” “nuclear engineer,” “petroleum engineer,” or “traffic engineer,” or any combination of these words and phrases or abbreviations thereof unless licensed under this chapter.

So, it wouldn't apply to simply a generic "Engineer" or a "Software Engineer"


Great. It's unfortunate that I'm not joking. I've used hacker/programmer/coder/developer/engineer interchangeable for a while now, but I've been running with "Fullstack Developer" because I think it rolls off the tongue better than "Fullstack Engineer"


Only if you're a certified Engineer.

I studied Software Engineering, and I'm accredited by the Institute of Engineers in Australia.


(USA) I know many people who call themselves "engineers" who studied HTML and JavaScript and develop websites or web apps. I know many "engineers" who graduated from "Software Engineering" or "Computer Science" but have no governmental certification. Unlike Civil Engineering or other engineering disciplines, in the US software work is not as regulated, though I have seen regulations when dealing with Government work, calling for "engineers" to actually be accepted by a "official body of engineers."

Basically, in software in US, you can be an "engineer" and not get in trouble if you are not.


Not sure why you're getting downvoted, other than maybe because the original topic is US-centric.

In many countries (not sure about the US), it is illegal to call yourself an engineer, regardless of what discipline it is.

In Canada, various provincial bodies (PEO in Ontario) regulate the use of the title "engineer", including derivatives of it such as "software engineer". [0] Some of this might seem heavy-handed (see objection to the MCSE term[1]) and I used to think so, until seeing various articles like this one.[2]

Having the term regulated is useful in establishing a minimum or baseline of knowledge that one has to have. To call oneself an engineer without having had the common/basic education in various topics like calculus, linear algebra or statistics is at best misleading, since an accredited engineering program would have provided exposure to such topics. Imagine having a conversation with an engineer who did not understand the difference (or was not even aware of the difference) between mean, median and mode when it came to categorizing request-response times? I'm not trying to knock on self-learning as it's a valuable skill to have, just the concept of title inflation.

There are exceptions, of course. For example, someone with a Comp. Sci degree would likely possess the requisite knowledge and be equivalent to someone with a software engineering degree in the profession, and this is where perhaps the actions of PEO et al. are a bit overbearing.

0. http://www.peo.on.ca/index.php/ci_id/2266/la_id/1.htm

1. http://www.peo.on.ca/index.php/ci_id/26340/la_id/1.htm

2. https://news.ycombinator.com/item?id=8996024


Probably because the two largest English speaking countries in the world place almost no restrictions on using the title "Engineer" whatsoever, so people from those countries get annoyed when people authoritatively state that you must not use the title "Engineer" unless you are properly certified, neglecting to mention that their authoritative statements apply to perhaps 10% of their audience.


There's a movement in the UK to protect the title of engineer. Plus, in the US, it varies from state to state. For example, see Case Number: B-32981 on this page

http://engineers.texas.gov/da/da021512.html

They were fined for using the term "foundation engineer". From a quick search it looks like California is one state where you're not allowed to use it if you're not licensed. I'm guessing a number of people are actually in violation of this, but are unlikely to be fined unless it's reported.


That might be nice but to be blunt what has the Engineering council done for the last say 100 years.

I cant see any Uk government actually having the will to pass any laws enforcing this the number of STEM graduates in parliament and the house of lords is shockingly low

They also need to rescue Apprentices form its use by unskilled employers no Tesco you cannot have a Apprentices in shelf stacking to dodge paying the minimum wage.


Perhaps that is the reason, but it doesn't necessarily make it right nor justify it.

Would it be better for the industry (and society in general) if the titles of "doctor", "lawyer" or "accountant" weren't as regulated/protected? Should we care if people are annoyed that they can't self-label themselves as one of these titles?


> To call oneself an engineer without having had the common/basic education in various topics like calculus, linear algebra or statistics is at best misleading, since an accredited engineering program would have provided exposure to such topics.

That was my point entirely.

I did study all of those things, my degree was under the faculty of Engineering, and the engineers institute of Australia agreed that I do meet the requirements to call myself an "Engineer" - with all that means.


I was agreeing with you, which is why I started out my comment with "Not sure why you're getting downvoted..."

The rest of my comment was just elaborating on what I imagined you'd meant by your comment, to hopefully detract from your downvoters.


But why would a person need formal accreditation of they felt that they did possess the required background (assuming it was legal, which it is in Australia and the US). You are trying to impose the standards of the people who granted you that degree, on everyone else. But it's not justified. To an employer, your accreditation counts for almost nothing when comparing otherwise similar degrees (e.g. a CS degree). And you don't need to take a course in ethics to understand ethical issues or act ethically.


> To an employer, your accreditation counts for almost nothing when comparing otherwise similar degrees (e.g. a CS degree)

You obviously have no understanding of the different between a CS degree and a Software Engineering Degreee. For starters, mine was a full year longer than regular CS. I did engineering Math the entire time with the other Engineers, and I did courses like digital electric design and digital signal image processing that the CS'ers didn't.

It's like a CS degree on steroids.


You obviously have no understanding that the world is much bigger than the context where you are comparing a particular Software Engineering degree with other CS degrees. When compared across the whole world, CS and Software Engineering are basically synonyms. If anything Software Engineering is less technical.

And you also haven't explained why a slightly greater focus on traditional engineering/math is relevant to employers.


> Only if you're a certified Engineer

Not really. If you've got a CS or SE degree you are certainly an engineer. If you've built systems and worked in the industry solving difficult problems you are an engineer.

In the US we don't need an expensive piece of paper telling us what we're qualified to call ourselves.

EDIT: To be clear I'm referring to software engineering. Not all engineering. I thought that was obvious based on the context of the post but I guess not.


Did you have to take a course on ethics? What about software and society? In Canada, in order to get accreditation as an engineering program (including software engineering) there's a set of requirements to be taught. One is a course on technology's impact on society. Also, in Ontario in order to get professionally licensed as an engineer (which is required before you can call yourself an engineer, legally) one has to take an exam on ethics & law as they pertain to engineering. So, we study case law and various ethical situations.

People have been taken to court for calling themselves engineers if they're not officially licensed. This is why the MCSE is no longer an acronym as there was a court case about it. There's a few kinds of engineers that don't have to be licensed as they pre-date the law (e.g., stationary engineers who take care of things like boilers), but they typically have their own regulatory organizations.


In California, people call themselves "Software Engineers" all willy-nilly (even if they haven't graduated from high school) because the term isn't regulated down here.


Can you give an example of an ethical problem that might be faced by a software engineer, that is covered by these courses, and that these courses would enable a person to deal with significantly better.


There were definitely a number in both the practice law and ethics exam and the official exam that I took. I can't recall them off-hand, though. You can see the Code of Ethics for Professional Engineers Ontario in the actual law.

http://www.e-laws.gov.on.ca/html/regs/english/elaws_regs_900...

See section 77. Generally, it often revolves around 77.2.i,

"A practitioner shall, regard the practitioner’s duty to public welfare as paramount"

One could see a conflict come up between the company's and the public's interest. For example, you get asked to write the code in a way that takes less time, but could expose the client's data to hackers.


In my post I asked for situations that these courses would enable a person to deal with significantly better.

I agree that a person could be placed in a situation where they were asked to do something against the public welfare. But I don't see how reading this rule in a course would actually help the person making the decision.

For example, I've been in situations where security issues came up. Like most real life matters, it was a matter of judgement, and the tradeoffs were complex. But I went above and beyond what was expected, to do things the best way possible. I did it because I thought it was the right thing to do, and because I take pride in my work. But I didn't need to take a course or get a certificate to know this.


How much philosophy do you know? Much of the material deals with different value systems and applying those value systems to different problems. So, you have a complex ethical problem (which many are) and evaluating the problem in the view of the different value systems as well as the code of ethics. So, decisions about security of systems is certainly one of those situations.


Let's suppose I knew no philosophy. How does this concretely effect how I would make a particular decision? Can you be specific?

If I were designing human medical trials, then I agree that a course in ethics would be in order. But all aspects of life involve ethical choices, and I don't think that you need to be an expert in philosophy to make the right choices.


Understanding ethics can help in making the right choice in a complex situation. For instance, if you go with act utilitarianism, you choose the action which maximizes a positive effect. If you believe in rule utilitarianism, you use the principle of utility (maximizing a positive effect) to set rules to generally abide by such as keeping one's promise. But, there could be situations where following the rule gives rise to a negative effect. This is similar but different to determining rightness by examining the act itself. Then there's virtue ethics such as those of Socrates and Aristotle. There's also the role ethics of Confucius.

So, it's often good to examine a complex situation from the viewpoint of multiple ethical systems and make a decision based on that. That's what courses in ethics do. They teach various systems and present situations to examine.

A lot of people might go with consequentialism, which is basically, "The end justifies the means." Utilitarianism is essentially a subset of this.

So, yes you have some ethical system that you follow, but if you're only looking at a situation from that viewpoint, you might miss out on an alternative course of action.


I took that ethics course. I don't think that course really made much of a difference in anyone's career. The material was mostly common sense ethical questions.


The certification is more than just "an expensive piece of paper". In some jurisdictions (Canada), an engineering accreditation board has to certify that the courses taught during the course of obtaining an engineering degree contain certain material - thus enforcing a standard across all degrees, regardless of the university/institution.

Without this, it's arguable that having an "engineering degree" (in a certain discipline, say software eng) from one university would not all be comparable to having one from another institution - thus decreasing the overall quality of the industry. I'm not saying having the standard solves all these sort of problems, but I am saying that it makes things better.


Problem with that is that, at least compared to actual engineers who need to take the FE exam to be called one, it's a complete misnomer and to be frank, a little embarrassing. Most CS/SE programs share no classes with engineering programs except maybe calc 1/2 and one or two others. It just feels wrong referring to myself as a software engineer because a. there's no formal definition of one and b. it's unfair to those who actually are engineers. I didn't slog through statics/Differential EQs/vibrations/Calc 3/Mechatronics/Embedded Systems/etc. like some of my friends, and on a nominal level it's unfair to them.


But I was a CS major and had to slog through diff. EQs, calc, physics, linear algebera, etc..


In Canada, it would be against the law for a CS major to call oneself an "engineer". At the University of Waterloo, there's actually a Software Engineering program that's joint between the CS and Electrical & Computer Engineering departments. It's been licensed by the accreditation board for engineering programs.


There are some legal restrictions in some places so that apartment buildings and bridges don't get built by the local guy with a backhoe and then collapse.


If they hire a software engineer to build a bridge, they have more problems than the job title.

I don't really follow this argument, since it isn't like all the 'certified' engineers are interchangeable. You would have just as many problems if you hired an electrical engineer to build your bridge as you would if you hired a non-certified software developer to do it. Are people really worried about software developers trying to illegally build building?

I mean, we don't legally limit who can call themselves an engineer in the US, but you still need certifications to actually BUILD something that requires engineering work. That seems like a much more effective control than limiting who can call themselves engineers.


At least in Switzerland those job titles are made up by the companies.

Additionally since the Bolognia process people get a degree as Bsc or Msc. in Computer Science while the older degrees do contain the title prefix "Dipl. Ing ..." (e.g. Engineer with specialization in Software Development). So while the degrees are protected the job title are basically totally random.


I should've specified: I'm in the US, where Engineer/Programmer/Developer are mostly interchangeable (in fact I've read a ton of blog posts on which is the better term, none of which arrive at the same conclusion). I'm positive some BigCorp has a 100 page definition differentiating these, however.


Sure, but that does not mean potential employers will agree with you.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: