In your opinion what’s the difference between the two? In my opinion both terms are frequently used interchangeably in the workplace.

But I’d like to consider myself as an engineer, because although I don’t consider myself to be good at it, I think I cares about the software that I worked on, its interaction with other services, the big picture, and different kinds of small optimizations.

I mean, what is even engineering?

They told us in boot camp the difference is about $10k.

FWIW, at UCLA, computer engineering was a different degree than just computer science, and had more rigorous courses including electrical engineering and ethics courses. Many people dropped out and switched to the CS degree instead.

Finally: professional engineers who engage in title snobbery are often accused of “ring knocking”, as if they were physically knocking their iron ring against a desk to point out the size of the dick on top of their shoulders.

I’ve been calling myself a programmer. That’s mostly what I do anyways

Poorly defined nomenclature. Simple as that. I’m an “automation engineer”, have had many other titles, but anytime I write what I do, like LinkedIn or such, I write “programmer”, because it is simple, descriptive, and I like it. I’m old, but I used to like ”hacker” until it came to imply nefarious programming.

@lysdexic@programming.dev
link
fedilink
English
2
edit-2
1Y

Poorly defined nomenclature. Simple as that. I’m an “automation engineer”, have had many other titles (…)

Anyone can call themselves what they feel like it. However, in some jurisdictions and contexts the title “engineer” does have a specific meaning, consisting of someone who not only has the necessary and sufficient training but also is a member of a specific professional body. These credentials have meaning and those who try to pass themselves off as one without having the certification or credentials might be breaking laws.

100%, but my understanding is that most often applies to fields of engineering outside of computer science like mechanical, chemical, structural engineering etc. But there are licensing bodies for achieving Professional Engineer of FE in some cases for CS.

I am not a lawyer but I presume most laws apply to claims of such certifications rather than job titles. In either case most people don’t pick their own job titles. Just don’t put PE, after your name, same as you should not just randomly throw BSN or MD unless you have a registered licensure.

I don’t wanna add anything here. You are correct on the idea you already have. Keep going 👍

I am in my first job that’s a full-on “software engineer” title, which is a move I wanted to make. However, leading up to it I have a 20 year engineering career covering various aspects of electronics as well as software.

What I work on is C/C++ that runs the company’s main industrial product, and not some more mainstream web or app development. So it’s software work as part of a multidisciplinary team to design or improve a physical product.

So for those reasons I only think of myself as an “engineer.” But I can totally see how other jobs using similar skills would be more “software dev” or even “I’m in IT.”

@sbv@sh.itjust.works
link
fedilink
English
161Y

In a lot of places, engineering is a regulated field, meaning you need a certificate to call yourself an engineer. e.g. this lawsuit.

Guess im not an engineer in canada

@sbv@sh.itjust.works
link
fedilink
English
11Y

but what if you are

I think it’s just a “branding” difference. I was at a company once that changed everyone’s titles from developer to engineer. It was mostly done cause engineer was more hip.

I think developer was more used a decade ago. I would not be surprised if it cycles back at some point. It’s just like clothes fashion or whatever.

In my company everyone is called Software Development Engineer 🤷‍♂️

@fubo@lemmy.world
link
fedilink
18
edit-2
1Y

deleted by creator

Considering the almost complete lack of standards, certification, licensing in most areas of programming, I don’t think there’s a ton of difference.

I’ve held both titles without rhyme or reason between the two. Even in areas requiring high compliance - HIPAA, PCI/DSS, NIST Standards, FERPA, etc - training achieved doesn’t tend to be reflected in a programmer’s title. (Even while the same level of training turns into acronym soup among their IT peers.)

One way I try to live up to the title “Engineer” - even when I don’t wear it - is by holding myself to the Engineering Code of Ethics.

One of the issues is that devs don’t know about the normal engineering certifying body (at least in the US). One of the problems with that body was its expectation that a software engineer also know other forms of engineering. For example, a chemical engineer needs to know some civil and industrial engineering to get their certification. It’s almost nonsensical to ask someone building cloud apps to understand the principles of chemical engineering unless their work is in chemical engineering.

I know a ton of engineers that don’t view software as a field that can use the term because of its lack of certification.

Elias Griffin
link
fedilink
English
3
edit-2
1Y

Superb for including the Engineering Code of Ethics which I didn’t know exsisted! In my decades of working on every part of Computer Systems, Information Systems, unfortunately, I personally think if you work for Big Tech, you cannot abide those Code of Ethics. From the website>

Fundamental Canons

Engineers, in the fulfillment of their professional duties, shall:

  1. Hold paramount the safety, health, and welfare of the public.
  2. Perform services only in areas of their competence.
  3. Issue public statements only in an objective and truthful manner.
  4. Act for each employer or client as faithful agents or trustees.
  5. Avoid deceptive acts.
  6. Conduct themselves honorably, responsibly, ethically, and lawfully so as to enhance the honor, reputation, and usefulness of the profession.

How many Google Code Monkeys violate 1 or more of those on the daily? For instance in Canon 1, it does not say profit is paramount, but that public welfare is paramount. In fact, you could argue that is a competing objective working for Big Tech and following ethics.

stilgar [he/him]
link
fedilink
English
51Y

IMO an engineer should be able to develop a complex system which an entire company could potentially be based upon.

A developer who isn’t an engineer would focus more on individual libraries, apps or tools that don’t necessarily require the mindset of an engineer to design and maintain.

@grue@lemmy.world
link
fedilink
English
71Y

As a former civil engineer who now works in software, “software engineer” irks me. “Engineer” means you’re supposed to be licensed and you have a responsibility for the public good above your responsibility to your employer.

@lysdexic@programming.dev
link
fedilink
English
3
edit-2
1Y

As a former civil engineer who now works in software, “software engineer” irks me. “Engineer” means you’re supposed to be licensed and you have a responsibility for the public good above your responsibility to your employer.

This. I think some people don’t understand that titles are not whimsical status symbols and hold actual legal and regulatory meaning. A random guy can hold an engineering degree and not be an engineer, while a random guy with no degree can actually be a engineer if he jumps through all the hoops.

In engineering fields, being a member of a professional engineering body is critical to work in the field, because the main value proposition of these credentials is to prevent incompetent people from working on critical tasks which can potentially have important consequences to society if they are done poorly. For example, people can die if an engineer signs off on a project for a residential building that collapses due to shoddy work. If that happens then the engineers who signed off on the project will be investigated and if they are held responsible not only can they be held criminally responsible for their work but their license will be pulled, which is society’s response to ensure this problem won’t happen again.

DroneRights [it/its]
link
fedilink
English
-11Y

And the criteria for which bodies are considered professional can often come down to government or capitalism, both of which are very flawed. It should come as no surprise that software developers, who tend to be anarchists(see: the existence of FOSS), are distrustful of statist and capitalist regulatory bodies.

Do engineers take some sort of hippocratic oath?

Of course we don’t, otherwise social media/tobacco/petroleum industries wouldn’t exist.

Robert “Uncle Bob” Martin, author of several foundational texts, and coauthor of the agile manifesto provides one, which I think is good: https://blog.cleancoder.com/uncle-bob/2015/11/18/TheProgrammersOath.html

Elias Griffin
link
fedilink
English
2
edit-2
1Y

Very intersting! I’m not so sure about the oathiness of:

  1. I will make frequent, small, releases so that I do not impede the progress of others.
  2. I will do all that I can to keep the productivity of myself, and others, as high as possible. I will do nothing that decreases that productivity.

But I think the real oath impact there is:

  1. I will continuously ensure that others can cover for me, and that I can cover for them.

In Government work that, ^, is considered career ending.

I will improve upon this, thanks for the awareness.

Superb
link
fedilink
English
51Y

This is seriously what’s missing from the software field. There is no rigor or responsibility

there is… but it is expensive and the tech is constantly evolving

Hah, my dad (electrical engineer) had the same complaint when I studied sound engineering 😂

“Engineer” means you’re supposed to be licensed and you have a responsibility for the public good above your responsibility to your employer.

Good point. We definitely don’t, and it’s what’s causing huge amounts of trouble in the world, rather than using software for the greater good.

But engineer sounds better by some definitions, and it strokes the ego of employees, so companies like to use it to give more prestige to the role.

Just to be clear, that is not exclusive to “engineering,” as other professionals have similar legal requirements (doctors, lawyers, fiduciaries).

More generally, on a personal level, people are expected to act with integrity, and we have laws that provide them legal protections for whistleblowing.

The actual practice of engineering is about problem-solving within a set of constraints. Of course the solution should not harm the public, and there are plenty of circumstances where software is developed to that standard.

When a PE stamps a plan, they are asserting that they personally have reviewed the plan and process that created it and that it meets a standard for acceptable risk (not no risk!). That establishes the boundary of legal liability. In software, we generally do not have that process that fits in a legal framework, but that doesn’t mean that professional software engineers aren’t making those assessments for life-critical systems.

For other kinds of systems, understand that this is a new field and that it doesn’t have the bloody history that got “real engineering” to where it is today. A lot of the work product of most software engineers just don’t have stringent safety requirements, or we don’t understand the risks of certain product categories yet (and before you try to rebut that, remember that “building codes are written in blood” because people were applying technology before it was well-designed/understood).

Anyway, “engineering” is defined by a lot more than if you or your boss has a stamp (and in point of fact, there are plenty of engineers in the US that work as engineers without being a PE, or with any intention of ever having the stamp. Are they real engineers?)

As a former civil engineer who now works in software, “software engineer” irks me. “Engineer” means you’re supposed to be licensed

This really depends on the country you live in. In some countries you need a license, some need you to have some kind of university degree and others don’t care at all. So we cannot really use that measure as a definition.

This really depends on the country you live in.

Not really. There are two aspects to this problem: one is how people assign arbitrary and meaningless titles to themselves, and another is regulatory requirements by jurisdictions to be able to legally assume a role.

I can call myself senior dubstep engineer, and that’s perfectly fine. I can’t call myself a civil engineer and sign off on a construction project or a permit. No one cares if I’m actually a senior dubstep engineer or if I’m junior at best. In the meantime, you will get in trouble if you try to sign off on a construction project, no matter of how stubborn you are with regards to calling yourself an engineer.

another is regulatory requirements by jurisdictions to be able to legally assume a role.

This is exactly what I mean with “this depends on the country you live in”. Different countries have vastly different regulatory requirements. Taking UK as an example, you can call yourself civil engineer all day long without having to worry any legal consequences because there simply is no such thing as a licensing system for engineers.

Taking UK as an example, you can call yourself civil engineer all day long without having to worry any legal consequences because there simply is no such thing as a licensing system for engineers.

Britain’s Engineering Council disagrees.

https://www.engc.org.uk/international-activity/access-to-practise-in-the-uk/

Well idk the details in that specific case, this was just the first example I found. My point is, that different countries, states and institutions disagree on this matter. There is no universal rule that defines what you need to have achieved to call yourself an engineer.

@Kimusan@feddit.dk
link
fedilink
7
edit-2
1Y

I hold an M.Sc. in software Engineering and it is not just a “software developer” but an actual masters degree from an engineering university. It’s a civil engineering degree with focus on software and systems that runs software (e.g embedded systems). It is a protected title by law in many countries. I think Americans started abusing the software Engineer title a decade or two ago and hence many think it is just a title anyone can use as they like.

At least 25 years ago (correction: 25 years and 3 months since I was hired as a software engineer in America without an engineering degree).

And did you really compare a software dev with a BSc against your MSc (not a MEng?) and compare those apples and oranges as if they were peers?

Im not sure about America now, but in my country the title “P.Eng” (professional engineer) is restricted by law to those who have gained a degree as an engineer specifically, B.Eng or bigger, and have written a subsequent certification exam.

Not sure what you mean about your apples and pears comparison thing. Around here we have two levels of engineering - diploma engineer and civil engineer and that’s also the title you get.

Due to some countries not understanding this differentiation, we use the more common B.Sc for Diploma and M.Sc. for civil. You can then specialize in different areas like software, electronics, AI, health tech, and many more. So basically we have all the engineering courses + the special courses on top.

Create a post

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person’s post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you’re posting long videos try to add in some form of tldr for those who don’t want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



  • 1 user online
  • 1 user / day
  • 1 user / week
  • 1 user / month
  • 1 user / 6 months
  • 1 subscriber
  • 1.21K Posts
  • 17.8K Comments
  • Modlog