4 ms·
>The creative application of scientific principles to design or develop structures, machines, apparatus, or manufacturing processes, or works utilizing them sin
by hardware2win 4y ago
>The creative application of scientific principles to design or develop structures, machines, apparatus, or manufacturing processes, or works utilizing them singly or in combination; or to construct or operate the same with full cognizance of their design; or to forecast their behavior under specific operating conditions; all as respects an intended function, economics of operation and safety to life and property
Fits software eng. just fine
- rapsey 4y ago> The creative application of scientific principles to design or develop Not even close. But we sure love to claim the principles were scientific. A programmer becomes good at his craft with time and experience. Not by studying in school and learning the principles there. A classic difference between a craft and engineering. How many large construction projects fail due to incorrect engineering compared to large software projects? > or to construct or operate the same with full cognizance of their design; or to forecast their behavior under specific operating conditions; Almost never.
- elvis10ten 4y ago> Almost never Isn’t this the key point? That *most* “software engineering” is not engineering. I can build a bridge and not be an engineer; similarly I can build software and not be an engineer. The properties of the bridge/software is what makes the difference isn’t it? > How many large construction projects fail due to incorrect engineering compared to large software projects? Yes, poor engineering is rampant. But I will argue that malleability also plays a large role in the delta. In traditional engineering you build a car (and you are “done”). In software you build a car and get asked to make it an aeroplane without going back to the drawing board.
- rapsey 4y agoNot comparable at all. You can pay to have a bridge constructed and the project will be defined by an architect, built and inspected following a rigorous and standardized set of steps. You can also pay to have software built. The specs will not be even remotely as precisely defined and the building of the product will not even remotely follow a standardized set of steps. It will come down to a team and individual programmers implementing features as they see fit. Software that was running space shuttles was famously engineered. The costs in terms of time and money was astronomical. > Yes, poor engineering is rampant. But I will argue that malleability also plays a large role in the delta. In traditional engineering you build a car (and you are “done”). In software you build a car and get asked to make it an aeroplane without going back to the drawing board. Which is why it is not engineering. It is a craft much closer to writing a novel than it is to engineering as it looks in other disciplines.
- jcranmer 4y agoConstruction is frequently slapdash. A friend's wife, who works as an engineer, commented that it often seemed like the construction workers were trying to screw everything up on purpose. As-built is frequently different from the original plans, and that's before you take into account all of the change requests that happen in construction, such as the change that caused the Kansas City Hyatt disaster (oops, a single change request doubled the load on a critical beam, causing it to exceed its design strength and fail in the middle of a major party and killing a hundred people).
- rapsey 4y agoConstruction has a standardized set of steps, which when followed will reliably produce a desired outcome. Programming has no such thing because it it can not, it is a fundamentally different discipline that is unlike any other that we call engineering. Negligence is not relevant.
- jcranmer 4y agoCan you give an example of what you think one of these "standardized set of steps" in construction is? My suspicion is that, if you start trying to get specific, you can actually find standardized steps at the same level of abstraction in programming. But since construction superficially looks like "stamp out multiple copies of the same thing" whereas programming is superficially "everything is its own special sauce," people try comparing them at different levels of abstraction.
- drpyser22 4y agoProgramming certainly can follow standardized design and implementation methodologies. I don't think there is anything fundamental about software engineering that prevents that. It doesn't usually happen because there's not enough agreement on all levels of what is the best methodology. Software engineering is young and still sees significant evolution. Principles of software design and engineering are largely agreed upon and applied, but not in a single, concrete and consistent standard because experts still disagree too much on the specifics of applying those principles, and on other controversial principles. And of course there is often no regulations that would require and guarantee the application of such a standard, and no standardized QA by customers.
- hardware2win 4y ago>Not even close. But we sure love to claim the principles were scientific. Software engineer applies computer science theory in real world where he she is constrained by real world factors If computer science is not enough "scientific" the idk >A programmer becomes good at his craft with time and experience. Not by studying in school and learning the principles there. A classic difference between a craft and engineering. All of them are required to become good software engineer. Solid theory, proficiency in hands and exp.
- Dudeman112 4y ago>Software engineer applies computer science theory in real world where he she is constrained by real world factors A good 90% of people with that title are flying blind as if they lived the wild west A good 90% of the rest almost never do that (regardless if because they don't know how, or the company won't let them) The rest will make the news of they fail, so they put an amount of effort and time which reflect that We skipped the "mechanic" equivalent in the software industry and call anyone that can pass fizzbuzz, and who does work like fizzbuzz, an engineer Software engineers do a lot of tinkering, and almost no engineering. Which is fine by me, actual engineering is a PITA and tinkering is where the fun is at
- hardware2win 4y ago>We skipped the "mechanic" equivalent in the software industry and call anyone that can pass fizzbuzz, and who does work like fizzbuzz, an engineer If I have engineer in job_title and engineering degree in informatics, then I m an engineer by your "standards/definitions"?
- Dudeman112 4y agoIs a Mechanical Engineering BSc who ends up working as mechanic on a car shop an engineer? Yes, although those fellas mostly don't pretend their jobs involve designing and validating mechanisms with any scientific and industry regulation / standard rigour Since you didn't specify the job_title involves any actual engineering, I'm gonna assume it doesn't... just like most job_titles I too have a piece of paper saying I'm a Computer Engineer BSc (didn't apply for any of the electronics/CE licenses back home because wages were shit and the license wouldn't have been worth anything overseas) Half of SEs consider the idea of written requirements needless bullshit that just drag you down. Validating your designs with any sort of rigour just isn't there for the vast, vast majority of jobs. As such, calling it "engineering" is a joke If the activities of your regular Software Engineer can be said to be engineering, so should be changing a tyre. There isn't nearly enough rigour in the process to warrant calling it "engineering"