

Software engineers are lazy bastards - bluejekyll
http://blog.benjaminfry.com/2015/06/software-engineers-are-lazy-bastards.html?spref=tw&m=1

======
maerF0x0
As I've understood it engineers in other disciplines often have goto specs for
various things: x inches of steel will hold such and such a weight material y
can handle a current of z at gauge g, etc

Why hasnt this been standardized in SENG? Maybe we should have simple
components that are used in all cases and engineers become more like people
playing with legos, fitting pieces together instead of inventing new blocks
over and over.

~~~
woah
I think you just described the motivation behind every library, framework, and
platform ever. To your credit, it is a great idea.

------
sigsergv
A bridge is a bad example. Bridge analog in software engineering is a bodyshop
that creates typical e-shops for example. And the first (comparable to modern
software projects) “hard” engineering project was Apollo Program. It was so
complex so new engineering approach was introduced to get it done. But such
“hard” engineering projects are relatively rare, software ones are not.

------
gersh
I think engineering discipline is about knowing how much testing is required
to ensure your code is good enough with a high probability.

If you make a change to your code, how much testing is required to know it
works? If you don't write a unit test, will it lead to technical debt? Are you
capable of testing your own code?

------
Dewie3
The article doesn't really get into many methods of verifying and testing
software. If making unit tests was unusual up to very recently, who is to say
that the current focus on unit tests isn't just a local optimum?

\- Generative testing; essentially randomized unit tests. Seems better when
the alternative is to write a bunch of mostly similar unit tests with some
parameters changed in an ad-hoc way.

\- The style of languages like Ada with asserts and pre/post conditions. Aided
with powerful pragmas so that you can turn off checks for production builds
(if that is wanted).

\- Expressive static type systems.

\- <You can probably inform me of even more approaches>

~~~
hiddencost
[http://en.wikipedia.org/wiki/QuickCheck](http://en.wikipedia.org/wiki/QuickCheck)

~~~
hga
And here's something I came across recently:
[http://www.philipreames.com/Blog/2015/05/18/observations-
on-...](http://www.philipreames.com/Blog/2015/05/18/observations-on-fuzzing-
in-practice/)

------
pcunite
I would make a comment but ... I'm too lazy for this post.

