5 ms·
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,
by psyc 9y ago
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.
- skookumchuck 9y ago> I don't think of it like engineering, I think of it like math. Ironic, considering that college engineering courses are about 95% math.
- psyc 9y agoSo'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.
- skookumchuck 9y agoI thought you were making the point that programming is math and engineering is not?
- psyc 9y agoThat 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.
- skookumchuck 9y ago> 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?
- psyc 9y agoThe 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.
- skookumchuck 9y ago> 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.
- kerr23 9y ago> 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....)
- psyc 9y agoPersonally, 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.
- apple4ever 9y agoThey sure can call themselves software architects legally if they want. Its not related to the building architects.
- jcrites 9y agoSoftware 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 https://news.ycombinator.com/item?id=16835964