9 ms·
I 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 o
by gtsop 6y ago
I 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".
- austincheney 6y ago> HOW? * Documentation - Can they write? * Potential - Can they provide original solutions to problems? Do they need hand holding? * Initiative - Do they need a signal from a starting gun or are they self-entertained with word products for the team? These are all identifiable maxims.
- virgilp 6y agoI'm not saying "people can't be managed" and "one can't evaluate the performance of a programmer" - that'd be obviously false. What I _am_ saying is that it's an art not a science - very hard to teach, impossible to scale. Take your example with "Documentation" - if you measure anything objective (words written, number of functions/features that have associated documentation) and tie it with the performance evaluation, those metrics will soon become meaningless.
- athenot 6y agoPoor metrics are meaningless regardless of what you try to measure. In the example of documentation a better metric might be a composite value of (i) how many wiki articles a developer has written, weighed 0.33 and (ii) how useful on a numerical scale his/her peers rate the documentation produced, weighed 0.67. This is just an example but it's a composite of perceptual and objective, with the perceptual being a lot more important (and to prevent gaming the system by writting lots of useless articles).
- maratumba 6y agoThat's a better way of putting it.
- gtsop 6y ago> There is an assumption that "old" means "experienced" which is not necessarily true. Agreed > They should be judged by their skills, the same way the young ones are being judged. Disagree, but this is my subjective opinion. Old people in general are not able to keep up with young people for many reasons. My personal stance is we shouldn't compare them as equals, but rather try to get the most out of everyone. The baseline for judging someone (to be hired or to stay in a job) should depend on the effort they put in. Actual performance should be taken into account when deciding on promotions and bonuses. This would create an environment safe for old people to keep their jobs until they retire, but also fair to people of any age to get higher salaries and roles based on their skills.
- maratumba 6y agoTreating people differently based on the class they belong in, in this case age, is the definition of discrimination.
- gtsop 6y agoFirstly I am all in for discrimination that results in positive effects for people in need (as long as it is reasonable and not blind benefits for the sake of suposedly helping minorities) However, my solution does not judge people differently based on age. It judges everyone in a way that allows old people to fairly compete with young people on the basis of effort put in rather than pure skills/performance output.
- reflectiv 6y agoWe are talking about technical abilities...if you discriminate outside of that, including age, I would whole heartedly call that the bad kind of discrimination.
- gtsop 6y agoI am really not sure why my point isn't clear. I am not judging people differently based on age. I observe that skills/performance is not a fair metric for old people to compare against young ones. Thus, in order to create a field of fair competition I argue that for the baseline desicisons (getting and keeping a job) people of all ages should be judged on the effort they put in, a fair metric for all ages. Then comes the second layer of judgement based on skills which decides who gets promoted or gets performance bonuses. Old people would have less chances to win in this layer of judgement but at least they can keep their jobs safe as long as they put in effort.
- SteveMoody73 6y agoI agree that age doesn't mean experience. I work in a company with a small development team and we're all around the same age group with no young programmers. In thios group we have a programmer in his early 40s, who has been programming for years, that I would still consider a "junior" programmer. He can usually perform a task but needs more guidance and checking than the other members if the team, most of which have been there time. On the other side we also had a developer work there a few years back that was in his late 50s and wrote some of the worse looking code I've ever seen. Fortunatly he didn't last long and none of his code is running in production.
- auggierose 6y agoWhat exactly is the meaning of "On the other side" here?
- JustResign 6y agoI believe the best equivalent phrase would be "on the other hand" or "in contrast"
- Nursie 6y agoI've met those guys. The 50-something who had been in the same role 37 years, who was laid off and when hired into a new company, just couldn't adapt. The 40-something who's fine to do maintenance and the odd enhancement, but you wouldn't trust to do a major refactor or a large chunk of green-field. Some people just aren't as able, find themselves a comfort zone and stick to it. So even experience doesn't necessarily mean experience :) (This isn't to say such people aren't useful, that's a different measure.)
- skohan 6y agoYes it's not about valuing age, but it is about valuing experience. Sometimes raw talent and problem solving ability is the most important quality to look for, but sometimes experience in the field is incredibly relevant and valuable, and can't be replaced by raw talent.
- jondubois 6y agoIf you're young, you fit in a narrow spectrum of experience with a relatively low upper bound. If you're old, then the spectrum of possible experience is much broader. You could range from being totally inexperienced to being extremely experienced. Also, as I get older, I realize that talent plays a significant part (which is independent of age). But there is a huge problem that almost all companies don't know how to identify technical talent; they focus on the wrong attributes like ability to perform under pressure and ability to recall details. Companies should be focusing on a candidate's ability to synthesize information, to rank problems based on their importance and to communicate simply and clearly; that is the real valuable talent.
- Loughla 6y ago>Companies should be focusing on a candidate's ability to synthesize information, to rank problems based on their importance and to communicate simply and clearly So, from my non-tech perspective, that's just every single job at every single employer. Any position I've had that has been in charge of hiring people - I am acutely aware that I can teach the position. I can teach the technical aspects and detail knowledge of how to do a job. What I can't teach is the ability to prioritize, critically think, and communicate appropriately. Those are real talents. I guess what I'm saying is - tech companies are garbage at evaluating for those things, because (I would argue) all/nearly all companies are garbage at evaluating for those things. It doesn't matter if it's a tech company, garbage company, or insurance company - they're all (again, my experience) equally garbage at finding those skills in people through their standard interview processes. If you figure out how to implement a standard interview process to evaluate for the three things you list, you will be the world's first trillionaire.
- skohan 6y ago
- Consultant32452 6y agoSome people have 10 years of experience. Other people have 1 year of experience 10 times.
- nullsense 6y agoAnd some people have 10 years of just not very useful experience. Not the same year 10 times but 10 discrete, non-overlapping years.
- collyw 6y agoTen years of experience in one tech stack will give you mastery. 1 year changes with a new language / framework / tools every time will mean you are forever a novice.
- bdcravens 6y agoTen years of experience in one tech stack that has fallen by the wayside means you're outclassed by the developer with 2 years of relevant experience.
- ivalm 6y agoIf you know 10 different tech stacks you probably have immense breadth and can learn/do new things easily. That’s is incredibly valuable. There is a massive difference when you are learning a new stack for 11th time vs 2nd or 3rd time. Sometimes you need people with deep mastery of some specific, sometimes you need people who have seen everything, can learn anything, and synthesize a broad view.
- tartoran 6y agoThat is not entirely true. After learning the n-th stack and knowing the knowledge will likely sputter out in a couple of years cycles, one is likely to learn enough to get done what needs to be done. As someone points out, few out there are true experts if they're constantly learning a new stack. And also people who want to learn all the time do get bored of learning the same thing, a lot of them branch out in different directions that are a lot less shapeshifting. Ideally I preferred learning the technology for a few years then steeping back and reaping the benefits and do stuff with it. But, there is a fear that not keeping up leads to obsolescence on the job market so we're in this constant cycle of learning new things with diminishing returns
- dimmke 6y agoI agree with this. I've known some people who've been coding for 15-20 years who just coast, and end up in senior positions because of how long they've been employed when their skills are really at the level of a 2 year junior. It's even worse in front-end, because that means their skills are that of a 2 year junior 10 years ago, they don't have any of the skills with new frameworks and techniques. If you want sloppy bootstrap laden html/css and jQuery, they're your person though.
- collyw 6y agoOut of interest what skills are you talking about? I am an old fart by IT standards and i have come to realise that being able to come up with an algorithm randomly is not such a useful skill considering how infrequently we actually have to do it. Being able to say "no" and getting on with other developers are far more valuable than being able to solve a soduku puzzle once you have acquired a certain level of knowledge. After that it should be about managing complexity.
- akiselev 6y agoNot the OP but I largely look for experience with CI/CD workflows and release management, unit/integration/systems testing that doesn't cripple R&D, QA, distributed systems beyond a webserver & DB, and just general "philosophy of software engineering" type stuff like an understanding of the factors that led to the evolution from monolith to microservice, agile/scrum/management fad of the week, and how to make tech tradeoffs based on business goals. These are largely soft skills, not algorithmic trivia. Unfortunately, there's no one size fits all worksheet for those soft skills that HR can hand out to interviewers, so everyone gets lazy and falls back to the whiteboard BS.
- dimmke 6y ago>i have come to realise that being able to come up with an algorithm randomly is not such a useful skill considering how infrequently we actually have to do it. This isn't what I'm talking about - I'm talking domain specific skill. If you're a frontend developer for instance, you should understand the new language features of JavaScript that came out in 2015-2016 and be able to use them. You should know how to use flexbox for CSS instead of floats for layout (IMO) If you're a senior developer still writing code every day, you have to keep up with that stuff. You're ultimately responsible for the codebase in a way that junior/mid devs are not and if you don't understand large aspects of how it works you can't be effective. It doesn't help that people who stagnate like this usually weren't very good at/engaged with their jobs to begin with. They're usually senior in name only, where their managers know not to actually assign them stuff that matters.
- gabereiser 6y agoFor sake of argument though, can we assume all “old” programmers in this case are ones that have been doing this a long time and are actually competent? I’m not disagreeing with you, but I know those are in the minority of us “old” programmers. “Old” vs “Young” can be a measure of experience.
- ticmasta 6y agoThere's also old with lots of experience but it's 20 years of doing the same thing, or 10 x 2 years experience vs. 20 years of xp
- otagekki 6y agoIf the current trend in the software engineering market continues, in 2040 we'll most likely have much more profiles with 10x2 years or 20x1 year than 1x20 years. I have the impression that really few companies value the latter nowadays.
- 908B64B197 6y agoI've also seen seniors having 10 times one year of experience as opposed to having 10 years of experience!
- dllthomas 6y agoWe should distinguish age from experience from skill. That said, want to call out that experience in other fields can sometimes be tremendously valuable! (... but isn't guaranteed to be)
- Nursie 6y agoI think using the "five monkeys" parable as an argument to favour the young is fallacious. Your tale is great, and sounds like a great experience, but I don't think it's necessarily related to the age of the participants, and to me the key here is this - "The head of IT was there for almost 20 years" To me that reeks of stagnation. 20 years in the same place! This person hasn't exposed themselves to new ideas, cross pollination of techniques and skills etc etc. They've become ossified and cynical, and not because they're older, but because they haven't moved around. Anyone being somewhere more than a handful of years (5?) is a red flag to me, if you're looking for technical competency. I'm glad, for his sake, that story ends with the guy moving on!
- rightbyte 6y agoIf you bail every three or whatever year you kinda never get to see a big project start to finnish.
- jlokier 6y agoAnd if you don't, you kinda never get to work on more than one thing, and therefore grow and cross-pollinate ideas from different domains. It's one of the toughest things about working as an employee if you're interested in more than one area. That's why I switched to freelance consulting, where I found the variety far more enjoyable. It looks very likely I'm moving back to "permanent" employment soon for stability and access to more interesting "big" corporate projects that I found as an independent. (My valiant initiatives to struggle on intermittent income and use the free time to transform the hardware world into an open source hardware world don't seem to be needed any more; better people than me are doing a great job!) But I have mixed feelings from a nagging doubt that I'll be stuck doing one thing all the time, until I have the temerity to leave the employer. We'll see, I do have an open mind and I'll give it enough time to find out, but it's at the back of my mind.
- yxhuvud 6y agoWhile you are right in that you shouldn't stay on the same place forever, there is definitely very huge and important lessons in staying at a place long enough that you don't only have to deliver something, but also get to maintain it over time.
- mtberatwork 6y ago> one day I'll be in their place. I want them to be treated the same way I will be treated. That one day will be here in a blink of an eye. Seems like only yesterday I was the wide-eyed, naive programmer fresh from uni... :)