Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Software development after 40, how do you keep the fire?
111 points by m3mpp on Aug 20, 2018 | hide | past | favorite | 100 comments
Experience is a nice thing, most of the time. We can see through the BS and concentrate on important things to make up for a slower brain, less stamina and decreasing memory, to a point where I think I am as productive, maybe even more, than I was 20 years ago.

The negative consequence of experience though, in my case, is I'm less excited about new ideas, more skeptic in general, which makes it more difficult to find the motivation that is needed to build something really significant.

And I mean, it's not very surprising, if you haven't made it big at 40+, that means you worked on a lot of failed projects, that makes it harder to believe you can change that.

Maybe some older folks here on HN, but younger people comments welcome too of course, could share their point of view on that question?

I'm 47 and got my first programming job at 19. I still love it and look forward to a good number more years. I have a few guidelines/principles that seem to have worked so far:

* Do meaningful work, whatever that means to you. Maybe it's picking a domain that helps people or society, or maybe it's some other criterion. Ask yourself what meaningful work is to you.

* Be mindful about your craftsmanship and always work to improve it. Try to write solid, expressive, readable code that works, and be critical about your own code. Read other people's code closely and see what you can learn from it. Explore new technologies, not just for "variety" but for what you can learn from what led to their development and how they were implemented.

* Engage in mentorship of younger developers. Mentorship can really do a lot to renew your love of coding. If your employer doesn't have an established mentorship program try to help set one up. If that doesn't work, there are coding bootcamps that will let you work as little as an hour a week mentoring new developers as a consultant.

* Try to be that person within your organization that others want to come to with their thorny technical problems. Listen deeply and respond compassionately.

* Work on side projects. They don't have to change the world or "go somewhere". A side project can remind you why you love programming when the daily becomes a grind.

If you don't mind me asking -- have you found trouble with staying in programming / development into your 40s? Or do you see trouble staying in programming into the "good number of years" ahead? I'm just curious as someone in their early 30's who feels the "pull" towards management as a career longevity move. But on the flip side, I love "soft/upwards management" and being hands-on way more, and without the massive doses of stress of actually being in management to boot.

As someone who went from development to management and then recently back, I strongly recommend that you avoid seeing management as a pull, or as a natural progression for your career. Management is 100% a different skill set, and going there from an engineering position is a career change, not evolution. It's not a promotion, either.

If you do decide to go into management, jump with both feet and give it 100%. And don't weep for your technical chops, because you just can't keep them up at the same level if you are committed to being a leader.

It depends on the company.

I am 47, very senior "management" position in a large company. I manage a whooping team of three. By choice.

What I am not comfortable with in your comment is the manager = leader (implied in the last sentence). I hate to manage people (to plan their work, to do the logistics of their life at the office etc.). On the other hand I live to be the one pushing for a solution, bringing others in, pushing my obviously brilliant point of view, retro-pedalling when it is not the right one finally and again bring in people with this new solution.

I put a lot of enthusiasm and energy into it and I am very happy.

I think the qualities of a manager and a leader are different, some people can be both but also only one of them.

I managed from 1 to 350 peple, the latter was horrible.

In the 1 to 350 equation where was the line where things turned south and what were some of the qualities that differentiated the good experience as a manager and the not so good?

I'm just curious as someone in their early 30's who feels the "pull" towards management as a career longevity move.

Yeah, I answered that call. Meh, avoid if you can, unless you really, really feel that the team would do better with you leading it rather than contributing at an IC level. IOW, let's not take a good engineer and turn her into a mediocre (if you're lucky) manager.

There have been those times when a team was better off with me as a leader, rather than getting my hands dirty. But when I've been that better leader, it's because I learned from being a shitty one. And no matter how good of an engineer you might be, if you go management you are almost guaranteed to suck at your job for a while. And who wants to suck at their job?

So now I'm in my fifties, plugging away as an IC, happy as a clam in shit. I've owned and sold two businesses (turns out I don't like being a businessman, either), clawed my way to director (well, it kind of landed in my lap), but sit me down with an editor and a problem to solve, and that's where I want to be. I don't make as much money as I could, but FFS, even a kid out of college can make six figures in this industry, how much more money do I need? Happiness, OTOH, I can always use more of.

I don't worry about "aging out" of coding. I'll caveat that with the fact that when I hired on at Microsoft in the 90s, some folks thought that meant you were kinda smart. So there is the chance that I'm the rich person telling poor people to just make more money and they won't be poor anymore when I say that I don't have any more problem passing the interview and doing the job than I ever did. And I think I'm just a maybe above-average techy, despite what companies might be on my resume. But, yeah, if your most recent experience is maintaining old FoxPro applications for the last ten years, you might have a spot of trouble.

I've been lucky to find companies where I could honestly say, "look, I have managed (up to CTO level) and I don't like it, I know myself well enough to know that I will just try to find excuses to write code. I want to be a technical leader, not a manager." I think most sane managers can understand that. If they can't... NEXT!

I live in NYC and in the startup scene here (in my experience) young superstars get (demand!) a lot of attention but hiring managers are always stoked to find someone with some seasoning who is not averse to working in a startup environment. I try to be very upfront that I place a high priority on my family and I will not be spending 60-hour weeks in the office. As long as expectations are set properly nobody has had a problem with that.

I'm 40 and have no trouble staying in programming / development.

The challenge is "Flow". It needs to be something at the right difficulty level and as you get older it feels like things get very repetitive.

Working a company with a hard problem to solve and that allows for more creativity, experimentation, and implementing of new ideas / paradigms is very rewarding. I have been at other companies where it feels more like grunt work and it is miserable.

I haven't personally felt any drive towards management but I do find mentoring junior developers and interns quite rewarding.

I would add: resist getting sidetracked at all costs. In smaller businesses it's easy to be pushed into work that's contributing nothing to your CV. This is the one thing I would change if I could go back.

I'm 38, but started working young, so probably equivalent.

1. These days I care a lot more about what the software is for, what makes it useful. So I don't need to get excited about trendy technology, I get excited about e.g. building a completely new kind of gene sequencing device that will help disease research and diagnosis. (Write about this here: https://codewithoutrules.com/2017/08/07/do-something-useful/)

2. Teaching is great, because it means all those failures weren't for nothing. Someone else can learn from them (I write a weekly newsletter of my mistakes and how to avoid them - https://codewithoutrules.com/softwareclown/), and I can learn from them (https://codewithoutrules.com/2017/10/10/lone-and-level-sands...).

3. At this point you can hopefully get better sense of _why_ project fails, and avoid things that are likely to fail, or try to prevent them from failing. So hopefully % of failures goes down.

1. definitely a great advice, work on something greater than oneself.

For 2 and 3, not so sure, it's so difficult to say, I've seen a lot of shitty things becoming successful, and some real good things never amounting for anything over the years, that I'm real cautious about doing any kind of prevision nowadays... The old "the more I know, the more I realize how ignorant I am" thing.

As a 40+, the first time someone mentioned "the tyranny of the random number generator" it had immediate resonance. It was in a gaming context, but is a useful life metaphor.

Love that you’re sharing your mistakes. Link to archive where I can see some past ones?

Not 40+ -- but darn close, and recently went through a bit of a "midlife career crisis" - this is what I came away with:

- I need a physical outlet: I practice Jiu Jitsu now 2-3x per week and this has literally re-lit the burners on many aspects of my life, career included. Much more energy and stress tolerance when I thought I would be more exhausted -total opposite.

- Family time is most important at this age: Making sure things are all good at home lets me relax and focus at work. Employer should get this or I am in the wrong place.

- Rest / diet: I recently switched over from eating to whatever was at hand (literally), to eating what was healthy and worth putting in my body.

I feel all of the above have led to my having more energy / stamina to do tough projects and get over the unexpected hiccups.

Also - I started listening to this podcast by a former navy seal Cmdr: If nothing else, it checks you from saying "my life is stressful" when you hear an Army Aviator who spent 6 years in a North Vietnamese prison camp talk about his experience:


...to make up for a slower brain, less stamina and decreasing memory...

This is NOT normal and should not be accepted as such.

I'm 63 and have been programming professionally for 40 years. I'm currently working on several projects that are as complex as anything I've ever done. I honestly feel that that I get better every year, build stuff I never imagined a few years ago. I know this is subjective, but I feel like my brain is faster, I have more stamina, and better memory than ever. I still do newspaper jumbles and crossword puzzles without a pencil and plan to continue that way indefinitely.

Unless you're managing a serious medical condition, I suggest you do something differently: eating, exercise, lifestyle, medical care, something.

To you kids out there (under 50), do not despair. The best could be yet to come if you make it that way.

I agree with this. For me, it was a combination of medical and lifestyle. I have taken a very serious approach at fixing those things and have more energy than ever.

Wow, at age 53 I am definitely slower. I type more slowly and I remember less. On the other hand, maybe I know a bit more than I did when I was young.

To me I would compare it to running. I can't sprint as well / come up with clever algorithms on the spot, but I can manage long distance / far more large scale complexity and pace my self better.

Does being a new parent of twins in my mid-forties count as managing a serious medical condition? I don't have anything to back it up, but I feel your situation is more the exception than the rule. I would like to be proven wrong. I keep plugging away at side projects when I get a chance to take a breath. But even then, it seems to take tremendous effort to get into any kind of productive zone.

I noticed that about "Weird Al" Yankovic. He's in his late fifties and yet -- even as he works in a field where even long-lived artists peak in their 20s or 30s, his music just gets ever more sophisticated, and funnier.

Went to one of his concerts a couple years ago. Except for his vanity, it was one of the best shows I've ever been to. A lot of fun.

Weird Al is essentially a comedian, and they only really get good after many years of life experience.

The other day, Norm McDonald noted something about Eddie Murphy that I hadn't considered - he was the most talented young comedian ever.

It blows my mind that Murphy was performing at such a high level when he was just 20-21.

I think that was more a sign of the times. Like Andrew Dice Clay's filthy routine. That type of humor was needed during the 80s to distract people from the stress everyone was under. It wouldn't work today. A lot of Eddie's jokes were something that people never talked about or even heard of, like pre-nups, and wives taking half your cash today. I agree he was one of the early greats, but look how quickly his style wore off after that time period. I wouldn't consider him in the realm of timeless like Dangerfield or Carlin.

Eddie's jokes may no longer be PC but his old routines (Raw and Delirious) are still funny as hell. My wife and I regularly quote from them. "He didn't tell you you could take half? Well, he didn't tell you half the story....Oh hi Eddie." If you're not too uptight, watch it again and tell me it's not still funny.

My point was more he had his time, and it's gone. He hasn't lived on past that. Carlin and the likes were relevant until their death.

Carlin did comedy his whole life though. And I don't personally hear Carlin references more than I do Murphy ones. Eddie quit pretty early as you know, so I can't help but suspect his time was over voluntarily. Not long ago, he had to give a speech for the Mark Twain award and his Bill Cosby bit still had people laughing.

This is an unfortunate side effect of being a popular comedian, people will literally laugh at any word you say. The podcast escapes me, and I've read numerous articles, where big comedians often consider just quitting because they can't tell if they are actually funny anymore. Everyone just ends up laughing at everything that comes out of their mouth. It sounds like a good problem to have, but you can see how it would weigh on someone.

Read about Freddie Prinze. He died at age 22, IIRC.


Sleep. Sleep is a big one.

I'm 38, and started programming at 8 years old in BASIC on the Apple ][. If ever I find myself unable to convince anyone to pay me to code, I will still work on my side projects at night while doing something else (for money) during the day.

As far as my "working life", I try to keep myself challenged by seeking out interesting projects. Generally this means changing employers every couple of years, but this gets more difficult the more 'senior' (and expensive) you become. I really would like to settle in at a company that can keep me challenged and growing, but most employers put zero effort into developing and retaining their software engineers (too easy to find new ones, I guess).

For example, my current employer (less than a year) has me doing legacy software maintenance (not the type of work I was promised when hired), which is doing nothing for my career (probably causing active harm) and is boring as hell (no architecture/design/SE work, no challenging CS problems, no leadership responsibility) - it's the kind of work I'd expect to be doing in my 60s when I'm coasting into retirement (assuming I can stand it even then). So I'm interviewing again. I hate interviewing.

I think you have a lot of questionable assumptions, which leads to your original question.

First, at 50 my brain has not 'slowed down'. Nor has my zeal for new tech, learning or stamina.

Made it big? Not sure what you mean by that, but I've had a very rewarding career (almost 20Y in the same place) that has provided me consistently with challenge and success.

Last thought, I'm part of a team of devs in our early fifties. I feel like with our experience, maturity and honed skills we could wipe the floor with a team in their twenties if we wanted. Might just be us. Just MHO though.

> If you haven't made it big at 40+, that means you worked on a lot of failed projects

I disagree. I have always worked for reliable steady paychecks, not equity. I have a decent set of projects under my belt, with some small exits, so while not quite wealthy enough to retire, I'm doing fine.

As far as the question of staying motivated, that does change. I don't care so much about code these days. But I do get motivated when I see younger team members with growing skills. I get motivated by helping the teams succeed. And while I agree that I am far more critical of ideas and projects, that is all the more motivating when I find one that I do believe in. And the aforementioned steady checks over 20+ years let me take time off between projects to find something I can believe in.

In short, if your only measure of success is a big exit, then I can understand the struggle. But there are more meanings of success than that.

"If you haven't made it big at 40+, that means you worked on a lot of failed projects, that makes it harder to believe you can change that."

I find it unlikely a programmer, no matter how good, would make it big. There are exceptions, sure, but globally programmer is not a highly paid professional like a surgeon, for example.

I don't think there is nothing wrong with a steady paycheck and doing a job that engages ones mental faculties.

I'm soon 40. I enjoy puzzles, delivering value to demanding end users and getting feedback from my work. It's really nice when a feature you've implemented gets good feedback and customers discuss about it publicly.

So, I suppose in 'boring' tasks I'm motivated by delivering end user value for demanding professionals and the occasional math puzzler or investigating new algorithm or technology is just sugaring on top.

A lot of people on HN are in SV (or another big tech hub like Seattle), and make 300K+ in total comp. It's a lot more lucrative [in general] to be a developer in the US than it is in most of the rest of the world.

Sure, but while high, that's still not "I'll buy myself a Learjet and a tropical island" level income.

Anyway, the topic was career satisfaction.

Without any good life strategies the happiness money brings peaks at 70k or such (basically you don't have to worry about regular life expenses). So, I would not use the total comp as a metric in this discussion.

Said parent commenter: "Without any good life strategies the happiness money brings peaks at 70k or such (basically you don't have to worry about regular life expenses)."

Please! Try having a few kids and living in a desirable metro area. I didn't stop worrying about money until my salary was twice that, and my wife works too.

So many sayings about financial happiness seem written for single people with no dependents.

Clearly "desirable metro area" is the problem. Some would even call it a self-contradiction.

The increased salary of an expensive area does not normally compensate for the increased costs. It might if you are content with a studio apartment and you put most of your income into a retirement fund that you will spend only after you leave the area. You're in deep trouble if housing is a significant need for you.

It's like this: salary goes up 50%, and expenses go up 200%, so you lose.

70k, with just a single income, is perfectly fine if you live somewhere cheap. You can easily own a home and raise a family with that kind of money. I know people who manage that on far less.

"I didn't stop worrying about money until my salary was twice that, and my wife works too."

Good for you. But I really wasn't trying to say how much people have the right to earn, just pointing out that likely there is some upper limit where money alone does not bring much additional happiness. Obviously people have different priorities, life situations and preferences. I just wanted to point out that money can't be used as an objective measure of happiness or professional success in the most generic philosophical sense.

I can totally see how a metropolitan location would increase life satisfaction by providing a rich selection of entertainment, cultural venues and restaurants (i.e. experiences).

Agreed. I don't worry about money per se, but I am always on the lookout for a bit more. Within reason, of course. Kids are expensive, and the more I make now the more relaxed my retirement will be. 70K isn't enough to build much of a nest egg IMO.

Also, the money:happiness ratio has been investigated quite a lot, and as I recall it never really peaks, it just becomes less of a factor.

I think this particular saying should be changed to 70k per individual (including children), a family of 4 would then be at 280k - I would be more inclined to agree with the 'happiness' factor then, some people are miserable and they won't be happy with millions either.

You don't need that much money for the kids themselves but I find spending quite a bit on conveniences to compensate for being short on time. Cleaners, gardener, dry cleaners, extended childcare facilities etc.

"If you haven't made it big at 40+..." What, exactly, do you mean by "made it big"? Rock star giving TED talks? Keynote speaker at major industry conferences? Cashed out your fully-vested options for a startup that did well?

I'm 45, I manage a small team of bright, motivated people at a Fortune 500 retailer. Team ranges from late 20s to one of our Oracle DBAs who's in his 60s; most of our colleagues are late 20s-late 30s. It's a good team, at a chill place to work, and we put in a lot of blood, sweat, and tears over the last few years to deal with a lot of the technical debt that was making things like on-call such a miserable experience. Making that experience better has been a huge motivator for me. It helps our team, and it helps our business partners help themselves. One thing about being older is that a lot of younger developers have a different set of skills they consider "table stakes", and they may be overlooking older skillsets that could really help them out, like tuning SQL queries.

The other thing that helps me keep the fire is learning new stuff. For an old-school Enterprise guy like me, things like AWS, DevOps, Docker / K8s, seemed scary. But technologically, they are fascinating, awesome things that are allowing people to do things we couldn't have imagined before. I want to learn about them because maybe we, too, can do awesome tech things, if we got experienced people who at least understand the value proposition of these newer technologies and can make the case for them. It is a very cool time to be in IT. I'm learning C# by writing a crappy 4X Civilization knock-off, I'm going to try setting up a kubernetes lab on my linux box, and I've got O'Reilly and Pluralsight on speed-dial.

Getting sick of it again.

I enjoy writing software, but the interview process is crap. Its either waste a whole weekend building some mini app, or some random algorithmic questions which are hit or miss whether I get them right or not. Hardly anyone is interested in looking at code that I have already written. So I am maintaining other peoples balls of mud as its what pays moderately well.

I'm 39, still as excited about new ideas as 20 years ago. Or even more. It's so simple to implement new ideas nowadays, just pick a matching tool/framework and you are good. Back in 1998 you were forced to write a lot of things from scratch long before you get to your idea implementation and it was actually demotivating, at least for me.

Don't you find that most "new" ideas in tech are actually a rehash of something from 20 years ago at your age?

Yes, but so what of it? Technology changes, society changes, tradeoffs change and the idea becomes new again, and has legs and that is interesting.

Sometimes. But now I can see it in perspective and some ideas came at wrong time or were horribly mistreated or implemented in the wrong way.

I relate with you. And my opinion is that it’s harder (or seems harder) to take risks when you have your family to provide to. I’m near 47, and to be sure we won’t end all struggling, I’m mainly working for the same clients, doing mostly the same things over and over.

Of course there are some new project here and there, but in the end it’s mostly CRUD and not that interesting.

So to answer your question, I don’t keep the fire, I do my job.

(Sorry if I sounded a bit dramatic. I love my actual life, we all just moved to Ireland after 3.5 years in the Caribbean. I guess my « fire » is more oriented on the personal life that professional one)

I'm 41. I started programming on a C64 when I was about 10 and then started with c++ when I was 14 on an 8088 but quickly convinced my neighbor to give me her 286 she wasn't using in exchange for mowing her lawn for a Summer.

Most of my life has been financial apps for banks and finance companies. Business "process" apps too. I am currently switching from game development (last 5 years) to quant finance. I am doing this by getting EPAT and also returning to school part-time for Economics.

I maintain my focus by thinking about what got me into writing code in the first place. I loved it. When I was about 8 I remember my Saturday mornings being spent typing in BASIC code from "The Gazette" magazine while drinking chocolate milk and eating powdered doughnuts (Spaulding Kruellers!). I would type in, debug my mistakes and eagerly wait for the final result. Then I would try and change the code to my own liking. Save it to a cassette and move on. When we got a floppy drive I was in heaven, side note :-)

So, my advice. If you love what you are doing then that is all that matters. If you can't find a way to pay the bills with it then do it on the side, continue to love it and things will fall into place in the future. Even if I am writing code for a company, I don't write the code for them, I write it for myself, I do my best work for myself. Then I do it again on the next project (Yes, I know it is really their code and not mine...but....)

Just a couple of precisions here, to clarify (even for myself) and maybe bring some more fuel to the discussion.

>make up for a slower brain, less stamina and decreasing memory

It's a fact, physiologically, that our cognitive skills decrease after the late 20s, there's abundance of literature on the subject. Now, getting older, and with experience, I believe we process information more efficiently (less cycle spent on bs), which can bring a net gain and make us more productive in our daily jobs, it's what I tried to explain in the first 2 sentences.

Concerning the "made it big", here's what I mean:

First, a computer + a brain capable of programming it is probably one of the most powerful combination that ever existed in nature. The potential for creation/disruption is immense, and we can see examples every day. Second, as software devs, one of the driving forces, probably the most important one, is creativity, imagining new things or new ways of doing them. So, when you combine those 2 things, the power and imagination, and then you spend most of your life working on some boring business app, from paycheck to paycheck, one can feel a little bit unaccomplished. The "make it big" here means feeling accomplished, having been able to move your art to its full potential. I know it's highly subjective of course, but I also know a lot of us are feeling that way, so it may not be as subjective as it seems.

I hope it clears up a bit.

That is interesting definition o making it big. I believe you need to be somewhat on the business side of things to make it big that way. There is a surplus of programmers who can write to spec but how many can spot the thing to build that will be disruptive? That's a different skillset.

As I see it, things balance out:

1) Young programmers are eager to try new things

2) As you get older, you figure out what works. This is good and bad. It's good, because you don't waste time implementing things which won't work. It's bad because you may not be willing to try something new that may be superior.

If I managed a team, I would prefer to have both perspectives.

I don’t think age has anything to do with how open you are to try new things, it’s an age old throve, but it really depends on the person. Most of our IT staff is young, and they are extremely unwilling to try new things out. Mean while most of our developers and project managers are aged 35-55 and they are all open to new things.

I think you need to fit you team with the kind of people you want, in development you want risk-willing people, in operations you want to focus on stability.

I will say that a lot of young people often put more zeal and conviction into it, when they do try new things, but that’s rarely an advantage.

But actually trying new things? That’s not tied to age at all in my experience.

Meh. It's all a game to me. Whether you win or lose, you smile and say "gg" to the other players. Because it's more aboutt the fun you have than about "winning".

I've learned to appreciate having boring stuff to do on the job, so that I can keep food and a roof and still have stamina left over for the fun stuff I do at home. Recently I've taken up retroprogramming for Windows 3.1. It's fascinating to rediscover those 16-bit programming paradigms from days of old, and learn things about the platform that I missed on my first go around.

And I mean, it's not very surprising, if you haven't made it big at 40+, that means you worked on a lot of failed projects, that makes it harder to believe you can change that.

Here's a harsh fact to put in your smoking pipe: few of us are going to "make it big". Whether it's FU money, founding and selling a successful startup, working on a blockbuster game, speaking at PDC, or writing a book even as remotely popular as Gang of Four or _Mythical Man Month_. Nope, the best the vast majority of us can hope for is to claw our way to VP of Engineering at Company You've Never Heard Of, LLC. Because a lot of making it big is sheer luck (granted, hard work can earn you more Sheer Luck Dollars, but it's still luck.)

So? Failed projects? Not my responsibility, I did my part; not my problem that management can't manage a project. But I still got to do the work, which was fun, and they still paid me. I don't need other people to use what I wrote to validate my existence. The experience can be used for next time.

build something really significant

Yeah, then you look back and realize what "significant" really means. The next Twitter? Facebook? Really? You know what I work on these days? Stuff that talks to programmable logic controllers on assembly lines. And having worked at several startups that were working on something "significant", I think what I'm working on now is more significant than any of it (obviously, because those startups are gone, and this place has been around 30 years). Because it's real stuff that people use everyday to make actual widgets, instead of building something the world is not a whole lot poorer without, that we'll figure out how to monetize later, probably with ads.

In summary, I kept the fire by changing my attitude about what is important in a macro sense as well as to me personally.

Why is it programming alone where we have to have a burning desire to do it, regardless of the pay check? Yeah, programming can be enjoyable, and it's the way I prefer to earn a living. But it's a job all the same and I keep myself happy by enjoying my time away from work doing other things, not by expecting fulfillment from my job. Nobody would find it remarkable to hear that an accountant got into the career because he thought it would be steady and well-paying, rather than because of his love of accountancy.

Not necessarily "keep the fire", but one big piece of advice I'd give anyone here - don't stay at any given company more than five years, tops. Three to five years is a good run for "permanent".

I work in the Twin Cities, the Land of Fortune 500 Headquarters. It's a big enterprise town. What I've seen happen over and over is people become "lifers", working ten years or more in a single company, then they get laid off or fired and have no idea how to function in the current job market. Worse, their value is heavily invested in the institutional knowledge of their former employer, sometimes specialized to the point where it's useless outside of that company. This causes a lot of suffering.

If you move on regularly, you'll keep interest more easily, see a broader cross-section of the industry, and not be so hosed if you find yourself laid off.

Have you heard of the concept “beginner’s mind?” It’s an attitude that can be developed with practice that helps you see otherwise ordinary things with awe and curiosity. Here’s a bit more about it: https://en.m.wikipedia.org/wiki/Shoshin if you’re curious I can share more references.

I loved this! I don't think there is an English word that succinctly describes this. Thanks for sharing

I would love some more references please.

The term is most commonly associated with Suzuki Roshi, who founded the San Francisco Zen Center. He has a book, "Zen Mind, Beginner's Mind." You can learn more about him here: https://en.wikipedia.org/wiki/Shunry%C5%AB_Suzuki

Here are a few blog posts:

- https://zenhabits.net/beginner/ - https://jackkornfield.com/beginners-mind/

Here are a few talks/podcasts:

- http://dharmaseed.org/teacher/68/talk/17919/ - http://dharmaseed.org/teacher/23/talk/500/ - http://dharmaseed.org/teacher/139/talk/893/

Finally, I have had the most special "beginner's mind" experiences while attending multi-day, silent meditation retreats. I live in the Bay Area, so I've attended Spirit Rock up in Marin. However, retreat centers exist all across the world. I recommend "insight" retreats, which are sometimes referred to as "mindfulness" or "Vipassana" retreats.

I hope this is helpful!

Very helpful, I'm going to pick up on these immediately. Thanks again.

I'm several decades in to software development, and am just as excited about learning things and making things as ever, which is to say, quite a lot. Though I also echo what some other folks have written here: I'm occasionally jaded about yet another rediscovery and reimplementation of something already well understood.

Here's another thing that experience brings though: a sharper focus on efficiency, the ratio of output to input. That is the thing I look for in each shiny new object that drifts across. If it is interesting that will get my attention for a few minutes; if there is a hint that it might somehow move the needle in terms of getting more out of less in, it will keep my attention.

I am 53 and I started to learn BASIC at the age of 15. I started writing assembly code about 2 years later to speed up the games I wrote in BASIC. I write a small amount of code almost every day (maybe 30 or so lines of Mathematica code), but only rarely do I write 1000 lines a week. When I do have a busy programming week, it is rather fun. I really enjoy writing code in Haskell. It reawakened my love for coding. I still don't understand it well, but I know it well enough to be able to convert almost any of my C++ code to Haskell.

Conversely, I'm 30 and lost all enthusiasm for software after working for the big three.

I suggest going to a smaller place where you'll have a bigger impact and, hopefully, good coworkers.

Wow, what did they do to you that you're done with software?

How important is pay? Would you rather take a pay cut and work for a smaller company. Big three pays a lot and has a lot of perks like unlimited PTO.

What a question! If you don't like what you're doing, do something else. Life is short.

I'm 57. I've been programming since I was 14 in 1974.

Engineering is an exciting profession that applies creativity to complicated technical domains. So it uses your whole brain: you have to master a technical area, and then be creative and build things. What's not to like?

I am always learning. I am now learning elixir, a functional language build on erlang. I have lost count of the number of languages I've learned over the years. I am comfortable on Windows, OSX, and Linux.

Honestly, if you're burned out I get it. But to 'keep the fire' just requires you to have some imagination and remind yourself how cool this profession is.

And by the way, I love being challenged by my younger colleagues. They are a conduit for new approaches and ideas and are essential to grow an org. But yes, I have experience about what is likely to work and what won't - based on many failed projects where I learned what not to do the next time.

I switched to nursing. At 55 I've now completed nursing school, have an RN, and am looking for my first job (at about 1/5 or less of what I could earn as a developer). Programming had become too easy. Now I'm doing something difficult again. Difficult is what, for me, keeps the fire burning.

> Programming had become too easy.

what do you meen?

Presumably that most modern programming is about hooking one API up to another. It seems like modern programming work is AI, graph theory, or fairly simple plumbing.

Look at the other post about hooking up the 'smart' doorbell to Slack. That's about as interesting and 'hackerish' to me as using the switch on your surge protector to turn on two lights at once.

When I was new at programming, it was so exciting, and exercised all my brainpower, to figure out solutions. But after 30 years, as I got better at it, even if I couldn’t come up with a solution right away I was sure I could soon enough. No more thrill than doing a daily crossword.

40+ embedded engineer here. Still yearning for working on a start up of something significant. Feel like I have the experience and skill to contribute significantly better than the young engineers I have had a chance to work with. Just hoping that the right opportunity will knock on the door some day.

I'm 40, started programming at age 7 on the Commodore 64.

Recently I have been exploring and implementing my own ideas with child-like purity. Programming has always been a hobby and a passion but once I started working professionally it kind of went on the backburner.

In the past I would learn new frameworks and hop on the bandwagon of whatever the newest technology was. It is getting to the point now that I'm really sick of how bad things have become. Programming in assembly required 1 op code to set a variable. Now in Redux I need 20+ SLOC across 4 files to do the same? Functions are now API calls, modules are now containers.

The tools I use are designed for specialized (division of labor) roles and favor simplicity and verbosity over power. So many barriers are erected with all the technical bureaucracy we have now.

The tools out there are built under the paradigm of a large team. There's nothing out there that is a tool for experienced programmers writing an entire app themselves.

I've set about building what I wish I could be using and am ignoring what the industry considers best practices, commonplace, etc. It's a pure creativity mode and feels more like play than work. I'm going with my gut, intuition, and experience without a concern about how it will interop with existing paradigms and what other developers are used to. I'm building short explorations to test out a concept and trying to figure out how to use these new concepts.

I'm exploring new programming paradigms: applications as a graph. How to compile said graph into an AST. How to manipulate the graph using tools appropriate for that section of the graph (lots of different structured editors / modes for each task). I think the paradigm of manipulating all aspects of an application using the same 2D grid of characters we call source code is an outdated concept.

I also enjoy mentoring interns and junior developers. It's amazing seeing them learn and using the insights that took me ages to learn.

In short, I'm concentrating on being true to myself and what I want to build rather than just programming for a paycheck.

I've found that it is very easy to get a new job, but it's much harder to find a company I like. In the past I would switch jobs chasing a hirer paycheck but now fit is much more important. Find a company where you feel like you are appreciated, can contribute meaningful work, and that gives you the freedom to do so.

I'm 42, turning 43 somewhere in the coming months. What I gather from your question is actually a more general property of aging imho. As we get older we actually have seen quite a few things before; we've burned our hands a few times and naturally've become more careful and considerate when evaluating choices.

The big advantage of youth is its naïveté; to be able to dive head first into a new idea, uncompromised enthusiasm, strong believe in your abilities because why the hell not! All the patterns are new.

The big advantage of our later years is experience, wisdom, recognizing certain things a viable and others as not so much because we recognize the patterns.

I think that one should be wary of our more negative experiences leading us to cynicism, imho the opposite of youthful enthusiasm. You see, we have the tendency to think we really do know the outcomes of certain things based on our wisdom, but the way the world works, sometimes that is totally counter-intuitive.

Case in point: when I was about 21, I got a 25000 loan to buy a Silicon Graphics O2 with Adobe Photoshop and Illustrator + MIPSPro Compiler license (I kid you not) because I wanted to learn about this awesome computer and operating system. It was not a well-thought-out descision (it took me 6 years to pay of that debt). I couldn't afford software for it (hell, Alias Wavefront PowerAnimator was 35000 a seat!) so I decided to call companies that were releasing software for IRIX and bluntly ask them if I could test their software for them. I got on the phone with one guy and he said: "wait. are you telling me you bought a 25k computer just to learn?". I got a job interview the next day. Funnily enough, by buying that O2, I got a job at a graphics software company (my first programming job), I travelled the world because of that descision, met a whole bunch of awesome people and essentially, that thing kickstarted my life + career in a way that I could not have anticipated. My point is: when you think you've seen it all before, or something seems like a bad idea, keep in mind that you often can't really tell the consequences of something. At least, that's what I tell myself and it helps keep the cynical part of me in check.

I think my advice would be: kill cynicism, dive in something new head first without over-analyzing, just for the heck of it, try to find the fringes of your knowledge and push the boundary outward a bit more. Don't over-analyze try to re-connect that enthousiasm you feel/felt when discovering/exploring/coding/inventing.

Mostly I'm just rambling and drinking Bell's "The Oracle", so take this for what it is worth. Maybe not even 2 cents.

I've been coding for hire since I was 13, and I'm in my early 50's. I always loved electronics so about 20 years ago I moved into embedded. I left the rat race of the latest language / latest libraries etc. I code in straight C and maybe some assembly if the task demands it.

I feel I get better every year, and the demand and pay shows that. The only thing I've noticed is that I'm slower to anger and more willing to listen to ideas, but like you said, my BS meter is very sensitive.

About the only age-related thing I've noticed is that it takes me longer to heal when I injure something. I can't participate as easily with softball on the parking lot or even frisbee.

I'm not an expert; I truly learn something new EVERY DAY. The difference now is that I can often out-think my coworkers that are in their 20's, all from experience. About twice a year I get to work on things that have never been done before. Mostly, though, it is state machine after state machine, but to be honest, I've never found a lack of motivation with embedded.

It seems that there will always be a need for firmware down on bare metal. At least I'm banking on it, and plan to be doing this for 20 more years or so. As far as "making it big", I don't care. That was never a huge goal. I just wanted to provide for my family and retire some day.

PC app development is a different story. I was burned one too many times and cannot concentrate to write ANYTHING. Why that is (or what the difference is) I don't know.

I built a web-hosting site when I was 17, but I did not go to college for computer science, instead I studied physics. Then I went into scientific research in graduate school.

Now in the early 30s I am finally starting a career in software development. I am still excited to learn new things all the time, and I really enjoy the process. Just wondering what will be different if I started a software job 8 years ago instead of now, moneywise or not...

46, and not a software developer, but I recruited for 20 years for startups and now I'm a resume writer and career consultant that works with lots of older engineers. The ones that are happy seem to not stay in one place too long (either moving internally to different projects or changing jobs), so they are always learning new things and often meeting new people.

I think a lot of 40+ engineers are unnecessarily skeptical about startups and smaller companies. Sure, the chances of any individual startup going under are pretty obvious, but once you're in that ecosystem it's not hard to get picked up by others in the ecosystem. Everyone from that startup is going to find work at another, and they'll bring along some friends, and your network gets pretty spread out pretty quickly which provides more and more opportunities.

I'm not even sure what "making it big at 40+" means - if you mean building something technically significant, many won't hit that goal. If it means having a good paycheck and lifestyle, that's attainable for most skilled devs it seems.

I am programming since 1986. I have programmed in Fortran, Cobol, Basic, Logo, Forth, C, C++, Pascal, Lisp, Prolog, Java. I love programming.

I don't know if I made it "big".

What is big?

None of the projects I have made in the past are still in use. Most have been forgotten. Some were forgotten even by me, although I was the only developer :)

Software is a moving target. There is no making it big. Everything you do will get obsolete pretty soon.

But this is good! That is exactly the point. Software is intended to be "soft" and changed whenever a change is needed.

So, when programming you are competing with yourself and your abilities as of that moment in time. The only negative outcome is when you fail to make it at that time, so you fail the expectations you have from yourself.

If you don't love programming and deeply understand that all software projects will be "failed ones", consider another approach.

In programming you should not aim towards motivation from recognition by others, but from exceeding your expectations from your self. To a better job, always! Aim high, really high! Aim complex, really complex!

On the one hand, I'm more productive and valuable than ever because I have wisdom, which comes with time. I was good at this and successful when I was 20, but I wasn't in a position then to know what the ceiling is for a 20 year old vs. a 40 year old.

And after 20 years I have my perfect toolbox. The languages, frameworks, editors, etc. that work best for me, that are an extension of myself and make writing code as easy as speaking English. We compare these things as if their objective qualities matter most when we should discuss them more subjectively. (Or at a minimum, context-specifically.)

The downside is, the industry values and rewards knowledge, not wisdom. I slowly drift further from what the industry wants me to be, or the industry slowly drifts further from being what I want. The work takes less effort than ever but finding an environment I enjoy working in is getting harder. That's the fire I'm having trouble keeping up. I don't know how if I'll continue in technology through retirement or not.

When friends try to pitch me on their million-dollar ideas, I feel that I have a much better ability to estimate the size and scope. So instead of starting construction, I'm more likely to say something like '3 full-time devs working 6 months for a solid prototype, another 6 months for something that could be released' -- who's paying for all of this?

It is a common story to see a bunch of young brogrammers on the west coast build something big and ambitious and then have it fall flat on its face. (For instance, GE Predix)

You might have to fight every bit of the way, but with experience you can save this kind of group from itself, or at least help them have a plan B that works when plan A fails.

Yes, save some, destroy inspiration in some others too, experience can do both, don't you think?

>And I mean, it's not very surprising, if you haven't made it big at 40+, that means you worked on a lot of failed projects, that makes it harder to believe you can change that.

Not even 5% of the population "makes it big at 40+" (or ever) so there's that.

I think I am as productive, maybe even more, than I was 20 years ago.

That's interesting. Only "maybe"?

I am so much more productive than I was 15 years ago. Is it possible you're looking back at your much younger self through rose-tinted bifocals? I am at least an order of magnitude more productive than I was 15 years ago. Nowadays, things get DONE and done right, and then I have time for a cup of tea and a chapter of Josuttis (this second edition templates book is a monster).

I am 40 now, I have been programming since I was 7 and I still enjoy it.

I am still trying to build side projects and improve my skill.

Learning to write code that is easy to maintain is one of the key skills you come to appreciate with time. Documentation is another thing that becomes important.

I would add that teaching and mentoring are just as important as you get older. The junior programmers can really benefit for the knowledge you have gained in the trenches over the years.

I think you have to start with the art. Creativity and critical thinking is what keeps me excited for what I do. The experience and the tooling is just the attachments which extend the capabilities of the brain stuff. Maybe I would get more down on my work if that were to get out of balance, less creativity and more process. Maybe a change of scenery would be good? Try something completely different?

"if you haven't made it big at 40+, that means you worked on a lot of failed projects"

Say what? No! The project gets done, the customer is happy, and you move on to the next project. After a couple decades of this, I have a hard time recalling failures... maybe at 40+ the failures can't be remembered? This is fine.

One of the most helpful things that I've done in my life has been to make sets of friends who are different ages than I am.

It helps me understand that although there are certain states of life people tend towards, aging isn't as harsh for everyone.

When I was 25, I thought that people who were 50 were ancient. But I play with a blues band and the drummer is 73 and still gets under houses to do plumbing.

My friends in their 80s who are still working are often slow... we all become geriatric at some point if we live long enough.

But I've also met people in their 50s who are really, really old. And I mostly date women in their 40s, and one of the most interesting things has been how old some people in their 40s are and how young some people in their 50s are.

A second thing that has helped me is that I keep playing with new stuff, just for fun. I keep taking up new instruments (I've been spending a lot of time playing banjo and piano, but this year I built a modular synthesizer and have been enjoying that way of making noise quite a bit). I keep learning new technical skills and because of the business I am in I can have my boss sell projects that allow me to practice the ones I think will be more profitable. And all that has taught me how much we can actually learn if we're just spending a 20-30 minutes a day on a specific practice, over the course of years.

So, I just turned 40 a couple of months ago, I sent my kid off to list first day as a high school senior. And I've got enough time to do about 3 more careers in my life. I've been a university professor, a semi-professional musician, and right now I'm a pretty good programmer and all-around IT worker.

Knowing all those people older than me, I'm able to see how much longer I might be here. I stopped drinking, got down to a very healthy weight, took up exercises that are fun (a lot of yoga, mountain biking, and hiking). I've gotten a lot picker about how I have romantic relationships. I travel more to visit my friends who have their kids tying them to a locale.

And knowing how much progress we can make by constant, slow study has made me super excited about learning general things. I read a lot of philosophy and history, but I also do a lot of playing with technology.

I started learning math again, because I feel like that will be important for understanding the various kinds of statistics I'll have to do to work with statistical tools like machine learning. CRUD apps have paid my bills for a long time, but I don't know how much longer I'll get a thrill out of building them.

So that's what I do. I'm not worried about making it big as a musician or a programmer because I like the process and I can get enough remuneration from it to keep everything going as long as I feel like living.

And I suspect that I am actually a lot quicker witted, can pay attention longer, and have a better memory now that I occasionally fast, am not drinking every day. I suspect that a lot of my friends in their 40s aren't "slower", they just have kids and are dealing with it by drinking, like I did in my 20s. And I do know that we age, but I also know that how we age isn't the same for everyone... with good luck, we have a whole lot of time to learn and play with interesting ideas.

> "because I like the process"

This! Awesomely inspirational answer by the way..

I quit one career because I felt similarly.....so I switched TO web development at age 40 and I love it.

Sometimes quitting is the answer...

Oh, 40 years old! Piece of cake, I thought the question was about 40 years in development.

I'm 53 this year, still love programming. I think the trick is to always be trying to move forward, and also look for ways to share your experiences with younger generations.

Switch to math-heavy domain, e.g. quant finance. Besides being a fascinating field in its own right, the maturity and depth of thinking and experience that comes with age are actually valued here.

I'm doing this now, actually. It keeps my attention :-)

I keep it going because I’m passionate about being able to afford the upper middle class lifestyle that it affords me.

I keep learning because I want the optionality of leaving a job of it starts to suck.

Well... technology is constantly changing, so there is always a lot of potential at every phase of its evolution. I watched Silicon Cowboys last night and it was inspiring.

> if you haven't made it big at 40

I remember a meme in Silicon Valley that if you weren't a millionaire by 30 then you failed. And that was in the 1980's.

Do shit - do all kinds of shit - go into a shit frenzy if you like! Just stop letting your professional work limit your experiences in programming.

So right now, I'm in the "shit frenzy" phase. I'm building small devices during the weekend using the NodeMCU (ESP8266) microcontroller, designing custom cases for it and then 3D printing it. It's pretty exciting!

I'm also using a Raspberry Pi 3 B+ and a couple of modules to track how many times my hamster runs on his wheel, the temperature near his cage and soon I'll set up a Load Cell to weigh his little fat ass daily.

A month ago, I wrote a CLI tool written in Go that allows you to write SQL against Google's Firestore. It gave me a chance to use Antlr to define a custom SQL language and create fun commands like the ability to load a collection from a file.

At night time, I've been working on a course that will teach people with no programming experience how to code. I'm only covering what would be fundamental for getting started. That means I leave out things like recursion and other concepts. When the course is finished, I will publish it online including videos, presentations, homework assignments and more.

I've been programming professionally for over 20 years, and it feels like I just started.

All that fluffy shit being said, there have been points in my life where I thought "How can I continue to keep learning and doing at this pace"? In those moments I paused and reflected on the months surrounding those questions, and I discovered that I wasn't doing shit exciting.

I think you might be a little tired of the stress/ownership of coding and all of the details that are required in building a system. That might be a sign you need a different team.

In regards to younger folks - listen, I get what you go through at times. I use to hate having some old lazy person tell you bullshit. Here's some advice for you.

1. Sometimes older people are just beaten and worn down - because of that, and they'll try to slow you down. Try to listen to their reasoning and determine "is this person full of shit and wants to look good or am I moving too fast and it's hurting me"?

2. Age has not a fucking thing to do with how experienced you are in this industry. I've seen code monkeys who pushed the same key for 15 years. Ask yourself.. is that asshole a senior engineer?

3. Try to find someone who's a) knowledgeable and b) gives a shit about you. Make friends and learn!

4. Remember - one day you'll become that old ass person. So try not to turn into a dick yourself. It's far too easy to grow an ego and shut people down in this industry. 99% of the shit people say is highly subjective, but 1% of the shit is fact. e.g., "This is easier to maintain!" - subjective "This will cause the system to shut down, and me beat your ass" - fact.

"I'm always angry" -- Hulk

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact