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 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"