5 ms·
I don't disagree with anything stated here, but how much of this actually is a function of age? I feel like a young programmer could aquire all of these traits
by thehardsphere 9y ago
I don't disagree with anything stated here, but how much of this actually is a function of age?
I feel like a young programmer could aquire all of these traits also, because they're less about age and more about being able to learn from experiences. You can choose to have more experiences to become the kind of person the article talks about.
Or is this a survivorship bias thing? The old programmers are more likely to be this way because the people who would be old programmers who are not this way aren't programmers anymore?
- marcus_holmes 9y agoFor most programmers in their 40's, at least in my experience, we've been working in the industry since at least our mid-20's, if not earlier. Very few older programmers I know started learning to code in their 30's. Most started in their teens. So, yeah, a talented young programmer could have accumulated enough experience to acquire these traits. But it's more likely to be found in us old farts. Agree with your survivorship idea too. There's been a few that have changed course along the way.
- moron4hire 9y agoUh, isn't that rather much the point? Once a young person learns all this stuff from experience, they've become an old person.
- thehardsphere 9y agoBut you can gain experience without necessarily becoming old at the same time. They're correlated, but not causal.
- grive 9y agoExperience takes time. More or less, depending on several factors (willingness to learn and improve, complexity of the subject, ...). But by definition, if you gain experience, you just got older than before. You cannot magically learn everything out of sheer willpower. Additionally, a few things are impossible to learn without time: the "Judgement" section in the article. You can certainly theoretically understand the meaning of it, but to experience it and have a deep, intimate understanding of it you have to go through the process of writing something and supporting it. So it's not a matter of correlation / causation, it's a matter of the two concepts being two sides of the same coin.
- thehardsphere 9y agoOk, let me be more explicit. You are absolutely correct that experience takes time and that the type of experience that the author speaks of comes from writing something and supporting it. What I am saying, is that you can choose to write different types of things and support them, without having to become 40+ years old. Not out of "sheer willpower" either; you just have to choose to write different types of things and support them. Yes, you will be older than you were before you started. But... to get that experience you do not need to reach age 40. If anything, simply getting older is not a guarantee that you will get that experience. Suppose you only program CRUD apps for 20 years with the exact same stack every time. There's only so many times you can write the same sort of app over and over again before you get diminishing returns on that kind of experience. The author knows this implicitly, but assumes from his own experience that other 40+ year old programmers will have as wide a range of experience as he does. That's really the specific premise of his that I'm questioning: that being an old programmer automatically means you have a wide range of useful experience that makes you better.
- moron4hire 9y agoI think you're still missing the point. No, just time isn't a magic ingredient. That time has to be well spent. But it still takes time. And it's not just about having several projects under your belt. This is making the fundamental mistake that software development is a pretty intellectual pursuit, when in reality the social aspect is far more important. There is living through the cyclical zeitgeist. There is the experience that only comes from having been through things when there were new, and having done this several times. There is no way for a young person to know what it was like to start writing JavaScript when it was first invented, or to have made one of the earliest AJAX apps when XmlHTTPRequest was first invented. That's not an argument that the old ways are better than the new, it's an argument that we know deep down why the new ways are better than the old (and what lessons the new ones could learn, too). There is the super powers that come from having spent a long time in two or more completely different fields. There is domain knowledge that does not come cheaply, and to gain such expensive knowledge in more than one field is so rare. I don't think the author is at all arguing that all 40+ developers are great. He's arguing to stop universally dismissing older programmers.
- liveoneggs 9y agoI enjoy your attempt to use "it's not the years it's the mileage" but your assertion that there is some way to gain "experience" without "time" doesn't make a lot of sense.
- thehardsphere 9y agoI did not say you gain gain experience without time; I said you can gain experience without becoming old. That is, you can gain the kind of experience the author discusses before reaching age 40.
- liveoneggs 9y agoHow do you think age happens if not by way of time? :)
- thehardsphere 9y agoIt does not take 20 years to gain the experience the author is discussing. It can be done in significantly less time than that. That is my point.
- marcus_holmes 9y agoI'd love to hear your ideas for how to do that...?
- chrisan 9y ago> because they're less about age and more about being able to learn from experiences Typically after you learn from experiences and gain knowledge you age. I'd question someone that is young and thinks they know the world. If being able to acquire all he knowledge/experience while young were true, everyone would peak at 25 and not get any better. There is a certain point some people get where they _refuse_ to learn more and are "set in their ways" and that becomes detrimental to a younger/fresh idea. I doubt anyone would advocate age quotas for hiring but having a mix of experience/knowledge with fresh ideas is probably ideal. At least, it feels ideal in our team which has ranged from high 40s to low 20s.
- chefandy 9y agoWell I'm not sure if you're young or just playing devil's advocate, but a young person often feels that way. The whole knowledge * intellect idea that someone else here mentioned is far too reductive. You can be a ridiculously smart person who has read white papers and coding books, learned all about discrete math and project management, worked on as many projects as you could, and still not touch the maturity of an older software developer. Why? Experience doesn't begin and end with topics directly surrounding your vocation; your whole life contributes to it. As you age, you get to know yourself better. Old people have made far more decisions in their life than a young person has: lots of good ones, and lots of bad ones. You know your decision making process and its flaws. You remember what it feels like to reap the rewards of a good decision, and even more intensely, you remember the sting of a bad decision. You know, from experience, what decisions you should make, what ones you shouldn't make, and any confounding variables. You also start to understand those same patterns in the human and organizational behavior of people you live and work with. You start to get an intuitive understanding of the kinds of mistakes various kinds of people make in various kinds of situations. There's a reason that older people– often ones without a ton of domain knowledge– are generally the ones making big decisions in a mature company, while the younger people are working out the details. For example, the couple decades that I spent as a bouncer in clubs might not help me see if I'm making a bad coding choice per se, but it vastly increased my understanding of group dynamics, ego, negotiation, how to mitigate the damage of having to make snap decisions with a whole lot of consequences, how to respond when someone tries to intimidate me or make me feel uncomfortable, deescalating pointless arguments, and even starting a fight when one really needs to be started. (the worn-smooth restraint and fighting techniques have much less utility in the office... so far) Before I gained that experience, I'd have no way to have known it would proved useful in a software development career. I'm sure many parents, people who have coached sports teams, people who have experienced the death of an industry, or even people that have gone through messy divorces can all point to things they've taken away from those experiences which have vastly improved their judgement and maturity. And it's not just the soft skills which are improved by this understanding. Being more mature means you write more mature code. I look at code I wrote 15 years ago and shudder. It's not that I have a better understanding of the mechanics of Perl or C now than I did then, but my sense of logic has been refined, I'm more patient, and I have a better sense of where to put in extra effort and where to cut corners. When you're young, you're still mostly figuring out what you're capable of, but you don't have a very good sense of what your limitations are. When you get older, you've got a pretty good sense of what you can do, and a much better sense of how to keep yourself and everybody else out of trouble by avoiding what you can't do. The problem is, lack of experience is generally pretty opaque to the people who lack it. ¯\_(ツ)_/¯
- kenbellows 9y agoI think the article is arguing that while age may not be necessary for quality, it is sufficient. A young(er) programmer may or may not have these qualities, but in order to survive in the programming industry beyond a certain point, you have to develop these qualities. (Not sure whether I agree, but I think it's a point worth considering.)