Software engineers aren't real engineers

Concrete is brittle, and has almost no tensile strength. Yet it is used to make beams. Reinforcing steel makes this happen. Not only that, the percentage must be within a certain range so if the beam is overloaded, the steel will yield before the concrete is crushed. That way the beam will hold the overload and the uneducated user will know that there is a problem.

Steel itself is a miracle of engineering. It yeilds, or elongates greatly, when overloaded. Then it develops more strength to hold the overload. That way the uneducated can see that the structure had a problem.
 
Concrete is brittle, and has almost no tensile strength. Yet it is used to make beams. Reinforcing steel makes this happen. Not only that, the percentage must be within a certain range so if the beam is overloaded, the steel will yield before the concrete is crushed. That way the beam will hold the overload and the uneducated user will know that there is a problem.

Yeah, "the percentage must be within a certain range" of concrete and steel. That's one variable that has already been established long before the bridge engineer starts his design. A software program has thousands of variables, most of which have to be determined by the programmer for his specific application.
 
Yeah, "the percentage must be within a certain range" of concrete and steel. That's one variable that has already been established long before the bridge engineer starts his design. A software program has thousands of variables, most of which have to be determined by the programmer for his specific application.

The structural engineer relies on a long history of metallurgy, testing and experience to develop a design that is safe and if overloaded, won't result in crash and burn. The software "engineer" puts out a product and asks "beta" testers to see if it crashes. Then he sells the product and it crashes anyway, so he puts out a new version that only fixes that type of crash.
 
1. Computer engineering isn't an ABET accredited curriculum, like electrical engineering is, so few, if any, are able to obtain a professional license. In most states, therefore, it is illegal to call yourself an engineer without a license.
2. They are constantly putting out crappy versions of their products, that crash and burn. Then they just design a "fix" and require the customer to install it. In the fields of real engineering, such ethics are not tolerated, and they would be forced from the practice. Imagine if the Ford Motor Company routinely put out products that fail routinely. They would have been put out of business decades ago.

Heh. The Ford Motor Company DOES put out products that fail routinely. That's why I don't buy Fords.

There are such things as doctors that are not part of any medical board. They are not doctors of medicine. There are such things as engineers that are not part of civil engineering, electrical engineering, or any licensed form of engineering. Aerospace engineers are typically not licensed at all. They don't even have an FAA license like a mechanic has, nor even a pilot's license. There are a lot of them in Washington State, and the State does not require them to be licensed. They don't require electronics engineers to be licensed either.

There is such a thing as computer engineering. They are not programmers. They have little to do with software at all. They design new computer equipment and it's peripherals. They involve mechanical engineers, electronics engineers, electrical engineers, as well as lithographers and photographers. There is no title 'computer engineer', but there is computer engineering.

That said, your argument has a certain amount of merit. A lot of people that develop software are script kiddies calling themselves engineers. A lot of programmers out there couldn't code their way out of a wet paper bag. It's a real problem.

I design and build instrumentation for industrial controls, aerospace, and medical uses. These sensors are in critical locations. If they fail, loss of life or loss of property can result. Most of these sensors require software to run. That software is also in a position that can cause loss of life or loss of property. It MUST run reliably. The answer to this is thorough testing, which is NOT done by most companies.

Microsoft, for example, hires armies of 'testers', yet they do almost no testing at all. What they do is what is called 'regression testing' over and over. This form of testing is used to determine of a change in code causes a known bug to resurface. It does nothing for new bugs. Thus, Windows is not tested. Neither is Office, nor any any other product from Microsoft. If it compiles and manages to survive regression testing for a week or two, they ship it. This is why most people don't use Windows for web services, cell phones, or any critical application like industrial controls or aerospace controls. There are some, of course, and it is these products that crash and burn.

Apple isn't much better.

In the end, open software is the key. These are systems like Linux and Unix. If a fault develops in a package, people are free to correct it since they have the source already. Some packages are better maintained than others, of course. The quality of programmers writing this stuff is quite wide. Some are brilliant, others suck green tidewater. None are engineers.

Yet, software can and does run in life critical applications and property critical applications. All modern cars today are FADEC designs. That means the engine requires a computer to run them. They have no distributors, no carburetor, not even a cable connecting the accelerator pedal to the engine throttle. They are literally drive by wire. Aircraft too are using FADEC engines. Software runs those engines. If it screws up, the engine may be damaged, and the aircraft itself may be put at risk.

But they run very well. They have done so for years and years. Those glass cockpits you see when you board your flight are designed by engineers, some licensed, some not. They also require good programmers.

Is programming engineering? Generally no. Engineering has to do with the design and maintenance of engines or structure or engine or structural components. Programmers do not design the CPU nor maintain it. They just use it. Networks and software are not structural nor have anything to do with engines (except by application).

Does ABET own engineering? No. It is an accrediting organization. That's all. It is political in nature. They do, however, consider computer programming engineering, so your opening statement is wrong. I generally disagree with them on this point.

Do engineers create crappy products? Sure. Bridges fail, sometimes spectacularly (remember Galloping Gerdy?). Aircraft designs fail, sometimes spectacularly (remember the Comet?). Trains crash because their engineers fell asleep. All of these are developed by civil, mechanical, and aerospace engineers; all licensed. The train engineer is licensed also.

Does a license make an engineer? No. A license is generally an indication of a test completed, a fee paid, or both. That's all. States do not own or create engineers. Other nations have lots of engineers with no license at all. They simply don't require them. Yet, they are engineers.

Engineers are not created by ABET, not created by any license, and not created by any society, political organization, or even a degree. They are engineers because of what they do, not because of a political organization gives them any blessing of any sort.
 
Like Don Quixote, it appears you are shadow boxing wind mills.

I think all of the universities I attended or worked at had a computer science department, and what they offered was a bachelors degree in computer science.

Computer programming is not a science. Science is a set of falsifiable theories, not a computer program.
 
Well, my husband is a software engineer/systems architect. His BS is in industrial engineering, so he is, in fact, a bona fide engineer. He knows over a dozen computer languages including Cobol, SQL, C Sharp, etc. and has written a couple of proprietary ones as well for a system he designed for CIGNA. I think your bitch is with software companies and not software engineers.

Knowing computer languages proves nothing. SQL isn't even a programming language. It's a database language that is rapidly becoming obsolete. COBOL (it's an acronym, all letters are capitalized) is still used in government and large financial departments, but it too is becoming more obsolete by the day. C# is a proprietary programming language written by Microsoft and only fully runs on Microsoft environments. It is useless outside of Windows. I imagine the CIGNA software he developed has more to do with accounting than engineering.

Computers are not engines nor structures though they are machines. He didn't design or maintain either. He has done no engineering.
 
Knowing computer languages proves nothing. SQL isn't even a programming language. It's a database language that is rapidly becoming obsolete. COBOL (it's an acronym, all letters are capitalized) is still used in government and large financial departments, but it too is becoming more obsolete by the day. C# is a proprietary programming language written by Microsoft and only fully runs on Microsoft environments. It is useless outside of Windows. I imagine the CIGNA software he developed has more to do with accounting than engineering.

Computers are not engines nor structures though they are machines. He didn't design or maintain either. He has done no engineering.
So, how do you feel about train engineers, :laugh:
 
Building a large software application is far more challenging that building a car, as far as getting out a "bug free" product.

I have to cry BS on this one. You don't have to know materials science. You don't have to put your life in the hands of your large software application. You don't have to know electronics, mechanical engineering, or even the strength of a bolt you are using in a certain application. You don't even have to 'test drive' it much.

You drive cars, and you look on them on that level, but there is a LOT of engineering that goes into designing a car. That car today contains several large software applications too, BTW.
 
Have you ever known of a computer program that was bug-free?

Have you ever known an engine or structure that was bug free? Every aircraft, every ship, every road, every bridge, every building, every traffic light, every electrical system, ALL of it are compromises in design. Those compromises come from cost of materials, purpose of the object, etc. They ALL have bugs.

Even a 'hello' program in a computer has bugs. It's in the libraries you use.
 
Have you ever known an engine or structure that was bug free? Every aircraft, every ship, every road, every bridge, every building, every traffic light, every electrical system, ALL of it are compromises in design. Those compromises come from cost of materials, purpose of the object, etc. They ALL have bugs.

Even a 'hello' program in a computer has bugs. It's in the libraries you use.

Indeed.
 
Maybe it does, maybe it doesn't. How many new cars crash en masse on their way home from the dealer's showroom?

How many bridges fall into the river the moment someone walks across?

How many building collapse as soon as the tenants move in?

Yet I can't think of a single software program that isn't buggy as fuck, and most (if not all) of them require constant patches to fix shit that the designers didn't get right before they released it.

So "Bobb" the boob is FOS, in my experience.

New cars have both software, and bugs in the design of both their software and in their hardware. No new car is exempted from that. They may not crash, but they do have bugs.
Bridges might not fall into the river, but they too have bugs. They are weak or compromised by simple corrosion, exposure to certain wind speeds, settling of poor soils where the bridge is built, and a possible hazard to ship traffic in the area. They may not fall, but they too have bugs.

Every building, house, or even a shack has bugs in it's design. It might not collapse, unless there is a fire, but they often have inadequate electrical systems, inadequate communications systems, inadequate plumbing, or poorly designed HVAC systems. Yes, buildings have bugs.
 
Only a fcking moron would compare a bridge to a large software application. Are you a fcking moron? Bridges are very simple and do only one thing. Have you written a large bug-free software application, or you just a fcking moron who has no ability to even begin to grasp the complexity of software?

Not as simple as they look. They have to withstand shifting loads of various kinds, shifting weather conditions, a wide variety of current conditions if built over water, and shifting land. Indeed, the beautiful designs in many bridges are there because of they way they cope with one or more of these threats. They are all a compromise though. They do not cope well with other threats because of them.
 
New cars have both software, and bugs in the design of both their software and in their hardware. No new car is exempted from that. They may not crash, but they do have bugs.
Bridges might not fall into the river, but they too have bugs. They are weak or compromised by simple corrosion, exposure to certain wind speeds, settling of poor soils where the bridge is built, and a possible hazard to ship traffic in the area. They may not fall, but they too have bugs.

Every building, house, or even a shack has bugs in it's design. It might not collapse, unless there is a fire, but they often have inadequate electrical systems, inadequate communications systems, inadequate plumbing, or poorly designed HVAC systems. Yes, buildings have bugs.

Indeed. I can't recall a time when a building I have occupied failed to allow ingress or provide shelter, though. I can think of plenty of software glitches that prevented me from using the functionality the program was designed to provide.
 
Exposed to the elements? I guess we should use cement instead of paper. That was easy.

No bridges are made out of cement. Cement has practically no strength by itself. That's why it is mixed with stones and sand to produce concrete. Concrete has almost no tensile strength nor shear strength. It is best for compressive strength.

That simply overpass you see is not just cement. It's a composite structure. Concrete itself is a composite material. To gain tensile and shear strength necessary for that overpass to stand, you need steel reinforcing bars embedded in the concrete. Steel has much better tensile and shear strength, but is lousy at compressive strength.

It is also not a ridge structure. It's supports are designed to move without damage in most minor earthquakes. It's roadbed is designed to distribute a wide variety of changing loads to the support structure.

A bridge is literally a machine. It requires continuous maintenance. Even an overpass.

Computer programs don't use paper. They are bits in the memory of the computer. That is all they are.
 
Boeing is in big trouble because of a software problem. Two planes down in as many weeks, 300 souls gone. Go ahead, tell me that software is more complex than the world's most successful commercial airliner.

WRONG. It is not a software problem. It is a failure to use the sensors that are already there properly.

This 'software' problem is the same one that hit Toyota awhile ago with their 'sticking' accelerators. It is the use of a single sensor for a critical function. The ironic thing is, a 2nd sensor is already built into the aircraft, but they weren't using it. Now they do. The problem is fixed in exactly the same way Toyota fixed theirs (by using a 2nd sensor for the accelerator pedal).

Yes, it can be fixed in the software, but it's the design of the system as a whole, not just a software program.
 
Back
Top