News for hackers. Stuff that matters.
Re:Why Computer Programmers Should Stop Calling Themselves E... by psyc on Saturday April 14, 2018 @12:18AM (#16835833)
I've written this a dozen times, but 'software engineer' has pretty much never been a sub-category of engineer. It's a title internal to the software industry, and need not have any relation to Engineering beyond a metaphor. I genuinely don't understand why people find the distiction between a title and a kind of engineer such a problem. Why doesn't 'software architect' get the same criticism for not being an architect? If you're at work, everyone knows what 'software engineer' means. If you're at an engineering convention, don't call yourself an engineer unless you have the credentials.

This title sometimes accompanies pretension toward traditional engineering, which is fine as far as it goes - usually not very far. I realize that there are some efforts in some jurisdictions to get something like engineering credentials for programmers. Ok, maybe that's not misguided, but I've yet to be convinced. It depends on how you conceptualize software. I don't think of it like engineering, I think of it like math. But more than that, I think of it as computer programming! If you think of it like engineering, I don't have a huge argument with that, but I have a hard time seeing is as more than an ill-fitting metaphor. I think that is one step better than the manufacturing metaphor.

Re:Why Computer Programmers Should Stop Calling Themselves E... by kerr23 on Saturday April 14, 2018 @01:04AM (#16835980)
> Why doesn't 'software architect' get the same criticism for not being an architect?

I'm married to an Architect, it bugs them too.

In most states - Legally they can't call themselves Architects until they've passed the AREs. You can't take the AREs until you have enough IDP hours (which takes about 3 years). You can't start IDP unless you have a Masters (or more recently a "professional bachelors"). Oh, and you have to take a new test for every state / country you want to practice Architecture in (Reciprocity is getting better but not quickly)

So it's that sense that they have to scratch and claw to get the title where we can just sort of make it up that bugs them.

I think we should switch to a different title scheme. I'm going to be a Doctor of Site Reliability (you know since I'm already doing operations....)

Re:Why Computer Programmers Should Stop Calling Themselves E... by psyc on Saturday April 14, 2018 @01:16AM (#16836014)
Personally, I never call myself an engineer. Partly for the reason it annoys engineers, but partly because I don't think of what I do as engineering in the first place. And I think the reason for that is I have studied the hell out of CS, programming, and math; but I have not studied a lick of engineering! Learning a few engineering approaches by needing to stress-test software, because it's too complicated to grok, does not qualify one as an engineer in my mind.

I do however wish that people were better able to make the distinction between titling oneself 'software architect' and claiming to be a sub-type of architect. Perhaps it's too subtle. What I mean is, 'software engineer' and 'software architect' are singular roles, peculiar to this industry, that happen to be made of two words.

Re:Why Computer Programmers Should Stop Calling Themselves E... by apple4ever on Saturday April 14, 2018 @08:07PM (#16840315)
They sure can call themselves software architects legally if they want. Its not related to the building architects.
Re:Why Computer Programmers Should Stop Calling Themselves E... by jcrites on Saturday April 14, 2018 @02:13AM (#16836156)
Software engineering has been recognized as a discipline of professional engineering since 2009 by NCEES, the national body of engineering licensing boards in the US.

See my other comment for details: https://news.ycombinator.com/item?id=16835964

Re:Why Computer Programmers Should Stop Calling Themselves E... by skookumchuck on Saturday April 14, 2018 @12:28AM (#16835868)
> I don't think of it like engineering, I think of it like math.

Ironic, considering that college engineering courses are about 95% math.

Re:Why Computer Programmers Should Stop Calling Themselves E... by psyc on Saturday April 14, 2018 @12:29AM (#16835869)
So's theoretical physics, and programming isn't that either. I partly mean that I think of it as still being the sub-field of mathematics it began as.
Re:Why Computer Programmers Should Stop Calling Themselves E... by skookumchuck on Saturday April 14, 2018 @12:30AM (#16835871)
I thought you were making the point that programming is math and engineering is not?
Re:Why Computer Programmers Should Stop Calling Themselves E... by psyc on Saturday April 14, 2018 @12:34AM (#16835885)
That isn't what I meant. More like programming is math (somewhat closer to its own field of mathematics) but it isn't usually engineering, though sometimes it is in a more abstract sense.

I'm also fine with 'software developer' especially as we've largely moved away from programming computers, and at best most of us are programming abstract machines that bear decreasing resemblance to computers.

Re:Why Computer Programmers Should Stop Calling Themselves E... by skookumchuck on Saturday April 14, 2018 @12:40AM (#16835902)
> it isn't engineering

Consider a fuel injection system from the 1960's. It was a mechanical computer. Was that not engineering? It was certainly designed by a team of engineers.

These days, it's software that does the same thing. Why is that not engineering?

Re:Why Computer Programmers Should Stop Calling Themselves E... by psyc on Saturday April 14, 2018 @12:52AM (#16835942)
The material aspect is engineering. Is the logic engineering? Do you engineer logic? Would a mathematician think of contriving logic as engineering?

In order to discuss categories at all, you have to place some limit on how far to stretch the equivalence of different things. Sure, a physical thing is transformable to a logical thing, but doesn't that affect our categories? We're pretty bad at finding or agreeing on the lines between the categories we create, so I don't worry about that much.

I didn't say that programming is never anything like engineering. I apply engineering-inspired approaches to my work all the time. But here's another perhaps eccentric opinion: when I'm thinking like an engineer, it's usually to compensate for the code being too complicated to read. I consider that a pragmatic response to a worrying failure, not something to aspire to more of.

Re:Why Computer Programmers Should Stop Calling Themselves E... by skookumchuck on Saturday April 14, 2018 @01:00AM (#16835966)
> Do you engineer logic?

You betcha. Think of how Woz designed a floppy disk controller that used fewer parts than other designs. That's engineering the logic.

A big part of software engineering is to engineer the logic to get the correct result as fast as possible.

Re:Why Computer Programmers Should Stop Calling Themselves E... by bostik on Saturday April 14, 2018 @03:38AM (#16836346)
> A big part of software engineering is to engineer the logic to get the correct result as fast as possible.*

Engineering is all about working within a set of constraints. Things that are easier and/or cheaper to manufacture, have clearly been engineered that way.

It can't be a coincidence that we consider CPU time and memory footprint "costs".

Re:Why Computer Programmers Should Stop Calling Themselves E... by skookumchuck on Saturday April 14, 2018 @04:18AM (#16836455)
We consider them costs because they are. If you can execute code on your server farm 1% faster, you can save millions of dollars in server costs. Hence software engineers who work on server farm code tend to get paid very well.
Re:Why Computer Programmers Should Stop Calling Themselves E... by psyc on Saturday April 14, 2018 @01:10AM (#16835998)
Replying here because I'm becoming enraged by HN rate-limiting our perfectly civil discussion.

I definitely see where you are coming from re: 'engineering' logic. As I said before, I don't have a huge argument against this. However, for me this is where the metaphor blurs into near-meaninglessness for me. Optimization happens to be a specialization of mine, and I can't find a reason to think of it as engineering, except for the fact that I take measurements. The optimization itself is more like applied information theory. I can agree that the measurement + iteration is perhaps engineering.

Re:Why Computer Programmers Should Stop Calling Themselves E... by skookumchuck on Saturday April 14, 2018 @02:15AM (#16836163)
For the record, I don't consider a programmer who connects up various packages designed by others as much of an engineer. A programmer who designs and codes the load managing software for an electric utility is certainly doing engineering. There's a line between the two, but it's definitely a fuzzy line.