Live data from Hacker News

No dogs were harmed in the making of this app

shmck.substack.com

151–160 of 202 posts

Re: No dogs were harmed in the making of this app

#151
post #92

Earlier quoted context omitted.

Why not hire hardware engineers to write software then?

Because software development isnt an engineering task. Engineers are good at building bridges, and artists are good at making paintings. That doesnt mean it is a good idea to have the engineers paint paintings.

It might help to learn a little more about Engineering.

Leaving aside the four splits, Civil, Mechanical, Electrical, and Electronic with the obvious corollary that few Engineers build bridges, I'm reminded of my first student Engineering project back in 1983 (ish).

Building a sheep shearing robot - hardware and software, with no pre existing libraries of control software, etc.

https://research-repository.uwa.edu.au/en/clippings/how-nece...

https://www.cambridge.org/core/journals/robotica/article/abs...

https://www.youtube.com/watch?v=6ZAh2zv7TMM

A great chunk of software was written by Peter Kovesi .. a mechanical engineer still working on computer vision projects today: https://peterkovesi.com/projects/

You sound more than a little ignorant of the breadth and depth of talent in the world and more than a little inclined to believe that people can be boxed up and ring fenced by your particular world view.

No sheep were harmed in the making of this robot. Sheep literally fell asleep when secured.

Re: No dogs were harmed in the making of this app

#152
post #47

Earlier quoted context omitted.

It's mostly just a joke about how these roles do their jobs. But I think it's also partly illuminating the fact that hardware engineers are true engineers, while software engineers mostly aren't.

I think "software engineers aren't really engineers" is putting "real engineering" on a pedestal that is borne of ignorance. Hillel Wayne's engineer interviews were eye-opening on this: https://www.hillelwayne.com/post/are-we-really-engineers/

I liked these interviews but I do find the result kind of... apathetic? I feel like you can read these and just come to a sense that nothing is engineering because everything is amorphous, which is not (I think) Hillel’s thesis but he doesn’t really want to anchor the discussion in principle because he is fundamentally asking for opinions.

For a more principled approach, I would say (as one of these “licensed engineers who has not done as much actual engineering”) that engineering as I have seen it kind of has three really major themes:

• Prototyping/building/creation. Tinkering. I guess the reason we don't talk about this is that everybody finds it trivial? But when you talk to ChemEs and they discuss optimizing pipelines for chemical processes you do see that it can get a little abstract so it's worth pointing to as a baseline.

• An underlying scientific theory that guides the models used. Building stuff has happened since way before science but engineering is clearly a postscientific endeavor, “here’s the underlying mechanical principles of how this works.” This is probably the sketchier principle in how we talk about “is this software design really engineering,” we tend to not have a firm scientific understanding of the problem domain of building software. Some things like CAP theorem, patch theories in version control (Darcs, Pijul), distributed consensus algorithms, TCP/IP, I would say really rise to that challenge and say something hard-learned about real systems. Things like OS kernels also have so much trial and error, so much prototyping that it feels like “yes you really did do enough hypothesis-test-reëvaluate cycles that the result embodies a model of the problem domain that counts as a scientific understanding.” But a lot of our work is just gluing systems together and that seems more “electrician” than “electrical engineering.” Now, science uses math, so people think of engineering as highly mathematical, I am not sure that it has to be. Whereas I do think it has to be scientifically based.

• The last big thing that I think we don't talk about enough is risk assessment. The reason that we’re doing all of this science and math to build a bridge, is so that we can assess how strong it needs to be to just barely survive the peak loads that it will ever have, and then double that strength just in case.

I think that when we say “not all programmers are doing software engineering” a good proxy for that is looking at, first, do you have a scientific model of the sorts of approaches that you can do; and then, do you use it to assess numerically the kind of loads that your system will come under up-front and design accordingly—writes per second, queries per second—and set realistic targets and choose caching and consensus and whatever else to achieve those and measure that you have... Or do you work via crude heuristics, “we use Kubernetes so I'm sure it will scale later, we do ‘best practices’ so we don't have to think about those,” and related kludges where we can comfortably say you're just tinkering rather than being principled about it.

And then, this reveals that maybe you don't need to be doing engineering, maybe you really do just need to tinker in the problem space while you achieve better product-market fit. Maybe you are doing science rather than engineering, and that is okay. Like, the idea that you are going to launch the next space shuttle with your reliability, I am sure that makes for a very energized, focused workplace, but it's not a precondition, it's not the only way to get there.

Re: No dogs were harmed in the making of this app

#153
post #19

A physicist friend used to quote Rutherford, all science is either physics or stamp collecting. By which my friend meant, physics has a way of being checked by physical reality in a way that math or computer science don't. His area of work was extreme magnetic fields. Experimenting meant building giant copper coils, running enough current in them to melt them in place, and then very quickly detonating explosive aroun…

> So when he looked at math PhD students who at most got chalk dust onto their sweater, calling themselves scientists, he disagreed.

I've not found mathematicians calling themselves scientists. In fact, it's usually the opposite: they boast that they are not scientists and are not limited by petty reality.

Re: No dogs were harmed in the making of this app

#154
post #87

I've developed a real distaste for the people whining about how we aren't real engineers and we "just" need to solve that by working more like real engineers and having all these massive up-front design meetings and making tons more plans, etc. etc. It betrays a profound misunderstanding of the situation. The other engineering disciplines don't work like that because they're just soooo much more professional than us.…

I might be misreading but I think you're missing the forest for the trees. It's not about the upfront planning, meetings or whatnot, those are consequences of prior criteria. This is what engineering is: 1-A practical problem is being solved in a scientific way. 2-Safety, repeatability, understanding of the how and why of the solution are non-negotiable. 3-The person solving the problem has been credentialed as an en…

> 3-The person solving the problem has been credentialed as an engineer in both ethics and scientific rigour.

>4-Because he is credentialed, there is non-waivable liability for the engineer signing off on the solution if it fails.

Both of these are bullshit. The engineers that aren’t yet credentialed but do all of the work that the PE signs off on are still certainly engineering.

> 2-Safety, repeatability, understanding of the how and why of the solution are non-negotiable.

Safety critical systems would like a word.

Re: No dogs were harmed in the making of this app

#155
While the low stakes can be seen as a privilege, I could also argue it can be seen as utterly detrimental.

Many of us suffer from mental health issues up to burnout. Why do we burnout if we're not dealing with life or death? Something is psychologically wrong with this job.

This is, obviously, a multidimensional issue, but one of the probable causes is Alienation. Ultimately, some software developers can, consciously or not, question the meaningfulness of spending 40+ hours a week on stuff that is, to a large extent, pointless - even harmful. Sure, the money is good, but how much cash do you need to buy meaning? How deep in the hedonic threadmill can you go before snapping?

I'm not even sure if these questions apply to myself, it's just something that keeps coming up in my own therapy and among friends in the trade.

Re: No dogs were harmed in the making of this app

#156
post #87

I've developed a real distaste for the people whining about how we aren't real engineers and we "just" need to solve that by working more like real engineers and having all these massive up-front design meetings and making tons more plans, etc. etc. It betrays a profound misunderstanding of the situation. The other engineering disciplines don't work like that because they're just soooo much more professional than us.…

I might be misreading but I think you're missing the forest for the trees. It's not about the upfront planning, meetings or whatnot, those are consequences of prior criteria. This is what engineering is: 1-A practical problem is being solved in a scientific way. 2-Safety, repeatability, understanding of the how and why of the solution are non-negotiable. 3-The person solving the problem has been credentialed as an en…

My bleeding linguistic descriptivist heart breaks a little every time I see an argument devolve into squabbling about the meaning of the word "engineer". Like, we can totally debate the merits of applying or not applying those four rules to the practice of creating software, but do we really gain much by arguing about what label we use to represent them?

It's like how the word "literally" has come to be used as an intensifier, not strictly in the (ahem) literal sense of the word - and "objectively" is well on it's way down the same path. You can be angry about that, but it's not going to stop the continuing evolution in how the world uses those terms - and "engineering" as a term is exactly the same.

Re: No dogs were harmed in the making of this app

#157
post #47

Earlier quoted context omitted.

It's mostly just a joke about how these roles do their jobs. But I think it's also partly illuminating the fact that hardware engineers are true engineers, while software engineers mostly aren't.

I think "software engineers aren't really engineers" is putting "real engineering" on a pedestal that is borne of ignorance. Hillel Wayne's engineer interviews were eye-opening on this: https://www.hillelwayne.com/post/are-we-really-engineers/

Programmers calling themselves software engineers suddenly is a very recent phenomenon (barely a decade). Dunno who pushed that, but it's mostly basically (cognitively difficult) Lego at this point.

That said, it's also on the order of a hundred years younger a discipline and our theory is not so well developed.

Re: No dogs were harmed in the making of this app

#158
post #87

I've developed a real distaste for the people whining about how we aren't real engineers and we "just" need to solve that by working more like real engineers and having all these massive up-front design meetings and making tons more plans, etc. etc. It betrays a profound misunderstanding of the situation. The other engineering disciplines don't work like that because they're just soooo much more professional than us.…

Total tangent - one of the things I love about 3D printing is that it's about as close to "ceilingHeight += 6" as you can get in the real world.

Case in point: I modeled a thing today, printed it off, and realized that it would be ever so helpful if one part were about a millimeter thicker. 30 seconds later, version 2 of the part is on its way to the printer.

It's fucking _amazing._ I can't wait for stuff like that to become as mainstream as paper printers are.

Re: No dogs were harmed in the making of this app

#159

Earlier quoted context omitted.

I have a different take. Engineer is basically synonymous with application physicist. Someone why applies the laws of physics to achieve a goal. I don't think this is so much a pedestal, or why some software engineers are passionate. Is being a computer scientist somehow negative?

I think of applied physicist as something very different, closer to science than engineering. The kinds of people who research new battery chemistries, or the techniques to unlock new semiconductor process nodes. Basically, scientists do hardcore research and expand the field, while engineers apply the techniques and formulas that the scientists have discovered, and craftsmen combine prepackaged modules built by engi…

An electrician who designs a complex light panel using 120VAC for use in a habitable or public building needs to submit the plans to the building department to get a permit and certify that it's not a fire hazard. You need to be a Licensed Engineer™ to do certain levels of certification.

People certified to be licensed engineers didn't necessarily graduate from a School of Engineering at a famous university that is also filled with physicists and mathematicians and English literature. Instead they need to study, learn, and pass the tests that legally certify them as Licensed Engineers™ to keep us all safe. It's much of the same material, overlapping, but not the same. They're less likely to consider themselves ready to move over to building rocketships to the moon on the basis of their bachelors degree.

This is the source of all the debate about who is an Engineer and who is not. Licensed Engineers don't want to consider unlicensed engineers as engineers. People who went to universities and had to study a dose of liberal arts along with control theory to get their "Engineering degree" don't want to consider the choo choo Train Engineer™ as an engineer.

In the US there is a bit of academic snobbery around, it's not universal but, University of Michigan is harder to get into academically, and a little more high falutin'. Michigan State is a bit more plebian but more practical. University of Washington vs. Washington State, same thing, and so on. The licensed engineers are more likely to come from the State school, the unlicensed engineers more likely from the University of. Both want recognition for their training, which makes sense.

I'm exaggerating for effect, but this is the issue. Whether software engineers are engineers is a minor skirmish on the flank of this larger war, both because there are no certifications for computer engineers, and because mathematicians are not engineers and programming languages can be studied from a mathematical perspective or from something closer to Electrical Engineering.

Re: No dogs were harmed in the making of this app

#160
Feedback: I opened your page, eager to read, saw the "subscribe to my substack" email popup and just left.

Not salty, just broke my interest. So now I will go about my day without reading your article. p.s. I'm sure it's very good though

Consider saving that popup until I've read some of the article

Post reply on HN