6 ms·
I seems like many posters in this thread try to classify software enineering as either creative or "mindless factory-work". Where actual enineering disciplines
by jeddy3 5y ago
I seems like many posters in this thread try to classify software enineering as either creative or "mindless factory-work".
Where actual enineering disciplines has the risk of removing the creative part.
I think this classification is wrong. There IS NO mindless factory-work.
Just as in other enineering disciplines, our work is not manufacturing. It's just that the actual manufacturing does not exist (or rather is done by compiler)
Software enineering can (just like other enineering) be:
- more scientific
- more pragmatic
- helped by formal methods
without removing the creativity.
Just as "other" enineering (like software):
- is highly creative
- can be artisanal (if wanted, rarely in all projects)
I REALLY feel we can mature in SWE without being afraid of losing creativity.
- hwayne 5y agoAgreed; a while back I interviewed of ex-trad, now-software engineers and found out that 1. Engineering is a lot more personal and creative than we think 2. A large amount of software development is very similar to trad engineering 3. Never walk over a bridge.
- deleted 5y ago[deleted]
- madhadron 5y ago> It's just that the actual manufacturing does not exist (or rather is done by compiler) In good conditions, yes, the drudgery is all done by the compiler. There's still a terrifying number of cases where something hasn't been automated and still qualifies as factory work.
- Swizec 5y ago> It's just that the actual manufacturing does not exist (or rather is done by compiler) Here’s the kicker though: The part that is done by compilers used to be the bulk of software engineering. In his Art and Science book Hamming talks about how programmers rejected the idea of even just automated address assignment. They took great pride in manually managing absolute addressing. Only a sissy who doesn’t know real programming would ever use something so silly as symbolic addressing, to say nothing of compiling from assembly. Ugh! Now we don’t even think about that. Too boring, too solved, too uncreative. There is a lot of engineering that we currently do, which is completely mechanical, mindless, and can be automated away.
- 310ke 5y agoIt seems to go something like this every time: * We create new technology. * There's an explosion of creativity and applications of the technology. * This leads to an explosion in the personalities involved. * Some of these gravitate towards the tedium and expound on it constantly. * Some person or group automates that away and increases the ability to be creative. * Repeat from the top. It's always fun to watch the wheel go around though. Never any shortage of commentary on HN about it!
- rhizome 5y agoAt the very least, I imagine a true engineering version of software development would be fundamentally driven by Big-O. Everything justified and implemented in terms of calculable facts. Repeatability might emerge from this. I think of it this way: what would a CRC manual[1] for software engineering comprise? 1. https://en.wikipedia.org/wiki/CRC_Handbook_of_Chemistry_and_Physics https://en.wikipedia.org/wiki/CRC_Handbook_of_Chemistry_and_...
- goodpoint 5y agoThe problem is that this is only "the very least".
- markrages 5y agoI notice you consistently spell it "enineering", without the first "g" that everybody else uses. Is there a reason for this?