Live data from Hacker News

Why Software Engineering Isn’t Engineering

blog.iancackett.com

31–40 of 59 posts

Re: Why Software Engineering Isn’t Engineering

#31
post #20

Earlier quoted context omitted.

As I'm commenting elsewhere, this is true... I didn't acknowledge that other physical engineering projects do indeed suffer from some of the main problems. What's missing in software engineering is the rigour and ability to reason so precisely about what's being built. I was originally taught (on a Software Engineering degree course) that it doesn't formally fit the definition of engineering, and I've not seen that c…

> What's missing in software engineering is the rigour and ability to reason so precisely about what's being built That's only true if you choose for it to be. There are ways to formally prove that your software is correct but they require a large time tradeoff. For example, the software in the chip in your car has gone through as much engineering rigor as a bridge. Alternatively, look at a cheap toy produced in a sh…

Relevant:

http://www.edn.com/design/automotive/4423428/Toyota-s-killer...

Re: Why Software Engineering Isn’t Engineering

#32

You see this sentiment come up about every few months here. We're not rigorous enough. Or we can't estimate our build time well. Or we don't have any liability. Or we don't have a codified set of morals that govern us. BS. We're still exploring the space, and most of the time the things we build are good enough to work - just like the first wooden planks across streams were good enough. We also do have the capability…

Great point!

Re: Why Software Engineering Isn’t Engineering

#33
post #28

I don't have a particular dog in this fight, but I thought this is interesting: The last O'Reilly Software Architecture Conference had a talk by Glenn Vanderburg titled "why software development is an engineering discipline": https://www.youtube.com/watch?v=zDEpeWQHtFU I think the author of the blogpost does a lot of the things discussed in the talk (e.g. comparing it mostly to civil engineering as opposed to all the…

Yes, very true. And I am also comparing the startup flavour of software development (which I am involved in), rather than perhaps other flavours, such as finance, health care, etc.

Re: Why Software Engineering Isn’t Engineering

#34
post #13

I think "Software Engineer" is just a title given by a place of employment. However, for those who genuinely believe themselves "Software Engineers" I would ask: What was the outside institute that certified your software engineering program? What professional exams did you take in order to be licensed as a software engineer?

Speaking for Germany, an engineer will simply have a university degree. There is no additional exam. Similarly, most software developers will also have a university degree.

The term is actually regulated by law and it depends on the country and sometimes on the state. In Bavaria, for example, in order to call yourself a software engineer (or, for that matter, any kind of engineer), you need to have studied a STE(M) subject for at least three years, at a university or similar [0].

[0] http://www.gesetze-bayern.de/jportal/portal/page/bsbayprod.p...

Re: Why Software Engineering Isn’t Engineering

#35

> "Software engineering estimates and plans often fail to live up to the reality that follows. It seems to be the only engineering discipline in which this is regularly the case." Yeah... nearly stopped reading after that opening statement. There are many reasons why software engineering is different from other forms of engineering. And maybe those reasons are enough to not call it engineering. Personally, I don't th…

> The big difference with software engineering is that the costs of failure are so relatively low that we prefer to go full steam ahead instead of trying to find ways to reduce uncertainty.

I think this is an excellent point. Software is treated with a different level of rigor and respect on safety-critical projects. Same for embedded systems where the cost of updating a system is prohibitive.

I do think that there is an engineering discipline in software, just that most people aren't practicing it.

Re: Why Software Engineering Isn’t Engineering

#36
post #2

His argument against calling it "engineering" is because we don't properly estimate our time? To me, engineering is a way of thinking, it's all about problem solving.

> To me, engineering is a way of thinking, it's all about problem solving.

Interesting. I would say it's all about the problem solving process.

Re: Why Software Engineering Isn’t Engineering

#37
post #20

Earlier quoted context omitted.

As I'm commenting elsewhere, this is true... I didn't acknowledge that other physical engineering projects do indeed suffer from some of the main problems. What's missing in software engineering is the rigour and ability to reason so precisely about what's being built. I was originally taught (on a Software Engineering degree course) that it doesn't formally fit the definition of engineering, and I've not seen that c…

> What's missing in software engineering is the rigour and ability to reason so precisely about what's being built That's only true if you choose for it to be. There are ways to formally prove that your software is correct but they require a large time tradeoff. For example, the software in the chip in your car has gone through as much engineering rigor as a bridge. Alternatively, look at a cheap toy produced in a sh…

Screw-ups happen in traditional engineering one story I was told at college was using the wrong fixing for attaching steering wheels leading to cases of the steering wheel coming away from the steering Colum whilst the car was in motion.

And the civil engineers I used to work for had a bridge fall of its supports :-) I had to reverse engineer some software to help find the reason for that.

Re: Why Software Engineering Isn’t Engineering

#38
post #20

Earlier quoted context omitted.

As I'm commenting elsewhere, this is true... I didn't acknowledge that other physical engineering projects do indeed suffer from some of the main problems. What's missing in software engineering is the rigour and ability to reason so precisely about what's being built. I was originally taught (on a Software Engineering degree course) that it doesn't formally fit the definition of engineering, and I've not seen that c…

> What's missing in software engineering is the rigour and ability to reason so precisely about what's being built That's only true if you choose for it to be. There are ways to formally prove that your software is correct but they require a large time tradeoff. For example, the software in the chip in your car has gone through as much engineering rigor as a bridge. Alternatively, look at a cheap toy produced in a sh…

For example, the software in the chip in your car has gone through as much engineering rigor as a bridge.

We'd like to think so. I currently do some work for a static analysis company that has many, many customers in the automotive industry. The MISRA rules are part of the standard package bought by these customers, and an awful lot of MISRA violations will be caught by the analysis.

Then you get the example of Toyota, who I am pretty sure are one of the customers of my current employer (and some of their subcontractors/suppliers are also customers). They definitely had the opportunity to identify the failings in their software (some of which would definitely have been caught; recursion, for example) and either ignored the results, or just plain didn't bother.

Re: Why Software Engineering Isn’t Engineering

#39

Earlier quoted context omitted.

Sorry, I meant to say software architect .

That's a great point, and one of the reasons I was originally taught it isn't "engineering", strictly. I think we do a lot of what counts as engineering. But, you're right, we aren't formally certified as an engineer. Perhaps that (and the required rigour) will change.

It depends you can jump trough the hoops to get Ceng status but the one of the problems is the BCS/IEEE keep changing the goal posts for those going the industry experience route

The other bigger elephant is what in it for me what have the BCS / IEEE actually done anything to improve the status of engineers.

In the UK Jeremy Clarkson's 1 hour documentary on Brunel has probably done more for the profile of engineers than the IEEE has done in the last 25 years.

Re: Why Software Engineering Isn’t Engineering

#40

You see this sentiment come up about every few months here. We're not rigorous enough. Or we can't estimate our build time well. Or we don't have any liability. Or we don't have a codified set of morals that govern us. BS. We're still exploring the space, and most of the time the things we build are good enough to work - just like the first wooden planks across streams were good enough. We also do have the capability…

Hit the nail on the head with this. Engineering started off as rules of thumb and best practice. SE is an emerging field. In 50 - 100 years i think we'll have it down.

Also regular constraints don't apply to software that normally would in construction fields. Gravity and mass and other real constraints are not present in program construction. Time and complexity are massive issues, but imagination and the mental model of a process is the usual barrier. Just think about anything web scale, (google docs?) its impressive for 'meh' engineering.

Post reply on HN