Ask HN: Is programming a “young person's game”?
I've heard this being said about mathematics and we know that both programming and math are logic based and pretty much require the same thinking techniques and programming is derived from math. So, wouldn't it be true that it's a young man's game for programming too?
You only see top programmers who started as kids and probably won some Olympiads and programming competitions, and this continued in their 20s and maybe kept their skill up till 30s but that's about it. What do they do after that?
I'm 30 and missed my chance to be a kid prodigy in programming or math and clearly not happening now. Is there an area where you can be good at as you get older and what is the old man's game options as a programmer?
150 comments
[ 3.0 ms ] story [ 207 ms ] threadWhat matters is not having youthfully crackling synapses, but motivation, curiosity, hard work. Though a youthful memory certainly would be a help, it’s nothing more than an enhancement to your capabilities. Experience counts for more.
30 is still young to start programming. At 30 you can still spend 30 years programming till retiring at 60.
Full disclosure I’m an “old” guy, but I’m just as passionate, curious, hard working, motivated, technically cutting edge, up to date and interested as I was in 1987.
If you want to be the best in the world it does help to start young.
But if you just want to be really good, you can start any time. In a pursuit like programming there is some benefit to being young, having those 'crackling synapses' which help you think fast.
But there's also some benefit to being old - the longer you work the more you build up a library of solutions in your head. Every time you solve a problem it gets easier to solve it (or a problem like it) again.
Which is the bigger advantage? Hard to say. But programming isn't like basketball. No programmer peaks in his 20s. So maybe that's your answer.
Like others are saying, the only difference where age might matter is life circumstances, it's less about mental faculties (you don't need a quick reaction time to hack unless it's a competition may be) beyond logical reasoning, which people of any age can master.
Where do you get this idea?
But I'm a career switcher (waiter to software developer) who made the switch when I was 40, meaning I'm obviously against ageism.
One can manage their expectations from programming by aiming to learn to code and only work with high level languages and develop software than do low level coding.
I don't know about that, have you tried?
Anecdotally, my best experiences have been with older programmers. I worked with a guy in his 60s who had some absolutely incredible personal stories to tell (he hitchhiked from Europe to India in the 70s...) but also a wealth of previous knowledge from his decades in the industry. He'd seen a lot, but still had an attitude to learninng (he was writing node.js, ES2020, all the modern gubbins, promises, maps, etc).
I think it's more to do with you as a person. Are you willing to keep studying and learning for the rest of your career? Even if you're not, there will probably be a slew of jobs that are fine for someone who has already "peaked".
TL;DR: I don't believe so
Fields medal is for mathematicians under 40 years of age.
When most people start programming: most people discover what they're passionate about early in life. That of course gives them a huge bonus, because they usually can spend a lot more free time and are nimble learners at that age. However, learning a skill early can also have draw backs, such as being set in your ways because you were in a "know it all" phase at the time, or learning to do things based on instinct rather than reflection.
How long they stay productive: that probably varies a lot, but I don't think I was as productive in my twenties as I'm now in my fourties. I suspect that people who drop out of programming lose passion for it or discover more important things, rather than lose the knack for it.
Whether it's possible to pick it up later in life: there is such a thing as innate suitability. If you're having a hard time, that could be a factor. Or maybe something just hasn't clicked yet. More likely, it's just not for you. All of these considerations don't matter if you're doing it just for fun, mind you. That being said, unless you really forgot how to learn new stuff, it's totally possible and pick up skills later in life and then excel at them (bodily restrictions may apply).
I would say programming as a skill is mostly driven by a constant dissatisfaction and need for improvement, not necessarily by the age of the programmer.
They get a life. You know, a partner, a different hobby from programming, some kids.
Imagine you are 35, have kids (and care to spend time with them) and you have to train your body or it will break down so you must go to gym even if you don't like it. You have to sleep good or you'll crash.
Compare that when you're 22, no kids, no need to exercise, young energy, can sleep bad, you want to change the world(overworking), programming is also your hobby, etc.
> I'm 30 and missed my chance to be a kid prodigy in programming or math and clearly not happening now.
To be good at math olympiad you have to train for it (a math olympiad professor told me). You can't just be "smart". It's like HackerRank, you just have to study HackerRank to pass HackerRank.
> Is there an area where you can be good at as you get older and what is the old man's game options as a programmer?
You can be good at specializing (example I like backend, dbs/search-engine, performance) or managing.
You can still be clever in the business sense with something simple like CRUD SAAS. Apply your unique insights and life experiences to identify the problems you wish to solve. Finding the right opportunities is more important than solving them with high-falutin solutions.
A simple and elegant solution which serves customer's needs will always have an appeal. Using technical expertise to get that solution in front of the customer's eyes is even more important.
Code is only a tool, a vehicle to take you towards your destination. As programmers we sometimes telescope in on our love of technology. Take a step back and look at the larger picture.
I am a JavaScript developer. I am much older than you. It is very much a young persons game, but let me qualify this.
Most people actively programming JavaScript for employment cannot program, at least not to the level considered minimally employable in many lesser popular programming fields. Hiring is structured around this, so much so that employers much make a specific dedicated choice between a risk adverse tool user versus an innovative problem solver focused on product superiority. They will almost certainly choose the former because it’s a safer option. Employers willing to take a risk on developers interested in doing original higher quality work tend to be those that work harder to retain their developers.
So there’s that.
On the other hand I didn’t start programming until I was 28. It didn’t take long to become better than average. Now, a bazillion years later, I can do things now that are vastly superior to what the big companies are putting out. It’s not because I am talented or a child prodigy. It’s because I measure things and make original decisions not based on popularity or some community consensus bullshit.
I think that competitive spirit, or arrogance, depending on how old you are, lessens with age. Also, the older you get, the less time you can spend with any competition (try to play some MMOs against teenagers in your thirties). Finally, your body is peaking around 20. You can of course fight that and many top-level athletes compete at a very high level in their forties (think Fernando Alonso), but even these outliers are arguably less capable than ten years ago and have literally decades of experience.
Fortunately, programming as a profession is not a competition.
If businesses can settle into a cadence with high psychological safety and multi-year runways, older programmers can do tremendous things for the business (or government/organization) and deliver high quality software and at the same time train up junior engineers.
Programming is about two things: dexterity with tools (editors, operating system, log analysers, code versioning etc) and conceptual thinking (abstraction, planning, problem framing, problem solving). If you are interested in starting with programming, I suggest you pick a topic you care about as a hobby and progressively become more serious about it:
- do you like web design? start a simple home page for a project
- do you like DIY electronics? start with embedded programming
- do you like gaming? start with one of the gaming engines
- do you like phone/tablet apps? start with a low-code platform
Also find someone to mentor you, ideally someone you can talk to in person or over a video chat.
I think you'll find most programmers become better over time well into their 40s, as making the right architectural/structural decisions easily trumps any minor loss you may experience in "fast thinking".
I've found programming is one of those disciplines that (often) doesn't feel like work to me .. and for that I'm eternally grateful.
There will always be someone who is 'better' than you.
Be open also for changes, we went from desktop applications to the web. Learn the technologies involved.
You need people with different backgrounds on the field though, just because I started very early, it doesn't mean that I don't respect or take to high regard somebody that would start coding on their 30s, but the opposite, they are important and valuable to have in a team. Developing software is much more than only programming and much less related to maths or olympic medals lol.
Nowadays there are so many materials and courses that makes getting into programming so easy, I had to go through many phases you just don't have to.
I've spent countless hours configuring servers in a way that nobody does anymore, using programming languages that almost nobody does, text editor configurations nobody use and so on. You'll never need to waste time with that. But once you are working 10+ years in the field, it will be expected from you that you learn new things.
I don't see starting early as being an advantage, its not like golf or whatever. Curiosity will get you further than precociousness.
I think the one advantage you have as a "young man" is that you have abundant spare time to hone your skills. If I were to pick up programming now (or any hobby that requires determination), I doubt that I would have the time required to fully immerse myself in it. But I am much older than you and fully occupied with job and family life, so not all hope is lost for you.
In some ways, programming is like learning a musical instrument, but in others it isn't. You don't need to fine-tune your brain synapses for amazing finger coordination. But like with almost everything, the more you practice the better you get.
Finally, I really wouldn't worry so much about whether or not it's a young man's game. If you're curious, programming is probably one of the easiest things to get into: no special gear required other than a computer and an infinite amount of resources for learning available for free online. Plus, you have online communities to find answers to common questions like StackOverflow.
Don't overthink it, just dive in.