mikewarot 4 hours ago

Impedance matching - In RF design, the maximum power is transferred to the load when it's impedance matches that of the source. Your job as a programmer isn't actually the churning out of code, it's the matching of the human and corporate specified requirements (and the subtle errors therein encoded) against what's actually possible to do with code, regardless of the source of said code.

High level languages, debuggers, etc... are all tools to aid in matching your impedance to that of the computer, etc.

babyent 13 hours ago

Probably software design and architecture.

Anyone can do programming. That's not really that impressive.

Writing/organizing/evolving software so it scales along with the organization (note: not speaking about performance here) is super important.

How will the software be built/maintained/deployed when there are dozens of orgs, each with dozens of teams and sub-teams?

  • bruce511 8 hours ago

    >> Anyone can do programming. That's not really that impressive.

    You're completely right, but just because anyone can doesn't mean it's unimpressive. (It does make it 'not valuable').

    It's like cooking. Anyone can do it. Lots of people do. Some (maybe the majority if you include men and children) never learned how. A home cook can be exceptional but apart from the obvious (feeding the family) it's a skill that is hard learned with little value.

    Of course frozen meals were designed to replace home cooking decades ago (hint; that never happened. ) And just because people can cook, doesn't mean they can (or should) open a restaurant. (The restaurant business is only lightly dependent on cooking.)

    The analogy holds in programming. A good programmer is impressive for getting on the ladder. But making it in the software world requires lots of non-programing skills.

    Put another way, yes programing is impressive (looking from below) but is only one step on a tall ladder. As you say, there's design, development, architecture, documentation, communication, refinement - all critical to a product's ultimate success.

    AI is on the first rung of the ladder. And in many ways thats a very impressive step. And maybe it'll climb a bit higher. But looking down, it has a long long way to go before it replaces me :)

    • babyent 7 hours ago

      Yeah exactly. The expert chef is an experienced systems architect. He’s not a noob lol and of course he can cook. And there’s more to it. That’s why he is expert.

  • gardenhedge 5 hours ago

    > Anyone can do programming.

    Definitely not my experience

solardev 8 hours ago

Sprinklers. Have you ever tried to program the timers on one? They're hell!

But after the AIpocalypse, it's only the not-yet-sentient sprinklers that will still be willing to water our few remaining crops and feed us.

n3t 10 hours ago

Look what mattered 10 years ago, reflect on that, and draw your own conclusions.

  • solardev 9 hours ago

    Um... we went from jQuery to a chatbot that can draw hands?

    Should I give up React and learn to draw feet?

jleyank 13 hours ago

Debugging. No matter what’s created and how it’s created it will have to be debugged.

damnitbuilds 14 hours ago

Not programming, but:

Requirements gathering. System Analysis. System Design. Engineering.

Will all matter the same as they do now.

muzani 12 hours ago

It's going to be more about engineering. We don't need to know how transistors work to make a website. But moving forward, you do want to know patterns like repositories. You want to know terms like "decompose a conditional" - most programmers already decompose conditionals, they just don't know what it's called because we never had to use the term. AI knows all the term, use the language. AI is also amazing with stuff like DDD, and I find that when working on some creative work, I might ask it to just break down a concept into ubiquitous language and such.

And let's say AI does all the programming for us, but engineers are there to know what can be programmed and what couldn't. Engineers are there to prevent business from trying to make flying submarines.

Basically engineers are the girl in front of the computer who can answer this question: https://xkcd.com/1425/

emrah 6 hours ago

High level stuff: design, guidance, review etc.. but you can't get good at those without first coding a lot ¯\_(ツ)_/¯

ivape 13 hours ago

It's tough to say because we definitely have created an exoskeleton with AI. We would need to tell a society with ubiquitous exoskeletons to mindfully exercise their body so it does not atrophy. The exercise you would get hiking will never translate to core body strength with the exoskeleton on. Likewise, core body strength would only have ambiguous value since everything would be done with an exoskeleton regardless since it's simply better. For programming specifically, you can already see it with Leetcode. Which of the Leetcode problems really matter and why for most work? Few for most us, but whoever is deciding what is important will decide what it is important. Google for example decides which Leetcode problems are important and they will decide in the future in the same way. It will have nothing to do with the reality of the day to day.

This is a very long-winded way of saying gatekeepers gonna gatekeep.

techpineapple 15 hours ago

All of them.

  • sargstuff 14 hours ago

    Social aspects & things not only specific to a given language ecosystem / hardware. aka things allow one to adapt to changing tech scene / job situtation without complete 're-learn theory/practice'. (assuming within same area of expertise/job experience).

taf2 10 hours ago

All of them.