Ask HN: Resources for older developers?
I am early 50's and still code around half of my day. I do manage a small team but my primary love has always been development. I'm wondering what resources there are for us senior devs who keep coding? My older friends in the field chat when we are able about the cyclic nature of tech, coding, managing, mentoring and sometimes (unfortunately) strategies for dealing with ageism. But the pool of 40+ yr old devs is not huge in my area so I'd like access to a online community if anyone has pointers. Thanks!
228 comments
[ 4.7 ms ] story [ 254 ms ] threadWe were having a similar discussion on a language compiler group about my excessively off-topic comments. I miss the water cooler and coffee break in person chats from the good old days too. I'm going to bookmark this thread to see if anyone has a solution. I tried creating my own Gitter group, back when you could, but ended up mostly talking to myself, like on dylan-lang/general.
Good luck, I hope you find a good place to chat!
Sure, responsive layouts that work on tiny screens were missing.
Still, I find fractional scaling to suck even more on systems other than Linux, and some even make other terrible decisions to drop things like subpixel rendering (looking at you MacOS and all those non-existing 10K 32" retina screens).
how else am i going to keep those pesky kids off my lawn?
but, i agree.
I find this an almost endless source of amusement.
Have you accumulated a professional network of colleagues? If so, you might consider adopting a habit of inviting them out to lunch or something every so often, just to shoot the breeze. They may be feeling the same need for casual connection just as you are, and it comes with the benefit of keeping your professional network fresh.
The c2 wiki has some of the wisest, oldest, voices in software development, e.g. Michael Feathers, Kent Beck, and the original wiki author, Ward Cunningham. They are all still active in development and it's worth keeping up with what they have to say.
It apparently stands for Cunningham & Cunningham, according to wikipedia, named after the founder.
https://en.wikipedia.org/wiki/WikiWikiWeb
Is it possible to mentor young people outside your team? (I say outside your team specifically to avoid manager-worker conflicts.) It is a real eye-opener to spend time with young people. Just watching the way they learn can teach an old dog new tricks.
Last: Is there something on Reddit? If not, how about starting it? I am sure there are lots of devs in their 50s+ looking for somewhere to congregate online.
Whaa? If you only have two or three years, you're still a newborn baby. :D
I was on a consulting team years back and everyone was 'senior developer' - I had 26 years, another guy had... 4 years. I always thought it was weird to be presenting us to a client as being on the same level, and one client mentioned it to me behind the scenes, but... wasn't my call.
If you're looking for an online community mostly you'll be facing many people who are learning how to code. I would choose a specific software and look for paid/free courses that have a community on slack/discord. Regardless of your age, sometimes changing the company you work with can help a lot because you'll on the hunt for other companies using modern stacks. You could also try to convince your company to adopt new tech. Do not be afraid to join younger communities, there days people don't really care about your age as long as you have things in common and a beginner spirit.
Books are fastest, sadly they're often out of date by the time they're published these days.
I said "these days", I think that qualifies me as a grumpy old man.
I enjoy fast, straight to the point resources as well, but I was disappointed to learn egghead.io seems to be all videos.
Not fast enough for me when I can't jump into it and skim for the useful parts: why, oh why did the videos win?
Aside from personal, non-egotistical mentors (so you can interrupt them to move on to more interesting things), I still find "boring" reference docs the best.
What you really just lose is patience for BS :)
Sure, yeah, you lose 10% of your raw intellect if you stay healthy[1]. You probably more than make up for it in experience and wisdom. But hell the thing that demotivates me is the recycled insanity of large organizations, egotistical tech executives, hype cycles, and all the other BS. Eventually you can learn to laugh it off, but you don't take it as seriously as you did when you're younger. It motivates you less. You stay focused on what interests you outside of whatever external factors happen.
For some, of course though, this just leads to burnout on the whole field. Seeing one dumb hype cycle after another, with self-described visionaries chasing trends, rather than defining them, heartlessly laying off staff, etc, even when profitable. Its enough to drive you crazy if you let it.
1 - https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4906299/
I've also seen the fnords. Makes it difficult to drag my ass to work sometimes.
Not sure if I agree with the intellect loss - I've not lost anything, I'm just much better at juggling multiple things and less good at the math-heavy detail work. However I'm still able pick up new skills as fast as ever.
A friend of mine is in his mid-50s and has kept working on those things, he's as sharp as ever.
I’ve found my outward tolerance has had to increase. I still have an internal drive to shape outcomes in more meaningful directions. This has driven (or perhaps co-evolved with) the development of a wide range of skills to be persuasive and nudge people.
People can be so incredibly narrow-minded, short-sighted, inspiring, and/or wise, sometimes in the span of two sentences. Dealing with this juxtaposition is jarring and requires large levels of empathy.
It helps me to remember that many people vastly overestimate their individual influence and conscious awareness of what’s happening with their bodies and minds. I regularly aspire to balance what someone wants in the short run, long run with what larger groups need and expect. Kids teach you this very directly.
I'm 46 and have been writing code pretty much every day since 8yo.
I used to think code was the greatest thing, and would gladly write it for free. But I was also very arrogant, too impatient to negotiate, and didn't really give a damn about the team as a whole.
These days I find writing code pretty boring, I've already solved most kinds of problems in several different ways.
But putting all the pieces together, finding optimal strategies, negotiating with stake holders and making sure the team works well as a whole; I find those very fulfilling and exciting.
They absolutely are, especially in a team environment. In terms of the quality and velocity of the team's output, the competent dev who works well with the rest of the team is nearly always better than the genius dev who doesn't.
That seems to assume that, with age, you also gain power. As for myself, I'm hitting 40 now, and have absolutely no power over others whatsoever, and that's a pretty tough spot to be in, because now I'm bored with the tech stuff but nobody has ever offered me any other kind of work, and I don't expect anyone ever will, and I also expect it will be more and more of a struggle to keep convincing others to even let me keep doing that.
I recommend doing the work that you want (alongside your regular responsibilities) and if you're good at it the offers will follow. If you're not, you'll develop experience.
And it's not about power really, nor control; it's about not needing them; nudging things in the right direction almost without people noticing; to me, that's what people skills is all about.
But of course the level of experience helps, because with that comes some respect.
Sounds rough. We're not in your situation and probably don't understand the situation very well. If you want to continue the conversation, let us know. I'm not going to offer any kind of rah-rah optimism... Low expectations might be a good way to go.
A few questions: have you asked for other kinds of work? How have you asked?
Have you asked yourself this question: Are you selling or are you buying? (What I mean is this: in terms of linguistics and positioning, are you offering something of value or are you asking others to give you value?)
Ideally, you would present your "ask" in a way where both sides benefit. (Apologies if all this is obvious or uninteresting... I'm just starting the conversation.)
What else do we need to know so that we can offer thoughts that might be useful?
I like to think of a numerical age as a relatively high-variance (statistically) way of summarizing a lot of attributes: experience, wisdom, flexibility, free time, passion, pain tolerance, risk tolerance, technical skills, social skills, social preferences, self-confidence, over-confidence, family priorities, geographic mobility, neuroplasticity, and lots more.
I suggest taking an inventory by reflecting.
This helps in many ways:
* People are able to compensate for lots of weaknesses by using other strengths.
* Some roles, companies, industries will naturally align better than others.
* Reflection can lead to a certain level of acceptance. Own it; be confident in who you are. If there are parts you don't quite understand, be confident that you have started to increase your awareness and process of discovery. This process for many people becomes a very meaningful way to deal with uncertainty.
* Don't let other's assumptions (which are frankly, often relatively unexamined) creep into your brain unexamined.
People don't offer you opportunities because you're bored with what you have.
You offer them a different capability they need.
Don't wait for someone to come to you. Go out and look for the sort of work you want.
Ruthless focus on having the maximum value for minimum effort.
I can’t speak empirically to how people’s self awareness changes over time, but this quote rings true for me. I have more humility and a different kind of confidence.
In particular, I am less confident about a lot of things, but even more aware when other people are overconfident. In other words, I know I don’t grasp the complete reality, but I’m damn sure you don’t either. :)
Something I invented early in my career seemed like a hotshot thing at the time. But I now realize it wasn't that great, and today I could do much better in my sleep.
One of the benefits of experience seems to be greater understanding of some things, even if that means realizing we're not as smart as we used to think we are.
"Greater understanding" is also one theory for the lower tolerance for BS that some have mentioned here. Early in our career/life, we have less basis to recognize nonsense and to understand its impact. With experience, we start to realize, say, a single thing that's happening has orders of magnitude more adverse impact than we can make up with all a team's clever activity, and that there's no good reason for it.
If, when you say "we urgently need to stop dumping toxic waste onto our lawn, because it's an existential threat to our company and everyone around it", but a very junior person hears only "get off my lawn, you whippersnappers!", well, they'll understand someday. If they survive the Superfund site.
But I know I can force myself through hard stuff (prolog, category theory, ML research papers) but only if I can kick out instant gratification for a while (reddit, hn, videogames).
I remember this week more than 10 years ago where my graphics card died, and had to go with this ancient card with zero acceleration, and no videogames. I was surprisingly productive that week.
I'm slower because I think more about the code I produce. I have a wider knowledge of the domain I work in, cross cutting concerns, and technical choices that I'm taking into account when producing code. So I arrive at a more-correct solution faster.
I would say the tradeoff is worth it, but of course I would because I'm not in my 20s. If faster while missing more security issues, performance problems, and corner cases is what you want, my 20 year old self is probably better.
So it can look slower up front, but over the span of the entire task, it's faster.
I guess what I'm getting at is it's sometimes hard to untangle what changes are due to getting older, and which ones are due to the world changing. For me it's boredom, I used to have long boring summers, and get bored on weekends in the 90's and early 2000's. I haven't been bored in years. Is this because of the internet? But I'm not bored when I don't have access to the internet now, so maybe I just enjoy some peace and quiet now I'm older.
I wrote a small program[1] to help me maintain context between different projects, and I'm now more productive than I was in my 30s.
[1] I tried all the personal task management and task tracker tools, even wrote a few of my own. It turned out that my brain works differently to how the tools want you to work. My new tool which works well to keep me on track matches how I work.
IOW, now I don't have to adjust my brain to the tool, the tool is already adjusted to my brain's process.
Believe it or not, I actually named the executable 'frame'. However I'm unwilling to share it[1] until I have a good 5m explanation (it's all shell-based).
[1] Well, announce it, anyway. It opensource anyway.
I'm conflicted; on the one hand I would like to let the world know about it, but on the other I can see how it would be easily dismissed as useless when there's literally no docs about it.
I think I shall make a small example usage (terminal only) to demonstrate how it helps me, then post a show HN tomorrow or Saturday (depending).
I'll reply to your post again once I post the show HN.
It feels like a shift slightly away from "build the thing right" and toward "build the right thing". There's no sense racing to a destination that we don't want to arrive at in the first place.
"Fluid intelligence or fluid reasoning reflects the ability to solve novel problems, the kind that aren't taught in school," he explains, "whereas crystallized intelligence or crystallized knowledge measures learning and problem solving that are related to schooling and acculturation."
These different types of intelligence show different patterns as you get older.
Crystallized intelligence "averages 98 at ages 20–24, rises to 101 by ages 35–44, before declining to 100 (ages 45–54), then 98 (55–64), then 96 (65–69), then 93 (70–74), and 88 (75+)," says Kaufman.
Fluid intelligence drops much more quickly. Kaufman reveals that it "peaks at ages 20–24 (100), drops gradually to 99 (25–34) and 96 (35–44) before starting a rollercoaster plunge to 91 (45–54), 86 (55–64), 83 (65–69), 79 (70–74), and 72 (75+)."
[1]: https://www.sciencealert.com/does-iq-decline-as-we-age-one-t...
The system is still an unmaintainable ball of mud, but at least your for() loops can now have ridiculously high jitter and concurrency landmines thanks to multicore use on a system bottlenecked by disk IOPs.
Part of you wants to play the curmudgeon and say "I like my old simple ways" instead of yelling "you idiots are spinning wheels on useless APIs instead of learning to do any actual engineering analysis on maintainability or performance." It's tough to balance!
Where I currently work, I'm being mentored (even at my age and experience!) by a developer who is in his early 70s. He really is a curmudgeon, but what he actually does is perform. His code is some of the best I've ever seen, and consistently outperforms that of the younger crowd. Then he just points out when he's using an "obsolete" technique to run circles around them.
Lots of 20-somethings would have no trouble working with a graybeard in his 50s if he was patient, played along, and acted as a mentor. But they don't want to work with him if he's rude and dismissive, and there's more of them than him.
You can be "correct" but still a jerk. If the people who you're rude to can influence decisions, they won't go well for you.
Nobody wants to work with a jerk, regardless of their age.
this is not true, and not substantiated. maybe you meant “if you don’t stay healthy,” but it’s still not an accurate number, or even a thing which is specific enough that attaching a number to it could mean anything.
there is some improvement in cognitive function from exercise, but that applies to all age ranges.
> The most important changes in cognition with normal aging are declines in performance on cognitive tasks that require one to quickly process or transform information to make a decision, including measures of speed of processing, working memory, and executive cognitive function. Cumulative knowledge and experiential skills are well maintained into advanced age.
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4906299/
The years add depth and complexity to our filters for processing new knowledge. Is the delay measurable? Probably. Is that 'decline'? Maybe it looks like it by the simplest standards.
Is there a meaningful analogy in neuroscience where simpler and more robust 'structures' - superficially appearing as a degeneration - could be a reflection of efficiency and optimization?
I can tackle complexities in my 40s that I couldn't dream of in my 20s. (Maybe I'm a late bloomer.) If my 40s -> 60s is anything like my 20s -> 40s, mentally, I'm just a little bit excited to be honest.
Total outsider thinking out loud. The suggestion that our 20's is any sort of peak (besides maybe animal / physical) gives me a laugh. I was a simpleton in my 20s.
I think the apparent conflict resolves if you consider that you have learned to be a better problem solver, a better learner, such that a small decrease in some 'raw ability' is completely overshadowed by gains from learning.
For a concrete example I'm much better at close reading now. Even if younger me was 10x as intelligent there are problems he'd bounce off that I wouldn't simple because I now know how to slow down and read thoughtfully.
41 here and I agree with most of the comments from the elder. One thing though I think we older people have to acknowledge is that we might have changed the BS bar. It feels a bit to me like saying that there is no music like the one from 20 years ago.
I am trying to be positive and that is something I say to myself :)
The joke, for those who don't know:
Interviewer: What would you say is your most impressive skill?
Candidate: I am ridiculously fast at math.
Impressed, the interviewer wants to test this: "Ok then, quick, what's 347+578?"
Candidate (confidently): "5!"
Interviewer: "w ... what? That's not correct! That wasn't even close!"
Candidate: "Yes, but it was ridiculously fast!"
Sure, you could become excellent at guitar in your 40s, but unless you're extremely motivated, you probably don't care about learning it as much as a teenager would. Same goes with learning or becoming anything else.
(Of course, everything here is on average.)
I honestly think its truly just about filtering BS. I get hungry about the right things. Just like I get passionate about the right relationships. But not goin to drop everything for someone that shows the tiniest bit of interest me like maybe when I was young and had no idea what kind of relationship I wanted.
1 - https://www.entrepreneur.com/business-news/this-is-the-avera....
Older people typically have more money and connections. If anyone could start a company I guarantee you more young people would start companies.
And not to mention experience. You may want to start a company when you're younger, but it's harder when you don't know what you're doing.
I haven't actually noticed a decline in that with age. But what I have noticed is that the more experienced a person is, the sooner they're likely to spot when a new direction is probably a dead end and avoid going that way in the first place. Less experienced people tend to have to actually walk in that direction for a while before realizing it's going nowhere.
I bailed from coding after full-day Java debugging session that made no progress. Way too stressful at+after some age.
So the BS was technical, not peoplal.
After kids those unpaid thought cycles are spent on how I can help my kids grow into better adults.
It actually forced me to change my work habits a bit. Before I could be less methodical about working through a problem because I had lots of spare brain cycles outside of work. But now I have to work through problems more diligently.
I'm 48, I'm definitely very much improved as a programmer and engineer relative to when I was 28. You think you know everything when you are 28. When you are 48, you realize you had a lot to learn back then. Anyway, I'll be doing this for at least another 30 or so years. As long as my brain works, I'll be using it.
The reason old people become slower is not necessarily that they are old but because they retire and stop using their brains. Not using your brain is bad for your brain. Age related deterioration is of course inevitable. But you can slow things down a lot by just keep on using it and staying active.
Your certainly not losing your intellectual abilities at 40 or 50, far from it.
40 and 50 year olds will just be moving on to the next stage of their career, using their collected experience to manage and pass on knowledge. Coding requires focus which is difficult to come by generally when you're older and juggling many responsibilities that you've created in your life up to this point like family, finances etc. You certainly don't become dumb.
All the attributes of big tech organisations you described could be applied to many other fields. When you're at the bottom (like a smart 20 year old) and have no control, it can be frustrating. You can rebel against it, play the game, or go out and do your own thing.
Well, I lost this way earlier than that already hahaha. Totally agree with your comment by the way.
So. Much. This.
I'm an "older developer" as well and the one and only thing that gets in my way of learning new things is the amount of useless information in the documentation and code.
I love clear, to-the-point video instruction. I don't think it's age-specific, but I really like "Tech World with Nana" on Youtube: https://www.youtube.com/@TechWorldwithNana
Hacker News (this site) is where I follow industry trends, along with Ars Technica, and TechCrunch. Again -- nothing out of the ordinary.
What might be unusual to younger devs is that I really enjoy mentoring. It reminds me why I got into this business, and sharpens my communication skills. I would encourage any senior dev or manager to seek out mentors to work with.
Oh! And don't be afraid to pick up hobbies. I picked up guitar, camping, and weight training in my 40's. You're never too old to learn something -- it starts with a choice.
Oh, so much this. I've always had hobbies, but the older I get, the more value I get from them. They improve my outlook and quality of life generally, but are also of professional value. Even ones that seem unrelated to development (backpacking, etc) make me a better developer by teaching me new ways of thinking, new skills (it's amazing how many unrelated skills turn out to be more related than it seems), and let me unplug my dev brain and exercise the other parts.
The ability to freely discuss the pros/cons of the tech industry from a coder perspective with people that have been through a couple of industry cycles is both fun and therapeutic.
I think agism is an interesting thing to dig into. It’s something that after a lifetime of being the youngest person on the team is starting to poke it’s head up. I suspect the answer lies in being picky about who you work with, avoiding the flashy places marketing to fill seats with bodies, and finding the places doing significant and advanced work without glitz. I also suspect remote work evens this field a bit, especially if you grew up in an irc / Usenet / mailing list sort of dev framework as I did.
I've found that nothing is really much different being an older developer compared to being a younger one, aside from two things: I have a lower tolerance for bullshit, and I have a much better handle on what my time is actually worth to employers.
While ageism is certainly a thing that has to be taken into account, I personally haven't found that the problem is unmanageable. I handle it by ensuring that my skillset is up-to-date (same as we have to do throughout our careers anyway), and by recognizing that certain parts of our industry will never welcome older developers. I don't bother with those companies, but they are a minority limited to certain cultural "islands". I am certain that I have been passed over with certain jobs because of my age, but nonetheless have never had difficulty finding good jobs that pay what I'm worth.
I also have developed a standard comeback when younger devs make disparaging comments about my age: "take a good look at me, because you will be me sooner than you think".
Majority of managers are average coders who have moved on to management. Such managers look down at engineers with disdain (or as code-monkeys) or worse they see themselves higher in the status hierarchy and impose themselves on the engineers or god-forbid, they see themselves as technically better and interfere in technical decisions. this leads to a poor engineering culture in the org as excellence in engineering is not even measured or appreciated
granted, the cultural tone of a team or org is difficult to gauge from outside and during the interview process.
This is very much broad-brushing and there are plenty of exceptions, but in general I've found that startups, FAANG-style companies, and companies that seem more focused on making products as a vehicle for using new technologies (as opposed to using appropriate technologies to make better products) tend to have a greater prejudice in favor of younger developers.
If such a company interests me, I'll absolutely apply to work for them -- but I don't really expect I'll hear back from them past the initial interview.
Although I have had good experiences as an older dev working for software companies, I've found that I have the best experiences working for companies that aren't overtly software. My current job, for instance, is at a company that makes industrial equipment. The software isn't the product, it's one of the components that makes the products work. It involves several currently-fashionable technologies, though, such as machine learning, so it's not like I'm working in a technological backwater.
My general approach, really, is more about setting proper expectations in my own mind rather than trying to pinpoint "older dev friendly" companies. If a company is doing something interesting, and appears to be the sort of place I'd enjoy working at, I'll toss my hat in the ring even if I suspect they'd consider me to be too old. I just won't get my hopes up with them.
I've also found that a big indicator is when I physically visit their offices and see the makeup of the other devs working there. Even a casual glance can reveal much in terms of how youth-oriented the company is. If I'm the oldest person in the building, they're probably not going to hire me.
I don't know if any of this helps. I'm a believer in not prejudging things too hard and don't really let my perception of their age culture be a significant factor in my decision-making. There are no hard lines here, and I have been hired and welcomed into companies where I was the oldest dev in the place by a large margin.
In the corporate developer world I am tired of being a developer. I love coding, but I generally don’t like the people I work with. I feel many of my peers are either looking for shortcuts to avoid learning and organizing or they are deeply entrenched in something super narrow and highly defensive about it. All I see is insecurity. Now I wonder if it’s better to move into management where I can better steer through some of the insanity.
What I would look for in my next job is how well a given team measures things. Everybody thinks they are great and it’s generally a bunch of bullshit. Example of potential measures: execution time, test coverage, test automation time, operations per second. Measuring is a primary indicator of product quality, but more importantly it’s an indication of team maturity.
Genius.
I add: "IF you are Lucky!"
(Are you feeling lucky, punk? ;-) -- Thanks Dirty Harry! This part does NOT get voiced!)
Seriously, agree completely with this comment. I'm, ahhh, 'more experienced' than many here, if experience is measured in years.
And that's my top suggestion: make sure that 10- or 20-years' experience is NOT 10x or 20x 1-year experience. Aggressively keep learning, and improving. e.g. today if you're NOT using Copilot -- why not?
Except as noted, re: ageism, it has only gotten better for me as a dev. Enjoy and celebrate that.
I'm turning 50 this month and a professional developer since I was about 21-22.
> I think the lack of TDD being as widely adopted
Hilariously, I just got -4'd (and a whole thread) for asking why someone didn't just write tests, instead of building some half baked tool to debug their websocket app. The responses were all sorts of absurd excuses. I'll happily take the negative karma, cause I know it brings some awareness.
(Now I'm getting downvoted again. Oh hn, you crack me up.)
> Now I'm getting downvoted again. Oh hn, you crack me up.
Because you were whining about down votes.
Generally, when I see someone whining about voting, I'll vote down without a second thought, regardless of the content of the post. Why?
From the guidelines: "Please don't comment about the voting on comments. It never does any good, and it makes boring reading."
I know a good number of other people react this way as well.
Instead of whining about getting voted up or down, instead, use this as an opportunity to improve your messaging.
> I'll happily take the negative karma, cause I know it brings some awareness.
Up-voted comments bring more awareness. If you truly cared about bringing awareness to something, you'd want to communicate effectively, and effective communication is critical in our field.
Anyways, I generally hate meta comments like this one, but hopefully you have a better understanding of why people are most likely down voting this comment.
That said, my intention wasn't to whine. I truly don't care about the act of getting downvoted.
What I was trying to point out is that I was getting downvoted in my original post, because "kids these days" are against the general concept of TDD. That's in response to this OP's comment that I quoted.
Why were they against TDD? One person said it was because their CTO made them do 100% test coverage and that caused the startup to fail. Is that the failure of TDD or the failure of the CTO? ;-)
Now you're getting downvoted? LOL! For the record, I upvoted you.
I've seen it done properly with integration tests on integration code (CRUD, messaging, websites, etc.).
However, people do insist on writing unit tests on integration code and when they do it, it all goes horribly wrong.
I had an integration test that ensured that the app would start up correctly and that the self-update mechanism worked. Without those tests, any failure to start would cause me to have to "talk" to 30k+ servers to get it to install a new version of the app. (ssh into each server and re-install the app).
Automating that communication across that many servers (many of which could be rebooting at any time) and ensuring that they all had a running version of the app, was difficult to say the least. How do you even track that the app is running? (You end up having to have a ping mechanism too!)
Of course, I didn't start off with those tests and had to do things the hard way more than a few times. The thing is that once I added the tests, I never once had to do things the hard way again.
So, you can certainly do things the hard way, or you can just write tests and be done with it and work on features instead.
It also requires quite a bit of discipline, or commitment, or conscientiousness. It's worth it, but you have to be on the ball. It helps a lot if everyone on the team is experienced in TDD and positive about it, because you can all support each other.
It requires constant occasional investment, in building test infrastructure, updating older tests, etc. Often not a lot, and you can do it as you go. But sometimes, particularly for integration tests, you have to sit down and bash out some sort of framework to make testing tractable at all.
And it's possible it doesn't work everywhere. In my current job, i write a lot of applied maths code, and i haven't worked out how to test-drive that, because i generally don't know what the result should be before i start (i wouldn't need to write it if i did!). Sometimes i can make relative assertions ("the antimatter consumption at warp six should be eight times the antimatter consumption at warp three"), and sometimes i can calculate rough bounds by hand ("the antimatter consumption at warp one should be within 20% of the inverse relativistic mass"). But mostly, i implement something, then run it on a lot of data, plot the output, and decide if it looks roughly right.
> i haven't worked out how to test-drive that
That's exactly it. I don't always see tests as being necessary for greenfield code. You don't have to test drive it. But, you should write tests. Once you figure it out and have things in a place where you're comfortable, write a test so that when you go back and make a change later... you know that the code will break tests and you can be confident of 'change over time'.
Advice on exercise and eating responsibly might be the category (that you probably didn't have in mind) that would be different. Twenty years ago, I could play a softball doubleheader and hit the pub for a dinner of wings and several beers and be fine the next day. Now, a single game and a single beer is enough to have me a few steps slower the next day. Take care of your health (probably in your 30s as well, but especially as you get older).
Once you stop, you realize that it feels like some great conspiracy. We're literally bombarded with ads and social pressure to drink. It is like the pressure at your job to sign up for a 401k because you don't know how to manage money yourself and you should let someone else do it for you because it is too much effort.
As soon as I stopped drinking beer a couple years ago, my belly disappeared (and no more hangovers). I realized that bloated feeling was my body reacting to it. A couple years later, I cut out the rest of alcohol. The more things that I cut out, the better I feel. I've since cut out eating chicken too, once I realized it made me super gassy. Don't miss it at all.
Despite the initial annoyance, it's fun to say no now at dinners because I know that I'll wake up in the morning feeling fine.
It's interesting to see posts on twitter and elsewhere now saying the same things. People seem to be waking up to the fact that we just don't need to drink. I feel so much better as a result, especially as I age.
When I have a drink now, it's likely a red wine with a beef dish and only a single.
On the flip side, I think the pressure to invest in a 401k is a strongly net-beneficial pressure. (Roth if your marginal tax rate is low now, traditional or a mix if your marginal tax rate is high now and you think it will be lower in retirement.) It’s not just about being a skilled investor or not, but the psychology and practicality of making a decision to save once and having that decision auto-implemented every paycheck has a way of preventing that retirement savings from turning into new cars and fantastic vacations now and a meager retirement nest egg later. The modest tax advantages and being largely judgment proof are icing on the cake, but the easy way to implement a disciplined process is very valuable.
401k's are also a no brainer if there's decent company matching.
Talking with people with similar level of experience and knowledge definitely is amazing. I used to spend time with a few ex-colleagues from time to time. We had amazing discussions since we knew each others’ experience and level of intellect. I went to other meetups and it’s difficult to find people of similar background and experience.
Additionally, some other things I'd like to learn about: Any subreddits geared for older developers? Any supplements that are great for older engineers/knowledge workers?
2020, with travel stopped, I got a desktop and couple of large monitors (32"). I still don't feel terribly more 'productive' with multiple monitors (years of experience on single monitor only!) but the large monitors help a lot. Separately, since I primarily work on a desktop, it's harder to just 'work' whenever/wherever I am, so there's more of a "I'm done now" aspect at the end of a day. I still have laptop, and can do stuff on it when I need to, but over the last couple of years, that's been far far less than it was 10 years ago.
I use glasses, but for driving only.
Even when I have 'more' real estate on the 27", I sometimes end up zooming the screen sometimes anyway to get closer.
I've had a couple friend rave about their ultra-wides, and I might get just one ultra-wide to replace the two I have.
On Mac, as it has no subpixel rendering, going with anything less than 4K results in lack of smooth lines and jaggy fonts.
If there's one drawback, it's that rendering 4K can tax your hardware (eg even full screen 4K Google Meet on pre-Iris Xe laptop will keep your CPU pegged at 80%).
Not sure if that helps at all. Kind of sounds like you're not wanting to wear glasses at all. I've been wearing mine since I've been six years old, so I don't really know any other way (tried contacts for a year and they were just too annoying to deal with).
Big fonts and big monitors!
I wore dimestore readers for almost a decade. Finally saw the optometrist after discovering that after a day of screentime while I was driving home I'd be seeing double. Astigmatism correction fixed that. Went another decade before saying fuck it and getting aviators (photogrey, bifocal) for driving (don't need them to pass the driver's test); discovered how much they cleaned up the light flare at night. Went another five years before joking about rose colored glasses and ended up getting a lightly tinted pair; it was just a taste, it wasn't enough. Next time I went in I got flamin' rose colored ones in huge hexagonal gold frames: kinda messes with colors but so awesomely worth it driving at night with all the blue-tinted LED headlights and streetlights.
There's the subreddit /r/ExperiencedDevs, but that's less social and more Q and A.
It might be worth checking into Discord servers to see if there are any that cater to more experienced devs. If you find one, let me know.
I also know the things that I either do not enjoy or am not good at, like management. I'm happy to keep coding for as long as my brain will allow it.
So, I am building a different kind of company. Currently, it's all pi in the sky with respect to revenue. I'm changing that soon.
As to your specific question, perhaps you'd be interested in maintaining some existing open source projects whose mission speaks to you. If you can contribute and bring more value than pain in working with you, I'd expect they would come to welcome your help.
As regards the negatives and imagined negatives of being an older developer, I have to say that they just don't have any sting with me. Nothing has any sting with me anymore.