23 ms·
We need young programmers; We need old programmers
- helsinkiandrew 6y agoThe most useful 3 things that age/experience has taught me personally are: 1. There are unknown unknowns (I don’t know why Donald Rumsfeld got so much flak for saying this) 2. Developing something that gets used is far more rewarding in the long term than using the latest technology or paradigm, or coding for codings sake (It took me over a decade to realize this - it may just be me) 3. In more cases than not it doesn’t matter what the technology, language, or paradigm used to develop a system or product is. It’s more important that the people developing the system are committed to building it (and them choosing that technology often helps)
- michael1999 6y agoOff topic: We gave Rumsfeld grief because most of his unknowns were in fact well known! He just didn’t like the facts on hand and led NATO into an evil disaster because reasons.
- waylandsmithers 6y agoOn Rumsfeld, I would guess people who opposed the war and his party were ready to proclaim anything he said was dumb and wrong.
- rovolo 6y agoHere's the "unknown unknowns" quote [0] in context. Rumsfeld is responding to a question on whether Iraq had any connections to WMDs. He's justifying the invasion by saying that inspectors aren't allowed in the country, so the US doesn't know if there are WMDs or not. > Q: Could I follow up, Mr. Secretary, on what you just said, please? In regard to Iraq weapons of mass destruction and terrorists, is there any evidence to indicate that Iraq has attempted to or is willing to supply terrorists with weapons of mass destruction? Because there are reports that there is no evidence of a direct link between Baghdad and some of these terrorist organizations. > Rumsfeld: Reports that say that something hasn't happened are always interesting to me, because as we know, there are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns -- the ones we don't know we don't know. And if one looks throughout the history of our country and other free countries, it is the latter category that tend to be the difficult ones. > And so people who have the omniscience that they can say with high certainty that something has not happened or is not being tried, have capabilities that are -- what was the word you used, Pam, earlier? > Q: Free associate? (laughs) > Rumsfeld: Yeah. They can -- (chuckles) -- they can do things I can't do. (laughter) > Q: Excuse me. But is this an unknown unknown? > Rumsfeld: I'm not -- > Q: Because you said several unknowns, and I'm just wondering if this is an unknown unknown. > Rumsfeld: I'm not going to say which it is. [0] https://archive.defense.gov/Transcripts/Transcript.aspx?TranscriptID=2636 https://archive.defense.gov/Transcripts/Transcript.aspx?Tran...
- dragonwriter 6y ago> There are unknown unknowns (I don’t know why Donald Rumsfeld got so much flak for saying this) He got flak for what he used it to justify. Out of context of the question to which it responds, the unknown unknowns statement wouldn't have been controversial (similarly with his “you go to war with the Army you have, not the Army you wish you had” offered in regard to a war of choice, not of imminent defense.)
- griffoa 6y agoYoung programmers are only idolized because they are the only ones you can convince to build your sausage app for pennies.
- arcticbull 6y agoLower pay, longer hours, and technically, just as strong as the senior folks. In part because they don't know better, in part because they're looking to prove themselves, and in part because without a family they don't have much else to do on a weeknight. Speaking from my experience as a junior engineer, that is. Speaking as a "senior" engineer today, I'm no better an engineer today than I was 10 years ago in terms of rote problem solving. What I provide as a senior engineer is if we're paddling across the lake, I'll keep us dry. Oh, and yeah, that'll cost you. What I like about the article is they suggest the older folks have nothing to lose closer to retirement, and that makes them super valuable. I'd suggest that's true of the junior folks. It's the middling folks that have the most to lose, I suppose.
- C1sc0cat 6y agoThe younger developers are not out with friends going to the pub / cub on weeknights?
- arcticbull 6y agoI certainly drank my fair share haha, but it was often after working until 10pm. I'm referring more to the 4pm-10pm window you'd normally (I assume) be picking the kids up from school, making them dinner, berating them for not having completed their homework, and so on.
- magicalhippo 6y agoWhile I don't disagree with the conclusion, I'm not sold on the argument. It would rather seem the key is to not make people afraid of speaking their mind or making mistakes. Someone who's young, just got their first job, needs the money and is insecure about their ability to get another job will not take the same risks as someone with a decade of experience, that has a network and knows they can get a new job if they need to. Similarly someone close to retirement might have the most to lose in the few years before pension kicks in. So it rather seems that what we need is to give people a work environment where they don't have to be afraid of speaking their mind or making mistakes.
- webmaven 6y ago> While I don't disagree with the conclusion, I'm not sold on the argument. > It would rather seem the key is to not make people afraid of speaking their mind or making mistakes. Wholeheartedly agree. Notably, this is also the underlying key to accelerating a team's velocity, whether we're talking about TDD, CI, blue/green deployments, database schema rollbacks, canary releases, blameless retrospectives, Lean Startup MVPs, or many other tactics. The basic strategy is: focus on reducing the cost of making a mistake (and learning from it) instead of on making fewer mistakes. Because the easiest way to make fewer mistakes is always to do nothing (alternatively, "nothing interesting", or "nothing new", etc.). Developing without fear isn't so much "move fast and break things", it's more "Move fast and have an undo button (for anything important you might break)."
- magicalhippo 6y agoAs a personal analogy, we're currently redecorating our home. We've just spent about 4 days planning the layout of the electrical boxes and wiring pipes for a small hallway. Once it gets covered by the rock sheets and all that it's a PITA to make a change. Once we had rechecked everything for the n-th time, the job of mounting it all took about half an hour. This is in stark contrast to software development with git or similar, where there's little to no fear when making radical changes, as it's easy to undo, have multiple versions in different branches for comparison etc.
- lnsru 6y agoI don’t think, somebody needs old programmers. Look from business perspective: there is no difference how polished code base is. Younger folks can develop the same product with lower salaries than grown ups. Yes, they will look for greener grass, or do some crazy things, but business gets same output at lower cost. I am experiencing this at my current workplace. It is desired, that people leave after few years and freshmen can be hired again. Experience has zero value in business context.
- contingencies 6y agoThis is the classic naive perspective. To a serious extent, experience tells you what to build and when. The actual building is quite often better to farm out to someone who can be bothered to trawl through familiarity with the latest 5-minute javascript framework. That is why successful founders tend to be middle aged[0]: they know when not to waste resources, and to use the right tool for the job. That tool might be you. Furious activity is no substitute for understanding. - H. H. Williams ... via https://github.com/globalcitizen/taoup https://github.com/globalcitizen/taoup [0] https://theconversation.com/most-successful-entrepreneurs-are-older-than-you-think-95402 https://theconversation.com/most-successful-entrepreneurs-ar...
- C1sc0cat 6y agoYou are hoping they actually build what you told them to - from bitter experience.
- arcticbull 6y ago> Experience has zero value in business context. I wish you luck fundraising.
- lnsru 6y agoLuckily I am in industrial electronics without a smallest chance of fundraising.
- 6y ago
- dstick 6y agoThat 5 monkeys story is definitely not false, nor fabricated. I've seen it myself in a social experiment where actors were placed in a waiting room. There were 5 actors that stood up for 5 seconds every time a bell was rang at random moments. A "test subject" was added and quickly joined in. They swapped out the actors one by one and long behold - after 30 minutes 6 random strangers were standing up when the bell was rang without having the slightest clue why. We're funny creatures :D Just did a quick Google, here's the video: https://www.youtube.com/watch?v=MEhSk71gUCQ https://www.youtube.com/watch?v=MEhSk71gUCQ
- simongray 6y agoThat experiment makes me uncomfortable.
- Verdex 6y agoI mean a little bit yeah. But problem solving through peer pressure is a real thing and it's totally legitimate. You do get some weird artifacts (because it functions via a weird distributed statistical function) and it can be exploited. Some countries that get low amounts of sunlight due to latitude eat fish for breakfast. Apparently the nutrients in fish help you biologically deal with not having enough sunlight. And this results in statistically better health outcome vs other countries at the same latitude that don't eat fish as much. Did eating fish start because people were running double blind 30 year dietician studies? Nope, it's just what other people were doing. Think about it this way. Some problems are really hard to actually understand. And if you screw up you'll die (so you can't exactly learn the lesson even if the lesson was obvious). Culture and social cohesion is important because other people have learned (maybe unconsciously) a fatal lesson by watching others fail to learn that lesson. It can be life or death for you to pick up on that lesson. It's also important that people question why we do things. Because otherwise we can end up all standing up when a bell rings for no reason. But both methods are necessary. Even if we end up doing some stupid things for a while as we sort out reality. EDIT: I'm actually mostly unaffected by peer pressure. It sounds impressive because I'm extremely unlikely to do something stupid like stand up when a bell rings. Additionally, I can go off and learn things like type theory, lambda calculus, most programming languages like it's easy. But the catch is that type theory is only easy compared to trying to understand social interaction logically. People often all agree about something that makes absolutely no sense to me ... and they're right (well, I've looked into this a lot and technically they're not right, but it works out and they get good outcomes, which is almost always close enough ... I think what happens is when their wrongness catches up to them they switch strategies or something, but I'm not sure). It often feels like living with a bunch of aliens who have psychic powers. So, while it's easy to setup social experiments that make peer pressure look stupid, I'm not about to discount it's incredible usefulness.
- ransom1538 6y agoIf you don't think experience matters, try this: 0) watch 10 youtube videos on kitchen remodels 1) take a sledge hammer and remove your kitchen this weekend 2) rebuild your kitchen Let me know how this goes.
- teraku 6y agoThis has nothing to do with age, and little with experience. You mix up knowledge, skills and proficiencies. If you watch 10 youtube videos, you might gain the knowledge of building a kitchen, but you neither gained the skills of using tools, nor the proficiency of planning and building a kitchen. Those are very distinct things, which pedagogues are aware of.
- ransom1538 6y agoAge and experience are strongly correlated. Sure you can have zero experience and be old, you can have tons of experience and be young. But normally: Age and experience are strongly correlated.
- teraku 6y agoI did not indicate otherwise.
- dlkf 6y ago> This has nothing to do with age, and little with experience. It has to do with experience because skills can only be honed through experience. It has to do with age because honing skills via experience requires time.
- teraku 6y ago> It has to do with experience because skills can only be honed through experience. Yes, but it does not take a learner lots of experience to learn a skill (with some caveats, ofc). It takes the teacher experience to teach a skill, though. > It has to do with age because honing skills via experience requires time. I agree. But it was not about honing skills or becoming perfect, it was about learning and "building a kitchen".
- mbeex 6y agoSomebody else finding the Monkey experiment a good one but wrong for the Authors cause? I mean, the cold water was an artificial external influence and just the opposite of something fundamentally impossible. To be precise, exactly the exact kind of obstacles against which youth has rebelled at all times. Its not the same as the changed circumstances he relates later in his article to. Galois: Was shot in a fabricated duel (like Lermontov and Pushkin BTW). The setup exploited certain concepts of honor and - kind of ironically - hot-tempered youthness, susceptive to this.
- rovolo 6y agoThe author is saying that the cold water represents the technological limitations in the past. "What old people don't realise is that sometimes, circumstances change."
- lmilcin 6y agoI don't like the label "old". There is tendency for some people to stop progressing and change their demeanor as they age and that's what I call "old". On the other hand if you keep being inquisitive, energized, continue learning including from your own mistakes, you are getting "experienced". -- - What does a company pay for when they pay large sallary for an experienced engineer? - They pay for all the mistakes he/she made at her previous job.
- CaptArmchair 6y agoI don't think that the full story. The bottom line is that as you age, you will inevitably start making different trade off's and choices. As you grow older, you start to truly understand that life is finite, with everything that entails: loved ones growing older, and passing away, you noticing your own body changing as well as you enter middle age, noticing how your own perspective and experience of passing of time shifts (when saying "20 years ago" isn't an abstract phrase, but an experience you lived through), and also noticing how the expectations others have of you start shifting. That doesn't mean you can't be inquisitive, energized or wanting to continue learning from your own mistakes. I do that all the time, as I understand the importance of learning throughout life ... ... but I'm far more conscious of the value of time and how I use that time shapes me as a person. Being experienced also means being in control over your time and your life, knowing to set boundaries and keeping a healthy balance between your priorities, and the priorities of others, which also includes the priorities of clients and employers. Let's not forget that the "tendency for some people to stop progressing" also tends to be used as a strawman argument in order to undercut the importance of the above and push people to change their priorities in ways that may fly against their own self interest. That's why I've grown weary about generalizing arguments that one has to "progress" without stating exactly why, within which specific context, or within which specific boundaries.
- gtsop 6y agoI am under 30. I find it very frustrating and unfair to see older programmers being displaced or misstreated because 1) I need to squeeze out every damn ounce of wisdom these people have in order to accelerate my own progress and 2) one day I'll be in their place. I want them to be treated the same way I will be treated. I have a real life example of the five monkeys story. A company I used to work for had a pile of legacy systems in php4, mysql 5.0 and a frontend working only on IE8, no ci/cd, no tests. Almost instantly I was lead to beleive this system is a black hole that can't be saved due to the technical difficulties plus management issues. The head of IT was there for almost 20 years watching tons of developers contribute to this mess and failing to take meaningful action to address the problem. Thus he had insane clarity of all the problems, but also was pesimistic about any possitive outcome. With his experience on these systems and my determination (probably stemming from my youth) we managed to upgrade php to 5.6 (almost compatible with 7), mysql 5.5 and most of the front end could work on latest chrome in a year (+ a great deal of performance optimizations). We both left that place having layed out a solid foundation for the people who were left behind to continue this modernization endavour (which I've learned was carried on)
- maratumba 6y agoThere is an assumption that "old" means "experienced" which is not necessarily true. There are people who transition to programming from other fields and are "old". Their value shouldn't depend on whether or not they fit the stereotype of "old timer hacker geeks". They should be judged by their skills, the same way the young ones are being judged.
- Juliate 6y agoActually, they should be judged by what they can and do contribute to the team, whatever that is. Skills is a subset of that.
- virgilp 6y agoThis (and original) statement(s) are all good and nice, but meaningless (in the same way as "there should be no hunger in the world because we have enough food"). Ok, we should judge people by what they can and do contribute to the team. The billion-dollar question is, HOW? Humans are extremely skilled optimizers - give them an objective metric and they'll game it for maximum benefit; make it subjective and it can be better or worse - but in either case, you'll no longer have any agreement on "what they contribute to the team".
- rytis 6y agoUnrelated to the subject of the article, but this I find questionable: > Once, if you had lots of data, you had to store it in fully normalised form, because storage was expensive. First time I heard that NF's were considered to save space...
- AndrewDucker 6y agoIf you only store a customer's address once, rather than having a separate copy everywhere you store the customer, then that saves a lot of space (as well as ensuring that different instances don't contradict each other).
- rendall 6y agoYes, that is surprising to hear the first time, but it's true. Space saving is one of the primary advantages of relational databases, the other being tracking complex data relationships Nowadays, it's not storage that is expensive, but CPU cycles, and RDBMS are processor expensive relative to NOSQLs I advise clients to avoid RDBMS without a very specific need for complex data relationships
- marcosdumay 6y agoAFAIK, old hierarchical databases had a very similar space usage as relational ones. I do think people adopt the modern theory because of its flexibility.
- rmason 6y agoI think one of the main values of senior developers is they've seen a few cycles. If something has been tried four times before and failed there's a pretty good chance that it will fail the fifth time. But if the boss has only seen it fail once he's going to try again, then when it fails get mad at you. He will be mad because of your calling it out in advance he will feel you're undermining his authority whether or not that's your intention. Had a friend tell me when he was a newly minted lieutenant. All the new guys were put in a competition with their platoon to build a temporary bridge across a river. While all the others called out orders he consulted the grizzled old Sarge and asked him what he recommended. He took his advice and said lets proceed. Instead of barking orders he spent time working alongside his men doing physical labor. His team not only won they set a record for that task. As a result his platoon would walk through a wall for him. But what if there isn't an old experienced Sarge? The organization is the worse for it and I've seen it time and time again.
- blablabla123 6y agoBoth are really needed, especially when there is a lot of complexity. It's no fun to work buggy code that is buggy because lots of best practices were ignored/there is too much experimental stuff there at once. There is also a need for (usually young) people who doubt existing wisdom and try impossible things to find out they suddenly work.
- Retric 6y agoLack of development time and or skill is more likely to result in a buggy mess than failure to uphold best practices. What’s confusing the issue is skilled people given sufficient time and support generally use best practices. The best example I can give is one developer given very little time sends something to QA their unsure about. QA lets it though because they stopped testing his code.
- bregma 6y agoThere is no old grizzled sarge because either the resume gets canned because it shows a university graduation date from last century, or because someone with a greying neckbeard and 40 years successful on-the-job experience can't be bothered spending a day doing pointless whiteboard exercises to prove he knows something that will never be used and is not applicable to anything but pointless whiteboard exercises.
- benjaminjosephw 6y ago> We need old people because they're in a position to speak truth to the world This isn't really about age at all - its more about incremental change vs disruptive change and who has the power to make those kinds of changes. The old are in positions of power/influence and are often aiming to move things forward incrementally. They are rarely willing to risk everything for the chance to make paradigm leaps. Outsiders, on the other hand, are more willing to take audacious risks and have nothing to lose. The young are nearly always outsiders but not all outsiders are young. Interestingly, when an old person retires, they become outsiders too with less to lose than before and therefore more willing to speak truth to power. The dynamic here isn't really about age at all but about power. We need to get better at recognizing when change requires a patch of our models and paradigms vs when it is actually more effective to perform a full rewrite and create new ones. If we were better at that, we'd perhaps be better at valuing the types of people required for those changes.
- codingdave 6y ago> They are rarely willing to risk everything for the chance to make paradigm leaps. Yes, and your phrasing of that is one of the most accurate I've seen in these threads. We who are old are completely capable to make leaps... but we are not incentivized to do so. Stock options and a chance to make a couple million will inspire the young to work wonders. But those of us who have been saving our income for a few decades already have a nice nest egg, so an incremental update to our nest egg isn't so compelling. The rewards at the end must also be a paradigm leap. And there are paradigm leaps in this life - most of us start at the point where we struggle to pay bills. Then you jump to where you are not struggling. Then you have enough to own nice things. Then you have a home that truly makes you feel at home. Then your home is paid off and you measure your nest egg by how many years you could go without a job. Then you hit the point where that number is higher than the number of years you are likely to live. And then you hit the point where you have extra money to enable you to change your lifestyle and give more money to charity and still have enough to live out your whole life. Any job that doesn't move us to the next one of those points is not incentive to work harder and give up time with our family, etc. That is also why we have less to lose as we get older. Because each of those points also means we are less dependent on our job. At the end of the day, the differences in behavior are real. But anyone who thinks it is due to a difference in skills hasn't yet seen the big picture. Give us compensation that drives a paradigm shift in our lives, and we can drive a paradigm shift in our work to match it.
- jakuboboza 6y agoI'm 36. I interviewed in last 10 years probably more than 250 candidates. Young programmers. Imagine that more than half couldn't explain what is the difference between queue and stack. There is maybe 1 in 10 or 50 Young devs that had luck to work in something like good dev agency and build serveral projects to gain needed experience. For me age doesn't matter that much because: * You could be 50 and worked on 2-3 projects entire life * You could be 30 and worked on 25 projects or more.
- ZephyrBlu 6y ago> Imagine that more than half couldn't explain what is the difference between queue and stack > There is maybe 1 in 10 or 50 Young devs that had luck to work in something like good dev agency and build serveral projects to gain needed experience This seems like it's implying that knowing the difference between a Queue and a Stack is a good indicator of experience. How do you figure that as a good signal?
- thelean12 6y agoIt's not a good indicator of experience. But it's probably a decent indicator of a lack of experience. Queue vs stack is an extremely basic concept. They're not even unique terms to CS. You can almost guess what they are just by their names.
- jakuboboza 6y agoExactly this. You don't have to be 180 IQ to solve it. There is no trick in this question. Much better than asking for FizzBuzz implementation.
- dgellow 6y agoYou could take any of those young dev, teach them what a stack and a queue are in almost no time. The fact that they didn’t face that question before doesn’t mean they are bad picks for a job.
- 6y ago
- scanny 6y agoHow is the situation different from any other industry? Fields like civil engineering or accounting surely don’t have these conversations?
- _trampeltier 6y agoI just think you just need a good mix. This is not just true for programmer but so many other jobs too. The young guys often have fresh ideas and work a lot, but yes, they fail sometimes. The older guys say maybe more "no" to a bs idea from managment/top. There are many things more .. and thats also not something new.
- ChrisMarshallNY 6y agoWell, I'm a bit tired of this "debate" (there actually isn't one -it's all about personal emotional baggage, when it gets stripped down to the bare skeleton, and we can't actually reason with our reptile brains; which is where this stuff lives). I admit that I did my share of whining. It was quite jarring for me to encounter the naked, unapologetic ageism in tech, but I have now come to accept that it's just "part of the landscape." I can't change anyone else's mind, so I don't even try, anymore. You don't want what I have? Don't worry; You won't get it. I won't waste any of our time, trying to convince you otherwise. My age (and commensurate experience) helps me to get stuff done. I don't pretend to have the creative flair that can dream up reusable boosters and smartphones, but I definitely have a long, long record of ship. I've been working on shipping product, for my entire adult life. I'm pretty good at working in a layered, modular fashion that can result in robust, highly-usable, scalable, localizable and accessible software that can project and reinforce branding, as well as actually provide a revenue stream, and establish a legacy. I've written software that lasts decades. But that doesn't seem to be what the industry wants. Quick lash-ups are more valuable. I understand why. They can act as "MVPs," and iterate quickly. That's actually a really important feature, and one that us ol' fogeys don't always appreciate. When I look back on my career, I shipped a lot of dross, as well as a (far fewer) number of really good products. The quality of my work improved dramatically as I got older; mostly because I screwed up so much, earlier. I'm grateful that none of my screwups turned into the Jurassic-scale disasters we read about all the time. "Good judgment comes from experience. Experience comes from bad judgment." At the moment, I'm working on a social media-style system. It's fairly ambitious. I can't even imagine my younger self working on this kind of thing, but I am grateful for the long trail of work by others that give me pitfalls and patterns to use. Younger me would have ignored all that, slapped together stuff without proper design or testing, and turned out some real crap. A lot of people would have been hurt by my cruddy workmanship.
- etripe 6y ago> "Good judgment comes from experience. Experience comes from bad judgment." Thanks for introducing me to that quote! > You don't want what I have? Don't worry; You won't get it. I won't waste any of our time, trying to convince you otherwise. I'm glad you're not letting it get you down. As long as there still are opportunities to be had, you'll be fine in the end.
- incompatible 6y ago"Once, if you had lots of data, you had to store it in fully normalised form, because storage was expensive." I don't think normalization was ever about storage space.
- webmaven 6y ago> "Once, if you had lots of data, you had to store it in fully normalised form, because storage was expensive." > I don't think normalization was ever about storage space. I'm not the GP, but... I had to sell the "extra" work and complexity to a nontechnical stakeholder who considers themselves a power user of Access and Excel and wants every report to be a single simple query with no joins that they can write and run on their own. BTW, the same stakeholder also wanted to shard data by month through table-naming conventions (ie. SELECT SUM(Total) June_Total FROM June_Sales) and get aggregate reports by looping through these tables. So, yeah, the winning argument came down to money for storage (larger hard drives & bigger backups of the duplicated data) vs. having an employee run reports for him.
- sys_64738 6y agoThis is about control by managers. Older or more experienced developers will often call out BS if a manager makes a faux pas for whatever they are delivering. Younger programmers will work longer hours to make the managers look good. With experience comes wisdom. Wisdom is a manager's worst nightmare unless they were technical in the first place.
- dcolkitt 6y agoI think this is only true if you're working under bad managers or in a corporate culture that incentives bad management practices. People who are good managers almost always try to solicit as much criticism and feedback as possible. Especially from the most experienced people, since they know where the bodies are buried.
- potta_coffee 6y agoGood managers are like unicorns. I have yet to see one.
- sys_64738 6y agoThere are some great managers but they’re usually from a tech background and know not to micromanage. Non-tech managers are really glorified PMs.
- jillesvangurp 6y agoSimple demographics cause the number of programmers to double every 5 years. I'm 45. Any project I join, I'm extremely likely to be the oldest person around. That's not because all my generation has long retired into management but because there are about (2^4) 16x more younger people around in the industry, with most of them being below 30 and because becoming a developer was just not a common career path when I left high school. In 5 years it will be 2^5=32 for me. I'll still be coding though because I like doing that. On an average ten person team, the average age is not going to get much above 30, if you are lucky. Most of those people would be considered senior. I've been on a few projects that went against the trend and worked with a few people above 40. These projects are expensive because (properly) senior people cost money. But older does not mean wiser or better. So, the value for money is not always that obvious. Of course some people that are good only get better with age. But the reverse is true as well and there are a lot of not so great developers that will still be coding for the next few decades. That ratio good to bad programmers doesn't really change; though of course the bad ones might pick up a few useful skills eventually.
- dpc_pw 6y agoSurprises me how few people understand/mention the "programmers doubling"
- shekharshan 6y agoFocus on keeping your knowledge current. If you have sound grounding in modern stack from virtualization and up using containers and monitoring, I don't see why you should worry about anything. Always be ready to code and even be ready to get your hands dirty with RDBMS query plan troubleshooting.
- 8lall0 6y agoWe need young and experienced programmers, not the old ones. Old programmers tend to say "That's how we do things here.", experienced and mind-opened ones can lead you to finally replace the classic old php 5.4 require mess that is your framework. Sadly, there are plenty of old programmers outta here, and young ones are just trying to save their jobs because of this market.
- brailsafe 6y agoAn experienced programmer might look at the problem of whether or not the company should replace php 5.4 and determine whether or not it's a completely or partially a good idea based on the factors they have control over and have budget to solve. An in-experienced programmer would probably not have learned PHP 5.4, and so would need to replace it in order to be productive, regardless of accounting for how much value they actually add by doing so. The end result would probably be well argued strategy of incrementally adopting new ideas, testing them, and re-writing when time permits.
- confidantlake 6y agoBeing old does not make you close minded. People who assume old people are close minded are ironically close minded themselves.
- gregdoesit 6y agoI’ve observed a company in London who followed a brilliant strategy with hiring old engineers and (very) junior ones. This was a company in finance, doing not-very-interesting things. You’ve probably never heard of it. About half the devs were above 50, and the other half straight out of bootcamp, with a few people in-between. It worked so great. The “old ones” brought a lot of maturity, practices (TDD, tests, even XP at times) and loved mentoring the super enthusiastic grads. The grads just finished bootcamps, many of them junior on paper, but had a different career in the past. They soaked it all in and grew fast. Sure, some left after a while, but a surprisingly large number stayed because of the environment and the people. And the company did well. The pay for the expeirenced devs was probably a bit under the market, somewhere at £50-60K. The new grads were cheap. Still, attrition was low, morale high, output consistent and quality high. I think of this example many times. Why do so few places not try something similar? Especially at places where you don’t need to use the latest and greatest, where business is stable, and where you can get a bunch of these benefits altogether.
- username90 6y ago> The “old ones” brought a lot of maturity, practices (TDD, tests, even XP at times) and loved mentoring the super enthusiastic grads. You do realize that most people in their 20's have many years of experience and know all of those things? Young doesn't mean inexperienced.
- t-writescode 6y agoImagine how much more even more experienced developers can bring to the table, especially if they've been keeping up and growing :)
- username90 6y agoThe few who continues to grow after 10 years gets into extremely well paid positions and have no problems getting jobs. We aren't talking about them here, we are talking about the majority who never grow out of their senior engineer position. They aren't more valuable after 20 or 30 years than they were at 10 since they stopped growing, and this is the majority of people in every field. You don't fix age discrimination by saying that old people are better, because in most cases they aren't, instead you fix it by saying that if you have 2 persons with similar skills then you shouldn't automatically pick the less experienced younger person. If you only hire old developers when they have all of the awesome skills people tout in these threads then you will mostly hire young developers since so few developers have those skills no matter what age they are.
- tomohawk 6y agoDropped onto a project this year that was put together by 15 or so juniors over 18 months. They're all gone, and there's now just 3 seniors (new team) trying to make sense of things and save it. If the project had been tempered with some seniors, it could have been done in 6-9 months with 3 - 5 people. It's pretty straight forward work. Having to excavate and rehabilitate all of the poor decisions and practices due to inexperience has taken time. It's nothing I haven't seen before, though.
- rightbyte 6y agoHow can 15 people be gone? Contractors?
- ChicagoDave 6y agoThere’s a cultural aspect. If you have a team all within a certain range, they’re going to mesh. It’s less likely that someone significantly older will. I liken this to the old smokers problem. A lot of political machinations happened when people went outside to smoke together. If you didn’t smoke, you were left out of important conversations. I’m 56 and I’m already left out of a lot of discussions that younger coworkers have. There’s definitely a problem in the IT works in how it builds teams and excludes older workers. We’re expected to be managers or executives. Not a part of implementation.
- GnarfGnarf 6y agoOne solution is to be self-employed and make a product. I'm 71, I code C++/C# forty+ hours a week, and I'm having a blast. I just discovered the STL a couple of years ago.
- artificial 6y agoDepending on what you make anther toolkit for fun C++ things is https://openframeworks.cc/ https://openframeworks.cc/.
- ericmcer 6y agoPart of this could also be attributed to the way older generations approach work. You find a company, put in your 30 years, then retire. That makes you a terrible prospect in the tech industry. 10+ years of doing repetitive tasks or exploiting domain knowledge to maintain some legacy system means you are far behind in both knowledge and motivation.
- username90 6y agoThe question isn't whether you'd hire a new grad or a guy in his 50's as many here seems to think. The young option is a guy in his 30's with 15 years of experience, they are much easier to find than older programmers (due to the number of programmers increasing exponentially over that time) so most senior hiring will be targeted at them.
- munificent 6y agoFor kicks, I'm going to throw out a possibly odd analogy. The length of a string determines how quickly it vibrates (assuming tension is the same). Shorter strings vibrate faster than long strings. If you're in a noisy environment and you want to make sense of all of the chaotic sounds around you, one way to do it would be to take a bunch of strings of different lengths (say a piano) and see which ones resonate more than others. The gentle ringing of those piano strings, some louder than others, tells you which frequencies are more dominant in the surrounding acoustic environment, because they cause their matching strings to resonate more. As I get older (I'm in my forties), I feel like a lengthening string. When I was a twenty-something programmer, I could tell you how things had changed over a year or two, but trends or cycles on longer timescales than that were hidden to me. Now I know what a decade or two feels like and can see and intuitively sense cycles of that scale. At the same time, shorter trends are harder for me to pick up on now. It feels like noise or beneath my notice. Having people of different ages in your organization is incredibly value because they all resonate at different time scales like this and help you pick up chronological patterns at frequencies you'd otherwise miss.
- UncleOxidant 6y agoThis is a good observation. I'm in my late 50s and more and more I keep getting the feeling "I've seen this (or something very similar) before" whether having to do with software development trends, politics, fashions etc. That old adage about there being nothing new under the sun didn't make much sense to me when I was younger, but now it seems to often ring true.
- munificent 6y agoOne of the things that I like about this analogy is that it also points out one of the pitfalls as we age. As our string gets longer, we aren't as good as picking up the higher frequency vibrations, so we risk assuming they aren't there at all. A failure mode I see of some older developers is assuming there's nothing new under the sun and nothing worth learning, which I don't think is the case. I think it just gets harder for us to see those short term trends.
- TrackerFF 6y agoWhile this discussion seems to lean heavily on the technical parts, there are many aspects of a business that can only be learned through experience. Project work. Client relations. Lots of "general" business / work skills. If I meet some 50 year old dev, that's been at it professionally for 25-30 years, I will at least assume that he / she are somewhat knowledgeable in some of those areas. If you've worked on, from start to finish, on tens of projects - you've probably seen and experienced a wide variety of things. So, yeah, while younger and more inexperienced devs can be technically astute, it's always good to have experienced mentors that can guide you through the other stuff, not only the nitty-gritty technical details. After all, software development is much more than just punching out lines of code.
- sheepybloke 6y agoFor me, the big thing is that older developers need to use their experience in helpful manners. In my experience, it's used it to simply block or scoff at the actions of younger devs or managers while not always working to solve the issue. In order to be useful, you have to also work and suggest alternatives and solutions, otherwise you're just a curmudgeon. That's at least what I've found working at a site that is mostly older engineers.
- UncleOxidant 6y agoThe older I get, the less I know. When I was in my 20s I thought I knew a whole lot about embedded software development. Now in my late 50s I seem to be painfully aware of how little I actually know. Maybe this is part of the risk-taking mindset of being young: they don't yet know what they don't know so they're not encumbered by that realization. If I had felt this way in my 20s I would have been paralyzed by doubt. Now, with experience I realize that most everyone is essentially driving in the fog. Sometimes you can only see a few yards ahead and you have to just become comfortable with the uncertainty while doing what you can to mitigate it. When I was younger I either didn't see the fog or thought I needed to pretend it wasn't there.
- backtoyoujim 6y agoas a mediocre programmer who is now old let me tell you that you still do not need me.
- PaulDavisThe1st 6y agoThere's a fundamentally incorrect claim at the heart of this article. >Technology changes rapidly in software development. That might be true of specific kinds of software development. People developing what used to be called "applications" (and now increasingly is once again called by the same name) are using very diffferent technologies than they were in 1985 or even 1995 and perhaps even 2005. But if you're writing, for example, "creative" software (audio, video, graphics), the toolchains and fundamentals haven't changed much in 20-30 years. The rise of GPUs has added a wrinkle to the mix if you're doing video/graphics, but often at a layer you likely don't think much about on a day to day basis. As a programmer of 35 years, I've got nothing to teach younger programmers who are doing webdev work in JS and/or some server-side stuff. But a younger programmer who wants to do native realtime audio has nothing to teach me, no new technologies to show me (they could easily be a better programmer, though). Let's try to remember that "software" is bigger than webdev, and the rate of change outside of the volatile webdev sphere isn't always as dynamic as this article makes out. For some of us, GPT-N is fascinating as hell, but will make absolutely no difference to our work as programmers for the rest of our lives no matter how old we are right now.
- rmah 6y agoI agree so much. When I started my career as a programmer around 25 years ago... I used a text editor in a GUI. OOP frameworks were new, but they weren't much different from the ones around today. Sure, some of the specific tools have changed. But the day to day and the concepts used (OOP, processes/threads/async, networking, filesystems, signals, etc.) are all the same. I think the biggest changes is the huge increase in availability of information (docs, sample code, etc). IMO, software development fashions changes rapidly. But actual software development? The changes and improvements are glacially slow. I suspect that architecture (which is a discipline literally as old as human civilization) has changed more in the last 30 years than software development has. But that was mostly thanks to software. So there's that. :-)
- jkingsbery 6y agoI'm not an "old" programmer (I don't think... I did have an intern ask me one time if I had ever worked with punch cards, so maybe I am...). This article plays off a stereotype that I don't think it particularly helpful (or accurate). I've worked with experienced engineers who are all about the RDBMS, but I've also come across young engineers that don't know about anything more than RDBMSs because their university didn't teach them any more than that. I've worked with young engineers who were reluctant to go out of their comfort zone (and by that, I mean work in the JavaScript layer of the Java webapp they were working on), and I've worked with a whole team of really experienced engineers who had spent their whole career doing C/C++ who decided to build a product on Node.js. I would agree with the point that having a diversity of backgrounds and perspective can be helpful on a software team. We need people who keep asking "why" on a team, and we need people with historical background. But to assume engineers are a particular way because they are old are young is (1) not accurate and (2) setting a large part of the population up to not meet your assumed expectations.
- deleted 6y ago[deleted]
- deleted 6y ago[deleted]
- fossuser 6y agoOne interesting bit about American age discrimination law is that it only works one way. It protects those older than 40, but you can legally discriminate against young people. If ageism in tech is real, then older programmers are being systemically undervalued by the market (probably in a huge way since I’d expect older good programmers to be be better than younger good programmers). If I was doing a start up I might advertise roles that are for 40+ year old candidates only and see who I could attract.
- deleted 6y ago[deleted]
- danielscrubs 6y agoOne of my old professors where famous enough that cpu manufacturers sent him PCs to check against his open source library. We have been fed the “you won’t be better than the compiler focus on the algorithm” to death by the internet at that time. Seeing him combine his assembly language/c knowhow AND algos made me realize that with FOCUSED experience you can do amazing things. Then again when I told him my favorite language implementation , Haskell/GHC, was using his library he asked: what is Haskell? Focused training is everything. You can’t be good at everything but you can be great at something.
- mbrodersen 6y ago>Technology changes rapidly in software development. Nope. Not even close to being true. Unless you think taking old tech and rebranding it is "new tech". People are reinventing old tech every day thinking they are doing something new. It is evidence of lack of knowledge of history. Nothing else.