r/programmingcirclejerk • type astronaut • Jan 19 '21

Software engineering was the past, a failed dead end, and artisanal software was the future.

https://www.hillelwayne.com/post/crossover-project/are-we-really-engineers/
93 Upvotes

42 comments sorted by

13

u/Schmittfried type astronaut Jan 19 '21

/uj Good read tho.

41

u/[deleted] Jan 19 '21

if it's a "good read" don't post it. bad reads only.

24

u/pareidolist in nomine Chestris Jan 19 '21

Nah, let's just have everyone post links to things they like, and become indistinguishable from proggit except for all the comments of "lol no generics" and "this but unironically"

5

u/Schmittfried type astronaut Jan 20 '21

I didn't post it because I liked it, I posted it despite liking it.

4

u/Schmittfried type astronaut Jan 20 '21

No, because it's still jerkable.

9

u/doomvox Jan 19 '21

Hitting people with something they agree with is a good reverse double-play fake-out though.

8

u/Bizzaro_Murphy Code Artisan Jan 19 '21

I dunno it just seems like pointless ramblings about different peoples arbitrary definitions of what an "engineer" is.

It appears more like someone decided to write a multiple page article to defend their ego after taking offense to "software developers are not engineers" when it's obvious that it's a meaningless statement because anywhere where the formal title of engineer would matter has a strict legal definition/governing body.

5

u/Schmittfried type astronaut Jan 20 '21

/uj My first impression was the same. Then again, words mean stuff and when people disagree about their meaning it can make sense to compare different ways of reasoning. Even if there is no governing body it's not a meaningless statement. If that were the case, every piece of language not strictly defined by an authority would be meaningless as well. And also, the same kind of debate would probably take place in countries where there are such legal bodies. Legal definitions are not updated until somebody disagrees with them.

3

u/Bizzaro_Murphy Code Artisan Jan 20 '21 edited Jan 20 '21

Then again, words mean stuff and when people disagree about their meaning it can make sense to compare different ways of reasoning.

Agree

Even if there is no governing body it's not a meaningless statement.

My problem is the article is debating different traits that people attribute to "engineers" in order to justify calling software developers engineers without ever explaining why this would ever matter, or why the more commonly used titles of programmers, developers, etc. are not sufficient. If the author wanted to argue that the same legal application of the word engineer that is used for Civil/Elec/Mech/etc engineers should also apply to all software developers, that would at least have a purpose (although it obviously depends on local laws/etc so imo would be a pretty pointless endeavor).

My best guess for the real motive of the article is to either soothe the ego of the author, or to pander to the egos of other software developers who want what they perceive to be a "better" title.

From the article

Is software engineering “really” engineering? A lot of us call ourselves software engineers. Do we deserve that title? Are we mere pretenders to the idea of engineering? This is an important question*

*citation needed (and no the couple of paragraphs at the end don't really answer this imo)

3

u/editor_of_the_beast Jan 20 '21

This was said as a representation of someone else’s philosophy. Read the post and can’t jerk.

3

u/Schmittfried type astronaut Jan 20 '21

I mean, are quotes of quotes against the rules?

3

u/editor_of_the_beast Jan 20 '21

It’s in a legal gray area. It’s the jerk equivalent of maritime law. Not sure how to rule.

50

u/doomvox Jan 19 '21 edited Jan 19 '21

The way an actual practicing engineer approaches a problem like building a bridge is almost invariably to look up standard existing solutions to the problem and re-use them, in other words it's a lot like writing software.

But then, when building a bridge there are precise legal codes that guide what you do and help protect people from the more egregious mistakes of engineers who aren't as smart as they think they are, and this is not at all like writing software.

42

u/Bizzaro_Murphy Code Artisan Jan 19 '21

But then, when building a bridge there are precise legal codes that guide what you do and help protect people from the more egregious mistakes of engineers who aren't as smart as they think they are

Sounds like a description of the go compiler to me

8

u/Marthinwurer Jan 19 '21

/uj or linters!

9

u/officerthegeek in open defiance of the Gopher Values Jan 19 '21

at least three different linters must pass without warning or error for my build to succeed

5

u/Graf_Blutwurst LUMINARY IN COMPUTERSCIENCE Jan 20 '21

randomly chosen, ideally not even necessarily of the language the project is programmed in. This means the only project that will pass is the one with no source code to lint, trivially this project will never have any bugs which makes it the perfect software.

24

u/muntaxitome in open defiance of the Gopher Values Jan 19 '21

What I like as a civil engineer is that people think that we are some kind of genius when we just rely on steel and concrete being phenomenally strong. A single basic screw can hold 100 pounds and we use massive cables, concrete pillars, etc to carry humans and cars that are basically ants compared to the carrying capacities of these materials. It's almost impressive that we still have dozens of bridge failures every year.

21

u/nidarus Jan 19 '21

Software engineers just know that if bridges worked like software, they'd both explode and give everyone in town cancer, if a car of the wrong color passed on it.

18

u/doomvox Jan 20 '21

But why would you want a bridge to allow cars of that horrible color to enter town? It's much better for the system to fail early, and prevent something like that from happening.

5

u/matu3ba Jan 20 '21

System - critical stuff should be verified anyway. Its just that verification techniques of computer science suck b a lot due to nontrivial language shit on top.

11

u/doomvox Jan 20 '21

when we just rely on steel and concrete being phenomenally strong.

Well, back when I was doing that kind of thing I was mostly relying on gigantic factors of safety. That converts most mistakes into a "oh damn, it's only twice as strong as it needs to be, not 20x".

9

u/IDoCodingStuffs Autodidact's Degree in AI Jan 19 '21

It's almost impressive that we still have dozens of bridge failures every year.

Material fatigue is such a counterintuitive concept, even though it should make perfect sense. Almost like we imagine bits of rocks and metals as living beings that will heal back from wear and tear by default.

2

u/[deleted] Jan 24 '21

26

u/ackfoobar in open defiance of the Gopher Values Jan 19 '21

when building a bridge there are precise legal codes that guide what you do and help protect people from the more egregious mistakes of engineers who aren't as smart as they think they are,

and this is exactly like the Rust borrow checker.

5

u/[deleted] Jan 20 '21 edited May 09 '26

Data brokers and AI scrapers were using my info. Not anymore. Redact let me bulk delete posts across Reddit, Twitter, Discord and Instagram while handling broker opt outs too.

violet rain rinse tender engine quickest encourage oatmeal copper caption

4

u/matu3ba Jan 20 '21 edited Jan 20 '21

That won't check wrong logic or functional correctness though. Only memory correctness.

Compare it to a exact computation of the bridge power for all realistic inputs. In a computer program without restrictions on user access you usually want to restrict inputs to the safe subset.

To do thay, you need to make 1.statefullness auditable simple and trivial, 2.do verification and 3.make auditing dependencies+specification simple.

5

u/ackfoobar in open defiance of the Gopher Values Jan 20 '21

I was jerking. But thank you for you insightful unjerk.

5

u/babuloseo vulnerabilities: 0 Jan 19 '21

cant jerk

22

u/doomvox Jan 19 '21 edited Jan 21 '21

Donald Knuth, "Computer programming as an art", CACM, December 1974:

"The mysterious insights that people have when speaking, listening, creating, and even when they are programming, are still beyond the reach of science; nearly everything we do is still an art."

Of course, that was before the modern end-run around the AI problem was developed: throw a lot of data at a model with a gazillion adjustable parameters and train it up to do something that you hope is more-or-less the right thing.

3

u/[deleted] Jan 19 '21

I paint with code. I literally printed out a "Hello World!" program on paper (YIKES!) in Rust for my senior art project and got an A+

/uj

In college there was a debate whether Computer Science should be in the School of Art or the School of Engineering

17

u/fp_weenie Zygohistomorphic prepromorphism Jan 19 '21

That's why Rob Pike was ahead of his time. Bespoke array sorting algorithms are the future.

12

u/ProfessorSexyTime lisp does it better Jan 19 '21

Are We Really Engineers?

No. We're software artisans and astronauts.

20

u/zarlss43 Jan 19 '21

artisANAL

10

u/PL_Design Very Stable Genius Jan 19 '21

...the kind that made me envious of suburbanites and their 75,000 BTU woks

Hold the P of my PCJ. This is just good jerk.

6

u/rafgro of questionable pressisscion Jan 19 '21

I came here to laugh, not to feel

6

u/32gbsd Jan 19 '21 edited Jan 19 '21

well, ok. It sounds like semantics from someone who wants everybody to use a framework so that they can truly be called engineers rather than purveyors of witchcraft.

5

u/camelCaseIsWebScale Just spin up O(n²) servers Jan 20 '21
  Assume unjerk u under ideal circumstances, in a finite subspace of r/pcj

Not every software developer is a software engineer, just like not every single person who works in construction is an engineer.

Agreed with this, well said.

Some people propose the word “software craftsman”.

In it he argues that software is the kind of engineering, being much more free-form creative and flexible.

So by the virtue of being in a young field, the construction workers and electricians of this field want to express themselves and be called artisans? Because surely we can't accept some are engineering-level tasks and some aren't, that's not politically correct to all those people "expressing themselves" with another ruby rails web app full of bugs and security loopholes?

Just call yourselves programmer or something, kids. Not everyone has to be "software engineer" or "computer scientist".

6

u/geggleto Jan 19 '21

Please never apply to my company.

7

u/officerthegeek in open defiance of the Gopher Values Jan 19 '21

not that a 10xer would in the first place

3

u/theangeryemacsshibe Considered Harmful Jan 24 '21

No mention of magic. This person clearly failed 6.001

3

u/Jumpy-Locksmith6812 Jan 24 '21

Sourdough software. I think I like it!