Ask HN: Software development after 40, how do you keep the fire?
111 points| m3mpp | 7 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?
[+] [-] bgribble|7 years ago|reply
* 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.
[+] [-] awinder|7 years ago|reply
[+] [-] growlist|7 years ago|reply
[+] [-] itamarst|7 years ago|reply
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.
[+] [-] m3mpp|7 years ago|reply
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.
[+] [-] andrei_says_|7 years ago|reply
[+] [-] dfsegoat|7 years ago|reply
- 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:
http://jockopodcast.com/2017/02/22/63-through-the-valley-my-...
[+] [-] mothsonasloth|7 years ago|reply
[deleted]
[+] [-] edw519|7 years ago|reply
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.
[+] [-] LinuxBender|7 years ago|reply
[+] [-] irchans|7 years ago|reply
[+] [-] sprucely|7 years ago|reply
[+] [-] bitwize|7 years ago|reply
[+] [-] andrei_says_|7 years ago|reply
[+] [-] jcadam|7 years ago|reply
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.
[+] [-] return_True|7 years ago|reply
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.
[+] [-] codingdave|7 years ago|reply
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.
[+] [-] fsloth|7 years ago|reply
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.
[+] [-] rootusrootus|7 years ago|reply
[+] [-] hotsauceror|7 years ago|reply
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.
[+] [-] collyw|7 years ago|reply
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.
[+] [-] dmitripopov|7 years ago|reply
[+] [-] collyw|7 years ago|reply
[+] [-] JeanMarcS|7 years ago|reply
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)
[+] [-] jason_slack|7 years ago|reply
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....)
[+] [-] m3mpp|7 years ago|reply
>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.
[+] [-] whatsstolat|7 years ago|reply
[+] [-] johnvanommen|7 years ago|reply
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.
[+] [-] eksemplar|7 years ago|reply
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.
[+] [-] alex_lod|7 years ago|reply
[+] [-] banterfoil|7 years ago|reply
[+] [-] tinktank|7 years ago|reply
[+] [-] bitwize|7 years ago|reply
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.
[+] [-] mikestew|7 years ago|reply
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.
[+] [-] emodendroket|7 years ago|reply
[+] [-] beat|7 years ago|reply
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.