7 ms·
Yes. And Computer Science is not a science, and Software Engineering is not an engineering. Guides to it are more like guides to writing. Strunk and White, whe
by hyperpallium 7y ago
Yes. And Computer Science is not a science, and Software Engineering is not an engineering.
Guides to it are more like guides to writing. Strunk and White, where is your empirical data? What's your control? Where are your PDE's?
Some also have aspects of business productivity books, with well-known common-sense ideas, like In Search of Excellence (which made up case studies, and a co-author said what's the problem?)
Even Fred Brooks' Mythical Man-Month - informed by his leadership of the massive bet-the-company "360" project at IBM - lacks data. It's still great though (in, uh... my subjective opinion, I guess).
- 2_listerine_pls 7y agoEngineering is the application of science. A civil engineer uses laws regarding compression, stress, etc... to build its buildings. If you apply scientifically derived principles when building software then You are a software engineer.
- criddell 7y agoThat depends on what jurisdiction you are in. The title of engineer is protected in lots of places and the description of software engineer is very specific and effectively regulated. That is, a software engineer is licensed.
- Ozzie_osman 7y agoI'd love to see what those scientifically derived principles are. If I'm building a bridge, there are equations based on physics I can use. Like I mentioned in a separate thread, software is far more removed from those physics.
- eitland 7y agoWhile not exact physics we have plenty of real world constraints that we skillfully (or not) work our way around or use for our advantage, here are two : - Amdalhls law - Moores law
- hyperpallium 7y agoGP may be implying from the conditional that there aren't any software engineers.
- streetcat1 7y agoSoftware engineering is engineering in the same sense the mechanical engineering is engineering. The only difference is that with software your materials are descriptions. I.e. you describe something, give to the computer and the computer turn itself into this something . In the end, there is a physical entity in the world (the hardware), which turned itself into a unique machine based on your description (for example an ATM). While in mechanical engineering, you materials are physical, which might make it easier to explain.
- hyperpallium 7y agoThat is a valid argument if your concept of a mechanical engineer includes anyone who designs a machine; for example improvising levers, pulleys, gears to achieve some end. I guess it is all "engineering" in a casual, tinkering sense. But a professional engineer, with a Mech Eng degree who uses mathematical models of stress and strain etc, who did lots of tinkering as a kid, might not agree.
- ende 7y agoAgain with the over emphasis on “state sanctioned recognition”.
- TeMPOraL 7y agoSo will you call anyone that tells people what chemicals to ingest when "a doctor"? Will you call anyone on the Internet commenting on legal issues "a lawyer"? Or would you prefer people emphasize the meaning of "state sanctioned recognition" in these cases? Engineering is like law and medicine, in that it requires high skill and can hurt a lot of people if done badly. Not every country has engineering licensing, but I find myself increasingly agreeing with those that do. I feel calling software development engineering is mostly false advertising right now, only trying to capitalize on (and devalue) the status that engineering has in society.
- Ozzie_osman 7y agoI disagree. Engineering disciplines vary in how far removed they are from the underlying physics and how malleable they are. Building a bridge (or civil engineering) is very connected to the underlying physics. A set of equations give you the answers. It's also not malleable. You design it once, then build it, putting in some margins of safety to account for any variances in underlying material or potential usage, then it's pretty much not malleable. Mechanical engineering is a little more removed. You have moving parts, interconnected pieces, wear and tear, etc. Now you have to lean heavily on preventative maintenance, ability to replace worn parts, etc. Hardware is more removed. Software is even more removed. The laws of physics are there, but there are so many man-made layers of abstractions on top of it that "good architecture" is a lot less like what you'd expect in a typical engineering discipline. Not saying any is easier than the other, just that they are very different disciplines.
- eitland 7y ago> Even Fred Brooks' Mythical Man-Month - informed by his leadership of the massive bet-the-company "360" project at IBM - lacks data. It's still great though (in, uh... my subjective opinion, I guess). I have just read that book. It is the computer book with most tables pr page of any I have seen. How you come to this conclusion is beyond me.
- hyperpallium 7y agoThe "data" in this context is empirical data in support of the hypothesis that the man-month is mythical (aka adding people to a late project makes it later). You also need a control. Similar for other hypotheses, such as a "programming product" and "programming systems" take three times longer than a "program" (written by e.g. a garage duo). BTW Your "beyond me" was unnecessary. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- hyperpallium 7y agoThought I'd better check this. I went through the book's eponymous chapter 2 The Mythical Man-Month (p.14, 1975 ed), and it has not a single table; not a single datum. It has many graphs, without data points, and the text and their smoothness indicate they are graphs of functions, not data. I have a disturbing feeling that the downvoters in this thread simply don't know what it means to validate a mathematical model with data. BTW It's not a criticism of the field that it's not yet an engineering. It's just where it is at the moment.
- blub 7y agoA philosophical book of essays about software from 1975 is not relevant for a set of recommendations on architecture 44 years later. You are correct that chapter two lacks supporting evidence. And that's a problem for the book, it doesn't mean it's ok to omit data everywhere now.
- eitland 7y ago
- proc0 7y ago"Engineer" Origin: Middle English (denoting a designer and constructor of fortifications and weapons; formerly also as ingineer ): in early use from Old French engigneor. Also shares same root as Engine I assume. Engineers are experts in system building or some kind, the earliest being weapons, then transportation, etc. Software Engineer is 100% an engineering role IF you are making what could be called a kind of engine. Prime example is working on a game engine's source code, and design (i.e. Unreal, Unity...), or working on a custom operating system. I've seen many people try to downplay how much software has these "engine-like" properties, where you have to pay attention at the "moving parts" (runtime), and those people simply don't see the invisible machine that's doing the work.
- snorkasaurus 7y agoOr in a non-medieval context, an engineer is member of a professional association of engineers whose rights and responsibilities are legislated. And imo, anyone who calls themselves an engineer but isn't a member of a professional association of engineers is misrepresenting themselves.
- proc0 7y agoThat's like saying no one can be an artist because they're not a member of the official artist club. I'm sure the term engineer outdates any professional association.
- snorkasaurus 7y agoActually it's just being respectful. I'm not an engineer, but I work with a lot of engineers who actually have the qualifications to call themselves engineers, so if I call myself one, I'm essentially lying.
- SAI_Peregrinus 7y agoI am an Engineer, in that my degree is in engineering, and my job is in engineering. I am not a Professional Engineer, in that I have not taken the Fundamentals of Engineering exam, passed, worked for at least 4 years under a Professional Engineer, and then taken the Principles and Practice of Engineering exam. So I can't put EIT or PE after my name, stamp projects which require it, or operate as a PE in any state.
- temac 7y ago> Software Engineering is not an engineering For those who refuse to practice engineering, casting that self-fulfilling prophecy over and over instead, yes, what they call "Software Engineering" is not engineering. They are tons of people who practice Software Engineering as proper engineering for decades, as most people (everybody?) should do. At least take an other word if you want to designate your practice related to software development that is not engineering, and define it in detail.