← Back to context

Comment by thedelanyo

1 day ago

"one being so good that anyone can become a software engineer".

Of course, smartphones' cameras are so good and accessible, but not anyone who became a professional photographer?

And of course, isn't software engineering far beyond than simply writing code in any form - whether in English or in symbols?

Yes but smartphones decimated photography jobs, especially on the low end.

  • Pareto principle in action - smartphones are good enough for 80% of use cases. And so is AI for a lot of junior-level work.

    The problem is, when there are no trainee and junior positions (and, increasingly, intermediate) being filled any more... there is no way for people to rise to senior levels. And that is going to screw up many industries hard.

    • Many industries have hit this without AI. One example is surveying: it used to be that you’d have a crew of survey techs moving around equipment and measuring reference points, a crew chief, and a licensed surveyor directing and signing off on them. Those techs and crew chief were the future surveyors, as licensed surveyor requires x years working under supervision.

      Now there’s one or two guys out there with a total station and/or drone. You’ve gone from 10 techs/junior positions per surveyor to 1. The average surveyor is something like 60 years old and has no successor lined up.

      2 replies →

Smartphone cameras didn't turn everyone into a professional photographer, but they did radically expand who can take usable photos, experiment, and occasionally produce something valuable without years of training

Programming is mostly a craft. Engineering would be more like designing algorithms.

  • That's research. Engineering would be programming, but well. Taking into account future maintenance concerns and so on. Seems like the software world doesn't do a lot of it.

    • craft: downloading an 8088 emulator and using it

      engineering: implementing an 8088 emulator

      science: discovering a way to make an 8088 emulator using quantum computing

    • > Engineering would be programming, but well.

      Software engineering is systems and measurement.

      Capacity planning, growth rates, algorithmic complexity (typically not to the point of designing new fundamental algorithms), durability, DR, eventual consistency, race conditions, schema design, systems architecture, instrumentation, statistics, sampling, more measurement, tech debt maintenance and pragmatism, online migrations, designing for five nines uptime ...

      Programming is turning requirements into code with or without respect to these higher level criteria. The implementation detail.

      "Engineering would be programming, but well" fits :)