Remix.run Logo
▲ johnnyanmac 4 hours ago

>But today that's no longer the truth, and for the better. I am happy students don't have to go over the same repetitive low-value processes that I had to go to.

It's a real shame a leader of an education company doesn't value the actual learning process. Those "low value" processes are the building blocks to understand and master high level concepts. I'm not spending my day to day thinking about the low level memory allocation in my job, but that knowledge and work helps immensely in how I approach the higher level assignments and wider architecture. And I still kick myself because my assembly knowledge is is only 1.5 semester's worth.

And yes, I still look up how to construct an array in C++. Not really because my memory is bad (okay, kind of), but more for the practice of reviewing API's and parameters and maybe making new revelations. I probably knew internally some 12 years ago I could set an initial capacity in one of the array's constructors. I didn't really "understand" the value in that until one random work day 4 years later as I was working through some in-house container packages.

You can even say that doesn't matter if you know what resize() is, but it's those little bits of learning nuggets that builds you up from a "fine engineer" to a "great engineer". Less the knowledge and more the work ethics built to obtain it.

▲_aavaa_ 36 minutes ago | parent [-]

> before AI, it was a valuable skill to be able to recall APIs quickly

That’a the low value they’re talking about. And all of that stuff is accidental complexity.

To use their example, you need to know that dropping duplicates is a good idea (and why). Knowing what the syntax and api calls to do that is, in my opinion, unnecessary.

▲johnnyanmac 19 minutes ago | parent [-]

That's not accidental, anymore than human language itself is accidental. APIs are designed very intentionally, and a good API's parameters have architectural reasons behind what they include (or exclude).

Even your example has unintentional complexity. A 'duplicate'? What's that? Do we compare the memory it points to? Through use of a custom comparator function?by an id or tag? APIs and entire languages are designed around how we define such seemingly simple terms.

Ultimately a language, be it a programming language or human one, is about communication. I find there to be value in knowing how to communicate effectively, even if employers increasingly disregard the value of such knowledge. Without it, we'll quickly find out why it's fundamentall quickly.