4 ms·
I'm an old programmer (almost 50). I completely disagree with you. Young people are very, very smart. I hate old programmers that think they have an edge over
by docker_up 8y ago
I'm an old programmer (almost 50). I completely disagree with you.
Young people are very, very smart. I hate old programmers that think they have an edge over young people. I've worked with kids who could be my children, and they are mature and smart and hardworking. Once young people hit about 10 years experience, they are as good as anyone with 25 years experience, because most of the first 10 years isn't as relevant anymore.
Sure, I bring some maturity to the table, and a bunch of war stories. I also believe I know how to program to avoid most bugs, so I take pride in having very low-defect, excellent code. But it is daunting competing against someone who could be your daughter and who can compete neck-and-neck with me.
- WalterBright 8y agoSmart isn't the same thing as wise. Wisdom is smart combined with experience/knowledge. Smart says implicitly defined variables is cool. Wisdom says it's a bad idea because you tried it when you were young and smart and now know the unanticipated consequences. There's an awful lot about good software engineering that is not taught in any CS program I've heard of. This information is acquired via time in the trenches and older folks on the team mentoring you. An example is that certain kinds bugs tend to emanate a characteristic smell. Experienced programmers can discern those smells and hone in on its source a lot faster. Certain kinds of code also have a bad smell, even if they work correctly, that experience will detect.
- slavik81 8y agoOld is also not the same as wise. There are plenty of young fools in the world. Many of them become old fools. What you're saying is absolutely true, but these generalizations are not useful. The distributions are too wide. Individuals from either group frequently surpass each other. Another confounding factor is that age does not equal experience, either. I was taught software engineering as part of my EE degree. That was exciting, as I'd never before met anybody who knew anything about software development. After graduating, I became a full-time software developer. After 5 years in industry, I felt I wasn't learning enough anymore and went back to school for a grad degree. I was shocked by how good some CS students were when I started teaching. Unlike me, by second-year university, some of them already had years of practice, mentorship and formal training. Having a focus on software and a knowledgable parent meant they got to learn at 14 some things I didn't learn until I was 22. (I learned plenty of other things. In fact, I'm probably the only person in the computer graphics lab that knows how semiconductor doping works. Though, I can't say that comes up often. That experience is perhaps not so valuable to my current role.)
- throwaway84742 8y agoCode is costly, high maintenance, and it has high cognitive overhead. When possible one should avoid writing code. But if you do decide to write it, not wasting time on shit that’s not going to work anyway can be much more valuable than code per se. Lacking experience, junior devs often try to boil the ocean where a cup of tea would be better.
- mikekchar 8y agoMost of the young people I work with are quicker witted than I am (I'm 50). However, I have an edge over most of them (IMHO). I have good work habits. I'm organised at work (though hopeless at home). I have good communication skills (strengthened by years of practice). I have compassion for my coworkers, having experienced the same things they are going through. I understand very well what my strengths are and I know how to lean on my comrades when I need to. Most importantly, when writing code, I have judgement based on experience (not blog posts), I don't freak out when someone changes my code, and I don't panic when we make mistakes. Finally I know how to hedge poor management decisions to limit downside without materially impacting productivity. Also, I don't know about you, but I'm still learning important new things even at my age (and experience level). I don't see an end in sight, so either I'm a very slow learner, or there is more than 10 years worth of things to learn/experience.
- pacomerh 8y agoI have a few coworkers who are in their 20s and are very mature, have good work habits, are patient and smart. I'm constantly impressed with what they bring to the table considering they're this young. Not sure if this is a larger company thing, but yes they exist and it almost feels like its a new generation of kids that grew up wasting less time.
- mikekchar 8y agoDon't get confused between talent and experience. Experience is the thing you wish you had just after you got it. Talent is kind of like the container for experience. It governs how much you can use and how fast you can acquire it.
- radicalbyte 8y agoI'm 37 and have yet to meet a "younger" programmer who could get anywhere near me. I know plenty of older (40+) coders who are much better than I am. EDIT: a lot of this is due to being location constrained (well, me wife is, and she makes more than I can make in the Valley) so I can't go and work with brilliant teams in Amsterdam/Berlin/London/USA. It's down to the pool being bigger (development pays well so career chasers do it) and survivor bias for old developers. The "bad" younger people either get found out our talk their way into management, or they find a niche and becoming unmissable in their company (and can never leave). I'm right at the lower bounds of people who learnt their craft on the 8-bits coding pretty close to the metal.
- dx034 8y ago> It's down to the pool being bigger (development pays well so career chasers do it) and survivor bias for old developers. The "bad" younger people either get found out our talk their way into management, or they find a niche and becoming unmissable in their company (and can never leave). I think it's more because of motivation to become a programmer. A few decades ago (or even until maybe 10 years ago), programming wasn't that prestigious, you only did it with an honest interest in tech. Tech today is what Investment Banking and Law was a decade ago, the way to make a lot of money quickly in a fancy job. That will lead to many people going into it that are highly intelligent (and therefore able to produce code) but not motivated to produce output that will function well even after they left the company.
- gaius 8y agobecause most of the first 10 years isn't as relevant anymore Maybe in JavaScript-land. But in C/C++, major databases, Unix at scale... laughably mistaken.
- adrianN 8y agoIf you still write C++ like it's 2001, you're doing it very wrong.
- pjmlp 8y agoUnfortunately many are still doing it like it's 1993. https://www.reddit.com/r/cpp/comments/8evtgy/why_is_modern_c_seemingly_not_being_taught/ https://www.reddit.com/r/cpp/comments/8evtgy/why_is_modern_c...
- gaius 8y agoThe experience of structuring programs in the large, mapping domain knowledge onto classes etc is all still just as valid. And don’t forget: there are plenty of codebases older than that that are still being actively maintained and developed.
- adrianN 8y agoSure, but asking somebody who only knows C++98 (or even pre-STL C++) to write modern C++ is pretty much like asking them to write Java. It's like learning a new language.
- gaius 8y agoAgreed, but that first 10 years of experience is still valuable and that person will be up to speed with C++14 or 17 very quickly. In my experience C++ people are eager to adopt new features of the language... I don’t think I’ve ever met one clinging stubbornly to pre-STL days...
- Const-me 8y ago