Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

>I used to explain it to people as the difference between 'coders' and 'engineers'

This isn't going to be popular, but it's true.

Coders are what people called themselves before business started making the decisions about how to write software.

Engineers are what people called themselves after business started making the decisions about how to write software.

Guess what? People who write software aren't engineers, they are programmers. You have crap programmers and you have exceptional programmers, but you they are paid to write programs. "Software Engineer" is as valid as a "Sanitation Engineer."

Coder is a slang for programmer because they write "source code." it dates back to at least the 80s, probably earlier. It is also acceptable term for programmer.

If you have to make up a fancy term, call yourselves software developer or software designer. If you want to be called an engineer, go to engineering school.

https://www.theatlantic.com/technology/archive/2015/11/progr...



The terminology is shifting though, and has been for some time now. While I agree that CS/SE is not "engineering", it's the common term across the top companies, with words like "developer" now fading in use.

For me, I have the opposite reaction to coder vs engineer.

For a coder, I think code monkey, someone who writes boilerplate MVC apps and can't handle algorithmic complexities, write code that others can understand, or consider lower levels of a system they are interacting with. Also synonymous with hacker, which I would bet also has a reversed connotation for those who see coder as a good thing.

When I hear engineer, it's synonymous with the jobs at the big name companies and implies the person thinks their job is complex enough to warrant the title, even if not deserved by the standards of other engineers.

Of course, all of this is semantics, including the debate over what is an "engineer". In the end, it's pretty meaningless in terms of impact. CS vs SE I think should be the focus, as yes, the two can be quite different, even if most CS degrees end up working in SE.


>The terminology is shifting though, and has been for some time now.

Yes, I agree. "Coder" and "Programmer" are grey beard terms.

>Also synonymous with hacker, which I would bet also has a reversed connotation for those who see coder as a good thing.

Yes; a hacker is someone who can bend the computer to their will, even when it isn't supposed to do it. That's one of the reasons people who crack software and infiltrate systems sometimes get that moniker.

>implies the person thinks their job is complex enough to warrant the title, even if not deserved by the standards of other engineers.

Ya, that's kinda the problem. It has an inferiority aura about it.

> In the end, it's pretty meaningless in terms of impact. CS vs SE I think should be the focus, as yes, the two can be quite different, even if most CS degrees end up working in SE.

It absolutely is meaningless, I guess that's what bugs me about it. CS is for creating an improving algorithms. John von Neumann discovered/created merge sort in 1945 (among other things). He is CS. "Engineering" is taking merge sort and using it for efficient joins in an RDMBS; applying science to an actual thing.


It's sad to me when people try to trivialize the profession of the people responsible for the information age like this. Why does the term 'software engineer' hurt your feelings so much when these are the people responsible for taking mathematical concepts and turning them into working marvels like the Internet, wifi, cellular data, networks, etc?


Don't be sad, it doesn't hurt my feelings, it's just silly to call yourself one. Why not call yourself a "Software Doctor?" You should be proud to call yourself a programmer, developer, coder or hacker; those are great skills to have. Impress people with your ability, not some made up title.

BTW, I've been a "Software Engineer," and "Software Architect" for 20+ years. Don't get me started on people who call themselves "Software Architects" that don't even code out their designs.


There is nothing special about "engineer" either. It's just a made up title.

Look at the origin of the word:

>Middle English (denoting a designer and constructor of fortifications and weapons; formerly also as ingineer ): in early use from Old French engigneor, from medieval Latin ingeniator, from ingeniare ‘contrive, devise,’ from Latin ingenium (see engine); in later use from French ingénieur or Italian ingegnere, also based on Latin ingenium, with the ending influenced by -eer.

Electrical engineers certainly aren't building fortifications and weapons, yet they have it in their title. Software controls the behavior of physical systems just as much as electrical engineer-designed circuits do.

The only people that get pissed off by the use of the word are people that think people who write software are intellectually beneath them.

>Why not call yourself a "Software Doctor?"

If you have a PhD, that would certainly be fine. Doctor is pretty well-defined throughout the history of the word.


Colleges have "Schools of Engineering," and they are typically 5 year degrees. Engineers also have requirements such as professional required certifications and ongoing learning requirements, similar to CPA's, MD's and JD's. You have a reasonable guarantee that the person who is an actual engineer knows what they are talking about. "Software Engineers" have none of that.

To become licensed, engineers must complete a four-year college degree, work under a Professional Engineer for at least four years, pass two intensive competency exams and earn a license from their state's licensure board. Then, to retain their licenses, PEs must continually maintain and improve their skills throughout their careers.

https://www.nspe.org/resources/licensure/what-pe

>The only people that get pissed off by the use of the word are people that think people who write software are intellectually beneath them.

Great theory presented as a fact, but I write software for a living, so I guess that theory just flew out the window.

>If you have a PhD, that would certainly be fine.

Just like calling yourself an engineer if you actually had a degree from a school of engineering would be fine too ...

Honestly, if software engineering were treated like real engineers with licensure, required degrees, etc, we'd make a whole lot more money. Companies like to call us engineers because they can blow flowers up our posterior in lieu of actually paying us for it. Personally, I'd rather make double than feel good about myself.


Your whole justification is just that some engineers have tried to guard the term by forming schools and associations. However, unlike the stupidity of Canada, it's not legal to just co-opt a common nebulous term and ban everyone else from using it in the US.

Your argument as well as that Atlantic piece is just "they don't do the same things to what previous engineering fields did so it doesn't count." If that kind of stupid logic held, there would be no such thing as petroleum engineers or electrical engineers because neither of those were things for a long time.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: