3 ms·
I'm a little bit older than you and have been in the industry for almost 30 years. I have a different perspective than mental decline. I think it's that after
by michaelrpeskin 4y ago
I'm a little bit older than you and have been in the industry for almost 30 years. I have a different perspective than mental decline. I think it's that after seeing code and patterns for so long, you might be defaulting to generalization of ideas. I know that I do that.
For example, one of the best developers on my team (a little bit older than me) is "on the spectrum". We've worked together for nearly 20 years, starting at about the same time. Early in our career, we would dig into the details of APIs and patterns and be able to rattle off the details of the changes when a new dot release of an library came out.
As the years have gone on, I've "lost interest" in the details knowing that I can look them up when I need to and have naturally defaulted to generalizing ideas. That is, rather than knowing that we need to change the third parameter in the function call in FOOBAR 3.2 when we upgrade from FOOBAR 2.9 because the details of the memory management changed, I just know that we use the FOOBAR function because it does a specific task that we need.
The reason I bring up my friend/coworker is that he never generalizes, he gets stuck in the details. He can't design his way out of a paper bag, but he can write thousands of lines of code over the weekend with full unit tests and there's never any bugs. So we make a great team, he's one that has focused and has every detail at the tip of his tongue. But he never sees the big picture.
So I view getting older in software as (over) training AI. My brain works in the generalization route and the more I see, the more connections I make, but I need to "make room" in my brain by not encoding the details. My friend's brain works differently. He encodes details and can keep a deep call stack but at the expense of ever being able to see the big picture.
I guess that's a long way of saying that maybe you shouldn't be so quick to think it's cognitive decline. It could be just that your brain is encoding things differently after seeing so many examples in your career.
I know I'd fail miserably at porting an API now (I've done that when I was younger very efficiently). But I also know that I can bring a much higher level of design and ideas to the team than I could have 20 years ago.
- Buttons840 4y agoInteresting perspective, thank you. Code is the author's though processes made concrete (in a sense), and some people just think differently, some people are just incompatible. Over the years I've seen some codebases considered good that are easy to follow and I like them, and other codebases considered good that just seem to grind my mental gears even though I can't put my finger on any specific problems with the code.
- jvandyke 4y agoI'm also turning 40 this year! You may want to look up crystallized intelligence (wisdom) vs. fluid intelligence ("raw" power) (https://psychcentral.com/lib/what-is-emotional-intelligence-eq#takeaway https://psychcentral.com/lib/what-is-emotional-intelligence-...) and let those concepts process for a bit. We tend to move towards crystallized intelligence as we age, which has many advantages that folks are alluding to here. The key could be to recognize the difference and where your current strengths lie without wishing for the past (probably fictionalized) you. You are who you are now, not what you were. Be mindful and appreciate the experience and strengths you have now that you didn't as a younger person. You might try to organize your work, and maybe eventually change your job/position/title, so that your current strengths are aligned with the expectations. In other words, you don't have to keep trying to be a great programmer, but you might become a great mentor, manager, author, oyster diver, etc. It's the reason many move from engineer to manager or musician to producer. You can actually be much more effective and valuable if your experience can help inform many people's code rather than just your own. You may also want to think about how great it could be not to even try being the "best" programmer. What a relief! Now you can focus on what you care about in your field and perhaps turn your focus outward towards helping other people instead of simply building your own resume. Good luck and get the sleep you need.