DEV Community

Oliver Mensah
Oliver Mensah

Posted on • Edited on

Software Engineers shouldn't code. That's the job of the developer.

A software engineering instructor in college used to say that software engineers are not meant to code, writing code is for the developers. Is it true that they're not meant to code?

Top comments (7)

Collapse
 
dmfay profile image
Dian Fay

Your teacher may have used "engineer" to mean what I'd call an "architect", which is a role less focused on daily coding (although I personally have a foot in both camps, and would argue that we deserve to maintain the systems we design -- keeps us humble). Many other people and companies use "engineer" synonymously with "developer".

There are no standards and we're all making it up as we go along.

Collapse
 
ben profile image
Ben Halpern

Naming mixup aside, I definitely agree with this:

we deserve to maintain the systems we design -- keeps us humble

And I think the world feels more this way than it used to.

Collapse
 
isaacdlyman profile image
Isaac Lyman

I've never met a software engineer that didn't code. In fact, the idea is ridiculous to me at first brush. What else would they do?

Maybe there could be an organization where software engineers are in charge of designing and planning out code entities (e.g. classes and their interactions) and developers are in charge of implementing those designs, but that would be very unsatisfying to both parties. It would deny the engineers the hands-on fun of writing good code, and it would make the developers feel like "code monkeys", always implementing someone else's idea and not allowed to think creatively and make decisions. I don't know of any company that works like that and I hope I never work for one.

As far as I know, the most accurate rule about job titles in software is this one:

Inside of a given company, they can decide that specific titles mean whatever they want, but across the industry there's no real standard, at least not in the U.S.

Collapse
 
kspeakman profile image
Kasey Speakman

This statement seems crazy. It sounds like the teacher is projecting their own biases. They probably have the idea in their head where one group gathers requirements and writes the specs and then throws them over the wall to coders. This can work in other engineering disciplines, but it is not a great fit for (most) software. See Waterfall model.

Collapse
 
whoisryosuke profile image
Ryosuke

You'll find that roles at companies differ greatly from the archetype portrayed by academia. Engineer is such a broad term you'll find some engineers coding full-stack applications themselves. Or you'll get the other end of the spectrum: an engineer who architects the stack -- but isn't involved in the implementation because their team handles it.

It all depends how you choose to brand yourself. Saying engineer instead of developer carries different connotations, so just stick to whichever one fits you best.

Collapse
 
olivermensahdev profile image
Oliver Mensah

It is awesome to hear your opinions.

Collapse
 
flexdinesh profile image
Dinesh Pandiyan

My job title say Software Engineer and I code everyday. Developing an application, building an application, engineering an application, it's all the same, IMO.