garote: (programmer)
[personal profile] garote
  • Programmers have more logical minds than other people.

When working with computers, I find a lot of discrete math concepts to be useful. You gotta know your ANDs and ORs inside-out. But what does a "logical mind" even look like? Personally, my life is motivated by bicycling, puns, relentless curiosity, snuggling, and snacks. Every one of those motivations is irrational. My thought process is a fishing net wrapped around those things. How logical can it be, really?

  • Programming is a single discipline.
  • There is a meaningful concept behind the term "full-stack developer".

Nah; it's a grab-bag of frameworks, cloud services, browser standards, platform variations, and so on. It's possible to find two self-identified "full-stack" developers whose working knowledge overlap is limited to basic HTML and lightweight browser debugging.

For example: A "full-stack" developer who:

Uses AWS to host a database application written in F# on the .NET platform using Fable to transpile the F# to javascript, with an Elmish messaging model and a front end laid out using standard React components, and data supplied by GraphQL. (This developer does not touch a single line of Javscript except perhaps when debugging.)

And a "full-stack" developer who:

Uses a virtualized linux hosting provider to run an interactive, high-volume visual data browsing tool, written in Python on the back end using the Django ORM to store data, and using typescript to build the front-end code using custom UI components styled with custom CSS, and an SVG-and-canvas-based tile rendering pipeline to keep the browsing experience fluid.

(I have done both, and several other variants that also have virtually no overlap among them, including obsolete ones like using Perl and cgi-bin to render raw HTML with all interaction through forms, and using Flash to construct a "serverless" interactive game. Oh, and all those Java plugins; who can forget those?)

  • Programmers are better at picking up disparate knowledge from other domains than other professionals.
  • All programming languages are the same because Turing something handwave.
  • 10× programmers exist.

Not as generalists, definitely. Though I will say this: Programmers who have massive knowledge of a very specific domain, and the ability to explain it, do exist. When surrounded by a highly functional team, those people can reduce the number of mistakes by 10x. That benefit is very real.

Drop them into an unfamiliar context, or take away the team, and that benefit goes away.

  • It’s easy to make a good UX as long as the core problem domain code is sound.

Yeah, and if you build a really great engine, then all you need to do is bolt a chair to it, and you've got a really great car!

  • Hand-written assembly is better than compiled code.

I think anyone who has ever tried to make a really goood French Cruller donut at home will undersand how this could be wrong.

  • Social problems have technical solutions.
  • Social problems are of overriding importance in programming.

These are interesting ones. I find more truth in the statement that "technical solutions tend to create social problems", or at least invent new kinds of dysfunction. But I think there is also a strange trend of considering all software development to be a political act.

This probably comes from the assumption that all software development is meant to interconnect with an anonymous end-user, or at least have an audience, and through that it shapes the flow of social influence or power, and is therefore tangled in politics -- social, sexual, legal, et cetera. But that's a reductive argument, because if that makes all programming political, then it makes everything else political for the same reasons.

People in this new century generally don't remember it - or weren't alive for it - but there was a span of time when computer programming was something that usually happened on non-networked devices, as people manipulated data for their own personal ends. I'm not saying that made it apolitical; I'm saying that it made the end user and the audience a far smaller part of the process. Companies wrote code to handle their own internal procedures. Individuals wrote code to amuse themselves with the blinky lights, and what they created often never left the device they wrote it with. I grew up during that time and was surrounded by code that was parochial. It had nothing to say about society or politics, except perhaps that I lived in an area with enough affluence to give me and my friends the spare time to poke at computers and learn a trade.

On the other hand, some code - like the code that chooses what to drop into a social networking "feed" - is astonishingly political.

Date: 2023-02-06 07:58 pm (UTC)
peristaltor: (Default)
From: [personal profile] peristaltor
…a social problem like inter-group warfare can be greatly reduced by the technology of better communications systems.

Here, I would argue that you example actually presents a case for the same tech increasing the severity of tensions. Consider what happens, for example, when someone at the helm of a tech company or in government and with access to that helm decides to up the ante on propaganda. Better communications tech, better message propagation.

…you seem to be making the case that a software team's inability to see all ends, or the deadline pressure that causes them to miss bugs, belongs in the same category as a software design decision….

O'Neal's book has some pretty grievous examples of missed "bugs," so grievous, in my opinion, that calling them merely "bugs" hardly removes the insult they provoked. That's where I was going with calling these situations "political" as in a situation where one party is hardly being politic.

While I do like your twig tech example, I still take issue with lumping all tech, from twigs on up, as a group. Each tool is developed for a task. Even two tools for the same task can approach the task in such different ways that to lump them both as "tech" raises interesting questions, and (hopefully) forces people to recognize other approaches exist.

When a person uses a device and they personally have almost no understanding of how it works…

…the onus of responsibility lies on the developer.

Sadly, US laws have largely missed that responsibility. In the UK, it's called the Duty of Care; in the EU, the laws lean more toward a phrase that for the moment escapes me, but it can be summarized as "if it was reasonable for you to foresee the harms from the practice, you should have done so." Our US ticky-box compliance culture has given a pass to the harms currently underway.

Date: 2023-02-06 08:10 pm (UTC)
peristaltor: (Default)
From: [personal profile] peristaltor
The Precautionary Principle! That's the EU's thing.

Profile

garote: (Default)
garote

July 2025

S M T W T F S
   12 345
6 789101112
13141516171819
20212223242526
2728293031  

Most Popular Tags

Page Summary

Page generated Jul. 21st, 2025 07:02 pm