9 ms·
We need young programmers; we need old programmers
- al_mandi 4y agoI see a lot of lack of appreciation for older, more experienced programmers in the field. Perhaps this is why things keep getting reinvented all the time, and the pendulum keeps swinging back and forth as we don't learn from previous generation's experiences? Too much fad and hype driven development these days.
- postalrat 4y agoIn this field everyone thinks they can do it better. Being humbled just means you are washed up.
- ryall 4y agoThis is why you need older programmers, protection from the hubris of youth
- trombone5000 4y agoWhat's wrong with fad and hype driven development? It may be better to replace software regularly than to find yourself or your organization dependent on something ossified in place. In the long run it might be better to treat software as "fast fashion" rather than something meant to last forever.
- pjmlp 4y agohttps://blog.codinghorror.com/the-magpie-developer/ https://blog.codinghorror.com/the-magpie-developer/ That is what is wrong.
- trombone5000 4y agoFrom the link: > Pete concentrated on building a system [in COBOL] that works for him and his clients. If that system isn't replaced before Pete retires, it turns into a significant hidden risk. You don't know how dependent on something you are until you try to replace it with something else. If hype is driving the replacement, so be it. An organization can make replacement a regular practice and get good at it; or it can find out when it unexpectedly becomes necessary.
- pjmlp 4y agoPete could have discovered that even COBOL follows hype, no need to switch stacks. https://www.microfocus.com/en-us/products/visual-cobol/features https://www.microfocus.com/en-us/products/visual-cobol/featu...
- AnimalMuppet 4y ago> What's wrong with fad and hype driven development? The "flavor of the month" band wasn't as good as The Rolling Stones. That's not the end of the world if all you did was buy their CD, and then never listen to it again after the month was up. If you completely rebuilt your stereo to try to make that CD sound better, though, that gets more expensive. (Especially if you rebuild it again next month for a different band.) Development is more like rebuilding the stereo than buying the CD. It's expensive. It takes time and money that could be spent on other things. Worse, in replacing dependencies, you may replace a dependency on something that works with a dependency that doesn't work nearly as well. You may replace your Corvette with a Corvair. (And spend time and money to do it.) If you have battle-proven tech, there is a place for eventually replacing it. Eventually, though. Not very quickly. And when you do replace it, don't replace it with the fad of the month (or even the fad of the year).
- onion2k 4y agoWhat's wrong with fad and hype driven development? Ostensibly nothing, so long as you can tell when things are better. If you're trying new things and taking on new, better ideas quickly then you'll improve rapidly. If you're also "failing fast" and throwing out new things when they don't work then you'll improve even more rapidly. If you're abandoning good tech simply because it's old, and not fully understanding the drawbacks of the new things you're switching too, then you're building an empire of tech debt that all your good team members will eventually get sick of fire fighting and they'll leave. Novelty doesn't make people loyal. Working on strong tech that people are proud of does. Sometimes that requires a deep dive into some tech over a number of years.
- cogman10 4y agoWhat I find is you have people that gain 10 years of experience in 10 years and people that get 1 year of experience repeated 10 times. The field changes, it's changed significantly since I started 10 years ago. Yet there's a fairly large contingent of devs that aren't keeping up. I've interviewed old devs that are at the top of their game and old devs that are no better than the interns we have. I've worked with the same.
- postalrat 4y agoWhat are you basing your judgements on?
- tester756 4y agoIn my opinion: They lack foundational software engineering knowledge/opinions Use their IDEs as if they saw it for the first time Lack of experience when it comes to architecture
- btschaegg 4y agoIt becomes even worse if you run into people who operate on cutting edge knowledge from decades ago and insist on it. I've seen people organize their data in a cache-pessimal way in order to squeeze out a couple of CPU cycles, for example. It becomes really tiring when you constantly have to whip up a benchmark just to settle debates on things that have been common knowledge for basically forever now.
- tester756 4y agoHaha, I've experienced that. You can argue everything with "because of performance reasons" because it requires way more effort to actually check it.
- neonsunset 4y agoOr sometimes it's the opposite and you get shoved "Premature optimization..." quote up your change request during every code review and fighting person's bad habits requires you writing benchmark or referencing 5 articles with examples for every little thing. It's maddening.
- TAForObvReasons 4y ago"Job security" Without being too reductive, software is subject to the theory of economic profit and thus tends to ~free. Churn is the natural response. It artificially create the sort of work that forces users to spend money in the future.
- beebmam 4y ago> Perhaps this is why things keep getting reinvented all the time This is a good thing, in my opinion. Not only does reinventing something give a new generation an opportunity to learn how to design, but it also gives that new generation context and knowledge about the product when it is complete. > we don't learn from previous generation's experience This is a serious cultural failure (and it happens globally). Very few of us sincerely engage with the past, in my opinion, because it takes a lot of effort to do so. And either it's not worth the effort on an individual level, or we haven't been allocated the time/resources by management that it would take to sincerely engage with the past.
- deleted 4y ago[deleted]
- bmitc 4y agoOne thing I have been curious about is: where are all the old programmers? I want to learn from them but very few put out material, and so you gotta get lucky that you work with one. Most of the material out there on YouTube, books, and blogs seems mostly dominated by younger people (30s and below). I'd love to see people who really know what they're doing put out some material.
- CrLf 4y agoPerhaps they get used to nobody listening and just stop talking.
- wink 4y agoLosing the enthusiasm to blog and create videos. Also I guess a certain lack of not giving a damn if you actually produce something valuable. For example 10-15 years ago I was very eager to write down every little thing I learned, but after a certain time you either notice that you don't know a lot, in the grand scheme of things, and your bar for "will I publish this" can go up a lot, or you're suddenly working on highly specialized or super secret (offficialy) tech where you can't really publish anything... or you actually notice that you become proficient in stuff you find generally uninteresting. Best example is.. enjoying your work but not feeling in the mood to spend your free time on explaining some weird quirks to the general public. Also writing books is something you need to enjoy or at least feel driven to do. For most people it's not worth it in a monetary sense either.
- bsder 4y agoPart of it is: "What are you programming?" Phone development is a continuous slog through ever-changing APIs. An older programmer hardly helps here. In fact, this is probably one of the few places where I might agree that younger programmers are better--it takes an enormous amount of energy to keep up with phone programming changes and that's something that youngsters have aplenty. Web programming is a similar treadmill except for the fact that you can opt-out. If the client demands some fad technology, well, then experience doesn't matter. If the client simply wants a solution, then experience can be a godsend. I've watched a couple experienced programmers deliver amazing web solutions really fast--they used well-trod, boring technology that they knew very well. Embedded programming simply demands greybeards. I haven't seen an embedded project yet that succeeded if it didn't have a majority of people with 15+ years of experience and couple above 25+ years. So much will go wrong that it's more important to design around the failure modes up front--and you have to have been around the block a couple of time to understand what those are in order to avoid them.
- fdgsdfogijq 4y agoThe unfortunate reality is one really good programmer can oversee 5 or 6 2-4 years of experience programmers. Almost all corporate software, even in FAANG, runs this way. People want to believe their 20 years of experience counts, but it doesnt. Mostly your ability is capped by your intelligence and exposure to other really good programmers. But it plateaus very fast, and there is no learning after a certain amount of years of coding (I would argue at 4-5 years of good/varied experience mark). Whats more, I would argue that the idea that the human brain can hold ten years of programming information to be absolutely absurd. The universe of what you can learn technically and recall is smaller than that time frame. World class physicists, mathematicians, chess masters, etc peak young. The brain doesnt need a decade to reach the heights its capable of.
- AnimalMuppet 4y ago> Mostly your ability is capped by your intelligence and exposure to other really good programmers. But it plateaus very fast, and there is no learning after a certain amount of years of coding (I would argue at 4-5 years of good/varied experience mark). This is very false in the embedded space. It may be false in other spaces as well.
- fdgsdfogijq 4y agoI don't know the embedded space, but distributed computing, web development, ML systems, etc all are this way. This assumes you are actually getting good experience (which most people do not). Maybe if you are writing a new database that will be sold as an offering at AWS/GCP/Azure, but those roles do not apply to 99.99% of engineers.
- cbsks 4y agoI’m also in the embedded space and I totally agree with you. I have 12 years of experience and I’m still getting better and learning new things. I worked with some people with >30 years of experience and they were by far the best and most knowledgeable programmers I’ve ever encountered. Maybe it’s because embedded programming doesn’t change as often as other areas, such as web frameworks. The experience I have from 12 years ago of reading data sheets, interfacing I2C sensors to a PIC32, and debugging by turning on LEDs is still relevant today, even though I have moved on to much much more complicated projects.
- pieterr 4y ago(2020)
- deleted 4y ago[deleted]
- stakkur 4y agoThe part missing from all conversations about 'young' vs. 'old' programmers is: what about 'old' people who enter the field late, and aren't multiple-decade veterans of it? That is where rampant ageism really happens. We don't just need old, highly experienced programmers; we need programmers of all ages.
- jeffreyrogers 4y agoI think ageism is overstated. What happened is way more young people entered the field since the industry has grown so rapidly over the past few decades. So it looks like there are no old programmers or like they are getting pushed out but it's mostly just there are a lot more young ones.
- letitbeirie 4y agoThe dot com crash shook a lot of (then-)younger people out of the industry too.
- labrador 4y agoI'm a seasoned citizen who sometimes complains about ageism on HN, but not today. I've come to realize that some of the complaints are valid and think it may have to do with "resting on your laurels." To 'rest on your laurels' means that you get lazy or complacent about what you could achieve because you're too busy basking in the memories of former glories. [1] I've noticed in my older programmer friends and myself. Because you were a lead developer on a famous program in the 80's or 90's doesn't mean you know anything about programming in today's multicore, distributed processing world. If you're not a life long learner, you probably don't. But you have a big ego, which most people think is justifiable, and it gets in the way. It's happens to the best of us. I fight this tendency in myself by practicing the Zen concept of the beginner's mind [2] and egoless programming [3] This works outside of programming too. For example, I've always hated Los Angeles since the days when it was hot and smoggy, but last trip there I told myself I would look at it with fresh eyes. I discovered a lot of cool things about the place that I didn't see before. [1] https://www.historyextra.com/period/ancient-greece/why-do-we-say-resting-on-your-laurels-history-meaning/ https://www.historyextra.com/period/ancient-greece/why-do-we... [2] https://en.wikipedia.org/wiki/Zen_Mind,_Beginner%27s_Mind https://en.wikipedia.org/wiki/Zen_Mind,_Beginner%27s_Mind [3] https://en.wikipedia.org/wiki/Egoless_programming https://en.wikipedia.org/wiki/Egoless_programming
- jesuscript 4y agoLike all things in life, the truth is gray, but visible. A lot of young programmers suck. A lot of old programmers suck. Most young programmers are decent, and most old programmers are decent. Embrace average, and everyone just get the fuck over yourselves already.
- labrador 4y agoHere's what I'm excited about: When young I had a burning passion for programming but 30 years of programming for corporations and other "profit centers" slowly burned me out and used up my passion, leaving none for my self. Now that I'm retired I'm doing the best programming of my life. I got my passion back. I'm seriously thinking of devoting a few years to seeing what I can do when I have the freedom to take my time and do it the way I like to do it. I'm always inspired by the story of Colonel Sanders who was 62 living on a small social security income when he started Kentucky Fried Chicken. Who knows, retirement may be the greatest adventure of my life if I make it that way.
- whoomp12342 4y agoIts a misconception. Agism did exist, it was when there were two camps: Programmers and ITs. They didnt understand eachothers world. People from that mindset get filtered out. As time moves on, that mindset will be completely eradicated.
- dustractor 4y agoPondering the societal conditions throughout history that have preceded various cultural flourishings it seems one common factor is that something fosters a broader diversity of interaction between individuals of different backgrounds. Sometimes it's a disruptive technology. Sometimes it's a terrain advantage. Sometimes it's the Medici family holding endless dinner parties and being patrons of the arts. Sometimes it's a quiet pub on a loud street. Sometimes it's a melting-pot society that funds public education. Sometimes Alexander the Great forcefully unites people along a stretch of coastline. Sometimes it's a small room of thoughtful people committed to changing the world.