I could go on and on about the stuff I'd do I don't do anymore.
It's not that those things don't have their place, or that all young programmers are guilty of premature optimizations, but there's no difference in terms of productivity between doing nothing and doing things that don't matter at all. It took me a while to learn that, and I still catch myself wasting time.
Either in your current role / in interviews / on the street?
I'm not afraid to generalize this either. I see so many people and organizations repeating the same mistakes, of their own, and of others', over and over. I envision an organization built around the idea of learning from others' experience. It's a near mythical creature, but it could run circles around its peers, who would doggedly pursue finding out its "secret" and promptly discounting it when they hear "learn from others' experience / history."
This turned into a mini-rant, but it's because I am incredulous that you and others like you have learned so much yet the potential of that knowledge is so rarely tapped into.
(1)“Fools learn from experience. I prefer to learn from the experience of others.” ― Otto von Bismarck (2) Why Don't We Learn from History by B.H. Liddell Hart https://www.amazon.com/Why-Dont-We-Learn-History/dp/09850811...
YMMV, caveat, caveat, caveat, etc, roughly speaking, &c
Strategy is more about planning, forethought, and knowing ahead of time which avenues are worth pursuing and which aren't. As a very simplistic example, a tactician might spend a day down a rabbit-hole and improve a db's performance by a small but significant amount, and a strategist would not have spent that day, knowing that that db is going to be turned off in two weeks. Not the best example, really (and it implies that you're only one or the other, which isn't true at all). There is also overlap between the two.
Perhaps a military analogue - tactics is about how to take the forts (shorter timeframes, clearer objectives, obvious goals), and strategy is about determining which forts are worth taking (long-term timeframes, murkier objectives, sometimes unclear goals, concern for secondary effects). The difference is also in scope, I guess. Being a good tactician benefits from energy and focused interest, something which the young'uns tend to have more of (caveat, caveat), and strategy benefits from forethought and experience, something which the old'uns tend to have more of (caveat, caveat, &c)
Strategy is more about planning, architecture, knowing about the real pros and cons of different solutions eg. libs, tools or languages.
So debugging, no, definitely not. I can spot root-causes of bugs now even easier than I used to be able to.
And one of the big new skills is that I'm much more able to 'guess' where a bug is in someone else's totally new code-base than I previously was able to.
In fact, I also write code faster as I get the general gist of it done much faster first time.
For instance, I used to be able to perftune UNIX and DB (mostly Oracle on Solaris) pretty well, knowing various kernel parameters by heart and all the tools of the day (tkprof, Cockroft and co). Now I guess I could still get by after some brush-up, but I'm not anywhere near as efficient as I used to be on that specific task. And I still write code, but I don't know every single method of every API anymore. But now, I can design full solutions, from choosing the hardware to setting up platform, languages, monitoring, high-availability, backups, security etc. Not because I'm smarter, but because I've been exposed to all that along the years.
I also think that the Zuckerberg quote also points to the startup mentality. They want 22 year olds because you can get them to work 100 hour weeks against the promise of an IPO, not because they are "smarter". Hard to convince a 40 year old with two kids to do the same. There has already been a shift to more traditional CS companies (IBM, etc.) as the lack of IPOs has soured some people on the startup dream of being employee #3 at the next Uber of XXX.
I was a young person once (no, seriously!). I _thought_ I was learning things fast back then. When I got older, I realized I was trading speed for depth.
1. Learn faster (better memory)
2. Can keep their attention focused longer.
Number 1 actually becomes a bane with old people: my relatives over 70 actively developed an active reticence to learn anything new: I even theorized that they are instinctively protecting the limited amount of functional short term memory for vital tasks. > Learn faster (better memory)
And yet, when I needed to learn XSLT (and then React), I was able to simply inhale it in one go because of my experience of similar technologies and functional programming, which come about from having been doing this quite a while.Younger and quicker developers took a lot longer over it and to find their feet because there were many new concepts there for them.
As you get older, there's less to you haven't already learned.