Ask HN: Why does everyone need to be an "Engineer" these days?

31 points by demosthanos ↗ HN
I'm someone who actually believes that a large number of good software developers treat their profession as an engineering discipline and have earned the title of "Engineer", but I'm a bit perplexed and frustrated by how watered-down the word has gotten in the US. My company has test engineers, which is borderline, but then there's this YC job currently on the front page:

> Odigos (YC W23) Is Hiring Lead DevRel Engineer

Like passing a terrible car accident, I found myself rubbernecking as I scrolled by. They couldn't actually have created a title like that for the job I think that is, could they?

> Responsibilities:

> Content Creation: ...

> Product Advocacy: ...

> Community Engagement: ...

> Support and Training: ...

Oh, yes, they totally did just rebrand developer advocate as an engineering role.

I'm curious to know from those who are in similar roles or who are in positions that allow choosing titles: Why do companies do this? Does giving a community-engagement role an "Engineer" title actually get more or better candidates to apply? Does it somehow increase job satisfaction? What motivates people to use the word "Engineer" in the title when there's nothing even vaguely engineer-y in the job description?

https://www.ycombinator.com/companies/keyval/jobs/MOo8djB-lead-devrel-engineer

54 comments

[ 3.7 ms ] story [ 102 ms ] thread
This is nothing new. The "engineerification" in the United States has been going on for the past 40-50 years. I still remember when "trash men" became "sanitation engineers" back in the 80's!

When someone tells me they're an engineer I ask about how hard the PE was. That's when you find out if someone is an actual engineer from a legal perspective or just affixing the term to themselves.

What’s PE? (I’m a programmer).
Private equity (I have no idea, I'm also a programmer)
Principal Engineer if software related
The PE [0] is an American engineering exam. You first take the FE [1], then must apprentice under someone for some length of time (I think ten years) to be allowed to take the PE. Then, once you pass that, you're considered a professional engineer.

[0]: https://ncees.org/exams/pe-exam/ [1]: https://ncees.org/exams/fe-exam/

Correct, and this gets at the heart of the matter as to why I believe engineering colleges shouldn't be conferring degrees in computer science. Degrees in computer science should be conferred by the college of arts and sciences, typically by something such as the department of mathematical sciences.

I'd be down with the creation of the role of software engineer, a bona fide engineering degree, having licensure similar to the PE. In fact, given how much software is running our lives, I'd say such licensure is long overdue.

Texas tried it. Doesn't look like it worked out so well. https://pels.texas.gov/software.html
When does anything Texas tries work out so well?! :)

Seriously though, the biggest problem is separating knowledge of programming languages and libraries from actual software engineering. The challenge there is we don't have a good definition of software engineering and how we'd go about doing that. I think it'd be a great start if, as an industry, we actually sit down to figure out what software engineering is.

I skimmed at the topics of few them. It certainly seems impressive to me.
There's no such apprenticeship criteria required for many states. Some do have a minimal amount of work experience, but it's usually a couple years and no more.

The part about needing to take the FE before the PE is correct though.

It's a formal certification exam for engineering disciplines that need licensing. You usually have to pass two exams – FE (foundations of engineering) and PE (principles of engineering) before you can even be considered for a license.
Meh you don't need a PE to be an engineer. That's stretching the gatekeeping too far. PE is valuable for a lot of things, but not necessary for a lot of actual engineering work. Is a trained and working electrical engineer not an engineer because a PE isn't necessary to design and build sensors, loggers, etc?

PE essentially just means you can legally sign off on safety critical designs. Engineering is the application of math and physics to solve a problem.

Anecdotally, the handful of PEs I know are the pencil-pusher types. They're engineers on paper, but a critical skill for engineering is actually building stuff.

I mean, if someone answers 'no, got a couple years before I'm eligible', or 'no, I don't need it for this line of work', you still probably got an idea of whether this person works in an engineering discipline.
(comment deleted)
And I remember when Sanitation Engineers in NYC were starting at $19,000/year while the average starting pay for a BSEE was $27,000. Really made you think!
Individuals who have been (literally or figuratively) issued business cards that say "software engineer" on them have generally had no say in how the industry uses that language, and (frankly) if somebody harangued me about it as you are suggesting, I would put them on my list of puffed-up jerks to be avoided at all reasonable costs.
I don't harangue people about it unless they're being obnoxious and bragging about their "engineer" title like they're something special. THEN I'll knock them down a couple notches.

I've had the title Software Engineer more than a couple times. Each time I've joked with my boss and fellow employees that we're not actual engineers. The funny thing is both times it was at an actual engineering company having PEs - so you'd think they'd be more careful with that title!

Yeah, that's fair. I definitely joke about it with folks whom I know have a sense of humor about such things...
I lived with someone who designed bridges for a living but couldn't yet call himself an engineer. The Engineer on his team was the person qualified to sign the drawings drafted by others, verifying that they met certain standards. The man I lived with was studying for the PE exam [0] pouring over large books of standards he would need to know in order to call himself an Engineer.

...

[0] https://ncees.org/exams/pe-exam/

> a large number of good software developers treat their profession as an engineering discipline and have earned the title of "Engineer"

It's just a word, this one is on you for thinking the word is special.

And I don't think it's relevant to discuss other-industry-specific engineer qualifications or what it means in Canada - if you are in an industry/country where the word engineer means something special, then this is a non-issue because it's enforced by laws and regulations. If you aren't, you're applying the standard in a place where it's not applicable.

What? The word is special. While it isn't a protected term on its own it is the operational part of 'Professional Engineer', which is a license that holds grave responsibilities.
Sure, but PE certification is only relevant to a small subset of engineers in the US, even outside of software engineering. Outside of a few specific fields, most people in the US will not think "PE" when they hear engineer, unlike professions like medicine or law where licensing is effectively universal.
Humans are hierarchical social creatures who crave respect, prestige, admiration, etc. Inflating job titles is an easy way to increase the value of the job to the worker by giving them more social capital.

People will stretch titles as much as possible. "Senior" engineers who have 2 years of experience after a coding bootcamp. "Managers" and "Directors" in marketing/HR/finance/etc who are 24 years old and have no managerial responsibility. Nurse practitioners who want to call themselves "doctors".

In this case "engineer" is the stretch title that provides that value.

Yes, I came here to mention that everyone also expects to be "senior" too...
Status and titles are important to many people. Bestowing a title is a free way for companies to satisfy that itch for their employee. "Engineer" is not a formal credential or legally protected title in the USA.

All sorts of jobs have rebranded.

    Janitor -> Janitorial Engineer
    Garbage Man -> Sanitation Engineer
    Cheater -> Rules interpretation Engineer
    Guard -> Correctional Officer
    Programmer -> Software Engineer
I actually just refer to myself as a Digital Janitor these days, even though I'm hired as SRE. Funny enough, it's met with much more understanding, and it is ironically kind of fitting as well.
I think Data Plumber really does describe what my job is most days

I'm fine with that though, honestly. Plumbing is a super valuable profession

On my more ambitious days, I still would rather be a Software Gardener than a Software Engineer though

I call myself a "Full Stack Software Janitor" since I mostly get hired to clean up and find myself cleaning up the work of other devs.

I've been thinking its less "Tech Debt" and more "Tech Sewage", as with sewage its a part of our normal day, and we just flush it down the drain hoping it never resurfaces, or at least that we won't be the one dealing with it.

It's valid. Engineer means the role requires applying math and sciences. There could be a Potato Farmer, and then a Potato Engineer that measures crops in time and space, solves growth optimization problems, and researches solutions for plagues, etc. Then there are Potato Scientists that would deal with classification, genetics and so on.

The problem is using it as a prestige tag without requiring the skills. The company is wasting resources if they do so.

Whats the difference between a software engineer and a programmer? One of them has a job
This reminds me of a funny interaction I had with one of my best friends and his father. My friend is an industrial engineer.

We were having a big dinner with a bunch of folks at a restaurant downtown after a wedding. My friend must have used the word "engineer" as least 5 times in 30 minutes while talking to some people that we had just met.

My friend's father interrupts him and says: "you keep calling yourself an engineer. You're an industrial engineer. That's like winning $10 after playing a rec league baseball game and then calling yourself a professional ball player."

Awkward moment at first but I think it was absolutely hilarious.

My friend is a chemical engineer and I found it really annoying when people revere his suggestions on anything mechanical like fixing a sink. Like an engineering title makes you an expert on anything mechanical.

That’s when I switched from programmer to software engineer actually.

I'm a mechanical engineering grad and people constantly think that's why I'm good at fixing cars.
When I was studying electrical engineering people would ask me if I was going to be an electrician, I told them 'no, the difference is electricians are useful'
Same here. My car mechanic seems to think i'm an imposter or at least an idiot, when i don't immediately understand his car gibberish.
(comment deleted)
In some countries "engineer" is a regulated title, e.g. in Germany. You can't name yourself an engineer if you don't have an engineering or related degree. Depending on the industry that title has more or less meaning, I can call myself an engineer, but that was never relevant to any of my tasks.

I think it comes from the same desire to call yourself "tech company", it is a signifier about how you see yourself. The difference between an X and an X engineer is that the X engineer sees himself as approaching the world in a rational and technical way. In some sense it is just an euphemism, to make something mundane sound more professional.

Time for my title to change from Software Engineer to Software Surgeon.
Software Engineering is not yet standardized as a proper role, at least in the US. The boundaries are fuzzy and often overlap a lot with management and business related tasks and responsibilities. In my opinion this is definitely a problem for setting proper expectations and hiring the right people. Companies are definitely bending the role to suit whatever needs are necessary from the business standpoint. For example a decade or two ago there was more a difference between responsibilities of creating software requirements, testing, and measuring the usage, but these have shifted considerably and are mostly done by the feature level engineer.

Engineers have become something like Product Technologists, or a generalist technical person that must also produce and manage a slice of the overall product from idea to launch and analytics. It would be great if the role was formalized and it added guard rails to the industry in order to avoid this never-ending evolving definition of the role.

It's marketing puffery, basically. I refer to myself as a "software engineer" when I'm talking to people who expect that to be the term to mean "experienced developer" (it's good to speak the language your audience understands), but I prefer to call myself a "developer".
Here's a fun anecdote about the Software Engineer title from a previous job

I'm in Alberta, Canada and my understanding is "Engineer" is a protected title here. My team was made up of some programmers who had actual engineering degrees, who had Software Engineer as their job title. They wore the ring and everything. The rest of us were "Software Developers", which is honestly really fine with me

We wound up merging with a company based in the USA, including merging with their software team. Of course all of their programmers were "Software Engineers" but none had actual engineering certification.

I brought this up with the department head at one point. I was concerned that the new programmers with Engineer titles would be given more weight compared to those of us with Developer titles, despite not actually having any additional credential over us. I was assured that would not be the case. In fact he acted appalled that I would even suggest something like that. After all it's just a title and of course everyone is too smart to get blinded by job titles

Anyways you can probably guess how it wound up playing out in reality

Job title worship is a real thing

> I'm in Alberta, Canada and my understanding is "Engineer" is a protected title here

Yes, but as of a couple of months ago, "software engineer" title is exempt from those regulations.

https://www.apega.ca/news/regulating-software-engineers

I can't tell if the signature on that post is a parody or not:

> Jay Nagendran, P.Eng., FCAE, ICD.D, FEC, FGC (Hon.)

It's an official press release on the official website for the engineering regulator, so definitely not a parody. But boy, does it look like one!
>Of course all of their programmers were "Software Engineers" but none had actual engineering certification.

There's one more reason: "software engineer" is categorized as engineering as far as the TN visa/NAFTA is concerned (so border-hopping to do that job is mostly trivial); "software developer" is not.

(comment deleted)
Writing software has nothing to do with operating a locomotive, and very few who write software wear stripey hats; it's not really engineering either.
It's title inflation. Firms get to choose the job title, so they choose a prestigious one because it makes the position more attractive
I remember a time when software programmers did NOT want to be referred to as "engineers" as that had more of a ops-guy connotation, like someone who sets up servers and runs cable. They wanted to be called "software developers". I even remember when it was fashionable to be called "systems analyst".