The saying goes "smooth and slow to go fast". It applies to all sorts of physical abilities: playing an instrument, driving, motorcycle riding, shooting, and athletics.

There's a lot of neural and muscle learning and tuning involved to specialize in those skills. But in order to start, you need to learn and tune the right things. As they also say, it very hard to unlearn things.

It what amazes men when I watch baseball (I'm a nut for baseball). We watch these guys perform "routine" stuff on the field every day, but we also watch them bumble, slip, drop things, miss the balls, etc. And these are the REALLY GOOD players. There's 10,000 other players in the minor leagues. They try to make it look easy, but demonstrably, it's not.

But if you watch how they train, it's all about fundamentals. Arm angle, foot placement, where to look, when to look, and that's even before you talk about "baseball" knowledge -- knowledge of the game itself, field awareness, etc. This is just getting the ball in the mitt or the bat on the ball.

In our field?

Not so much. It's far less important.

My favorite anecdote was when a junior programmer at work came to me and we were talking about his project, a little GUI front end to a SQL database. He was done with the project, and I asked him how it went. He said it went fine, but he was confused about something. He wasn't sure what the difference was between RAM and disk.

So, here was a fellow, who accomplished something, using then modern tools while essentially ignorant of how a computer even works. This is a testament to the tools and platforms of the day. How with just some syntax knowledge, and a bit of a logical head on his shoulders, he can accomplish productive work.

For many, computer work is borderline blue collar work. It's assembly line stuff, know what to do, not necessarily how or why it's done. Drag and drop, cut and paste, commit it and ship it. And now, of course, we have the AIs to help.

This is not a bad thing.

I've managed to get through my entire career without a deep understanding of networking, firewalls, BGP, routing, all of that stuff. Can I configure a DNS server? Nope. Despite the Petabytes of information I've shipped hither and yon across such things, when it comes down to the core level? The lower layers of the stack? "Contact your Network Administrator" because that's not me.

I am ignorant of cache lines and such like that. I know they exist, I certainly understand what they do, but I've never given them any consideration in my work. None of that has ever been necessary.

It's certainly valuable to get exposure to all of the parts of puzzle, even if you don't have a full understanding of them. I know I resort to core fundamentals about how things work to understand problems all the time. But the truth is, for a lot of the work available, and that needs to be done, that level of detail is unnecessary.

I've worked with folks who are fascinated with the craft and field, always learning and growing. And I've worked with the 9-5 folks, who learn precisely what they need to accomplish the job, and just...stop. Do the work, but just the work. They have other interests elsewhere.

Doesn't mean they can't do the job though. These are not bad people.