DEV Community

Stephen Belovarich
Stephen Belovarich

Posted on

Are You a Developer or Engineer? Why?

I consider myself a web engineer, but I'm curious how others perceive their role. Do you consider yourself a developer or engineer (or maybe some other title) and why? Does it matter?

Oldest comments (13)

Collapse
 
ashleemboyer profile image
Ashlee (she/her)

I guess in my head I consider myself both? I have a software engineering degree and call myself a software engineer and a web developer. Hmm. 🤔

Collapse
 
steveblue profile image
Stephen Belovarich

I imagine the two titles are interchangeable for a lot of people, but wonder if some think there is a distinction. 🙃

Collapse
 
alohci profile image
Nicholas Stimpson

Yeah both. The majority of the development I do doesn't require engineering, but some of it does.

Collapse
 
peter279k profile image
peter279k • Edited

I think it's just a role name and people usually misunderstand "developers" and "engineers" in my country.

And sometimes they think they're same.

And it's doesn't matter for me about these role names.

Doing your best on the positions is more important than that :).

Collapse
 
giangvincent profile image
giang vincent

I think if u work with only software then u can consider yourself as a developer. But an engineer is a larger definition. And u can call a developer as an engineer.

Collapse
 
kallmanation profile image
Nathan Kallman

I'm currently a "software engineer"...

engineer does have a specific meaning outside of software. You can't call yourself a professional electrical engineer unless you've taken certain classes, passed certain standardized tests, and worked under the instruction of other professional engineers for a certain time period. (If someone has a PE after their name, that means they've been certified as a professional engineer)

I've even gone so far as taking (and passing) the test to be a professional computer engineer. But lost interest when I realized it was mostly electrical engineering with a few computer related questions. (And zero software questions)

"Software engineer" on the other hand has been abused and doesn't have specific meaning. Its mostly meaningless to distinguish between the titles as they are currently used...

Collapse
 
kspeakman profile image
Kasey Speakman • Edited

Our titles are developer. But, it's just a title. I think an interviewer is going to look at software developer and software engineer on a resume as being pretty similar. They need software, and you can create it.

I don't find it particularly interesting or valuable to gate-keep the term "engineer". If I'm looking for a mechanical engineer, I'm not going to get that role confused with a software engineer or electrical engineer (even a P.E.) or a custodial engineer. If someone told me they were "an engineer", without telling me what kind of engineer, I would assume they drove trains.

Collapse
 
dmahely profile image
Doaa Mahely

I'm a software engineer by degree but think developer is a cooler title 😆

Collapse
 
v6 profile image
🦄N B🛡 • Edited

I could have had an easy life. But the crypto nerd life chose me!

Also, "web engineer" sounds like a spider trying to make its resume sound more professional. "I'm not just an extruder of silk, man, like some run of the mill silkworm. I'm a certified web engineer."

Collapse
 
gombosg profile image
Gergely Gombos

Does 'software engineering' even exist?

I'm not even sure software engineering exists, or whether it should be called as such. As a reference, I have a 'mechatronics engineering' MSc, which is mostly a mix of electrical and mechanincal engineering. These classic engineering fields are called 'engineering disciplines'.

Mechanical (and also civil) engineering is about 200 years old, electrical engineering is about 70-80. Whatever you're designing, you're leaning on the 'shoulders of giants', leveraging knowledge that may be more than a hundred years old.

Computer science has really branched from mathematics, and computer engineering, the practical side, branched from electrical engineering.
Software started eating the world about 30 years ago, and now people call themselves 'software engineers'. Heck, my employer calls me a software engineer! :D

Software engineering vs. hard sciences

Software engineering activities are similar to existing engineering practice in that you are modeling, measuring, researching and methodically refining a design in order to work towards some concrete end goal i.e. a product.

On the other hand, software engineering is totally different, much 'softer' (no pun intended) than mechanical, electrical, chemical or civil engineering that build on hard sciences. There, if you want to do something, you refer to some relevant physical or whatever models, formulae, tables, whatever; get some results, maybe measure and simulate a bit and get a concrete result. Multiply by it some safety factor and there you go.

In software? Not so much. In that sense, it reminds me of soft sciences like social sciences or economics. For each problem, you have 10 different languages, 100 frameworks, 20 totally different 'paradigms' with their own consultants, zealots and flamewars, each getting replaced every 5 years. And several could produce a satisfying solution to your problem.

Mother Nature doesn't want to sell you anything when it comes to physical models. Consultants on the other hand do, when trying to sell their latest & greatest paradigms, 10x engineering practices and lean methodologies.

All in all, software engineering, if it exists, is fundamentally different than existing classical engineering disciplines, is changing much-much faster and probably we should come up with a better term for it, rather than abusing existing terminology.

Collapse
 
aarone4 profile image
Aaron Reese

Sometimes an artist, poet, storyteller or sculpter, but never just a developer.

Collapse
 
v6 profile image
🦄N B🛡

You're damn right. Specialization is for finches, bureaucrats, and insects.

Collapse
 
_hs_ profile image
HS

Another angle: There's no such thing as a "web engineer" or "software engineer" for that matter. Studying computer science may make you some sort of scientist or engineer as in making new algorithms like better hash maps or such where you actually have to apply mathematics, and electrical engineer is based upon actual science (physics and mathematics) so you're actually an engineer by using scientific methods.

Software development has no science applied to it - the ones we're mostly doing, and TDD, patterns and all that are opinions of some people on how to make better code but have NO background in mathematics or other science. So using this or that pattern is design issue and copy pasting stuff while changing code a bit to work, writing many tests is belief base on that someone knew how to write good code, using X,Y,Z tool/language like a master is like working in construction business hammering a nail because you had a JIRA task telling you to do so and calling yourself civil engineer.

Now developing embedded software which controls some specialised hardware for let's say airplane or such might be engineering as you then need to know stuff about physics to actually implement solution but there's a shortcut of knowing the language and having people give you formulas or whatever.

Jim Coplien, a little bit nervous guy, had a good point about this. Now he might be a bit too much for some people but I agree to some extent with him.