It's tricky I think because even if he can learn to program to a suitable standard, I think the reality will be that people will see him as a "junior" but you will have a different working dynamic since it is easier for an e.g. 30 year old to coach someone who is younger if they are doing it wrong but could be tricky trying to coach an older person unless they have genuine humility, otherwise your dad might feel patronised or be offended by some youngster without the experience to coach well.
Another avenue, if it is just the industry he likes rather than programming specifically, he could probably get more distance by utilising his exec skills to do a technical management role like Product Manager, Product Owner or Project Manager. He could then get as much exposure to the programming as he wants without needing to produce as much of it as would be expected of a dev.
The flip side of this is true as well. Ageism is a real problem in our industry. People are just more patient with young college grads and more willing to help them out. As somebody who transitioned to SWE in a big company(FAANG) after a decade of wireless communications research, I found out despite all the processes and supposed practices a big company has in place to onboard people from different backgrounds, you need to rely a lot on your teammates for the tribal knowledge to get anything significant done. And people are far less helpful than they think they are. Often they assume things because in their minds X years of experience means you should already know this stuff. Almost all of it is non technical and specific to the company so you won’t have a way of knowing it beforehand but that consideration is readily given to a fresh grad than an experienced person. Also a lot of the times tenured people will feel insecure/threatened about/by someone else joining at the same level and would constantly point out their shortcomings in order to maintain their place in the hierarchy. Was oblivious to this until I was managing people and saw newer experienced people joining the team face this. Had to coach people to stop them doing this unconsciously.
Anecdotally, ageism seems to mostly exist in FAANG-type companies, web dev, and startups. If you look around at other industries like logistics, transportation, etc. there's less ageism.
Ageism is higher in companies in domains/work with lower barrier of entry, such as the ones you also identified like web dev, mobile apps and so on.
Ageism is less in domains that require domain expertise and hence have a higher barrier to entry for a newbie. Look at systems engineering, hardware, semi conductor, deep science and so on.
Ageism is a fundamental truism of all society throughout history. It's pretty much baked into the species via evolution.
* women are unable to reproduce until a certain age.
* women stop being able to reproduce at a certain age.
* NOTE: we need not delve any further into the inherent ageism of female biology.
* women select men for mating for a multitude of reasons, of which includes the dichotomy of dominant men.. who (for young women) tend to be slightly older then the men of the woman's own age group.
* men compete with each other for dominance, and age is a factor. Young men have a strength advantage, older men potentially have more experience.
* dominant men who grow older, become less dominant, etc... are no longer as useful for mating.
* older dominant women tend to have different selection criteria, they tend to select younger males who are less dominant then the other males of their own age, yet more so then the men of the woman's own age.
* this is not an exhaustive list...
Older men & women tend to be less useful beyond natural selection, but evolution is a great starting point.
Ageism is everywhere, but I'm surprised by your anecdote that it's more intense in FAANG-type companies. I wonder why?
Perhaps the FAANG working environment is competitive? Perhaps men & women are competing with each other for a kind of workplace dominance? hrm.....
Honestly, have been long tenured (comfortable) at my current job for the whole of pandemic so only have second hand experiences through my direct reports. But on the whole I think remote work has made this problem kind of worse. When I was new I could walk over to someone, gauge their mood or how busy they are and have a direct conversation. Even if I lacked the ability to communicate my problem clearly it was definitely easier to get help. They could just see where i was stuck and get full context. Here for every simple thing people have to ping one on one on DMs or in group channels. There are few problems with this. One in large channels a person who asks a lot of questions is looked down upon. (Shouldn't be in an ideal world and we keep emphasizing this with processes and what not but it's human nature). Plus unlike an in person conversation every question you ask becomes a part of permanent/semi permanent record which discourages people from asking questions. Also you don't know when you are interrupting people. Even if you dont expect an answer right away when the person doesn't respond for a long time you naturally feel resentful. And repeating my earlier point it's much easier to provide full context when somebody has your undivided attention by showing them instead of typing out what you think the problem is.
If you're not working fully async, you can always ask the person to schedule a call where you can discuss X if you can't come up with one simple question.
> could be tricky trying to coach an older person unless they have genuine humility
Bingo. This goes for young people too, but is more important as we age or rise through the ranks. Accepting advice from an "inferior" with grace, humility, and thankfulness is key to gaining respect and learning at the rate necessary to stay on top of a field.
I've taught things to people who were a million times more intelligent than I and 20 years my senior. I gained so respect for them after seeing how quickly they learned, and how appreciative they were of having my time.
One thing I gleaned from the experience of working with these guys was how letting someone teach you something is a great way to impress them.
Accepting some advice or input on an individual item vs having someone 'manage' you are different beasts. As I come up to 50, and work with a group of folks ranging from 28-32... the age and experience gaps are highlighted often. I'm happy to contribute, and I do occasionally learn something from someone (often some specific tool I'd not seen before). But there's a resistance to 'learn' from me. We're 'equalized' on a 'team', and "we should all learn from each other!" is a common mantra.
I've done many of these projects before, and will raise issues. "Let's just see how it goes!" and "well... we might make some mistakes, but that's how we learn!" And I'll say "but I thought we were supposed to be learning from each other?" "yes!". "Why does no one ever want to learn from me?" I've done XYZ longer than these colleagues have been adults, but I'm never asked for stuff, people avoid my input, etc.
What's more interesting is that a couple of folks on the client side of the equation (contracting house) have been added who are older, and ... they're quite open to picking my brain. We mesh quite well, and have pairing sessions and learn from each other (but I'm giving more than taking in those cases). With the younger crew... there's just a real standoffishness, and focus on 'team' and 'learning from each other and our mistakes' but... they're willing to make mistakes (repeatedly) vs taking my input to avoid those mistakes in the first place. The client's new person seems to have picked up on this and is raising some issues.
For a while, I really thought it was something wrong with me, but as I jump around between clients/contracts/etc, it seems to be more age related. The larger the age gap, the less impetus there is to work 'together'. And... I'm trying to think back to when I was 25... how open would I have been to 50 year old colleague's input? If they were 'management', I'd have to. Otherwise... possibly not? Hard to remember that far back, other than that I thought I was invincible :)
Hi! Thanks for the honest response. I'm your age, and find the same reluctance from young people to listen to me when I've been down that road before. They really do have to learn from making mistakes, as they keep telling you, and can't learn from your experience. I'm not defending them for not taking advantage of the diamonds right in front of them, but I also understand their need to experience things for themselves. After all, how did you learn?
Rather than “that won’t work because of X”, I may say “here are some potential problems to watch out for”, or just ask a question like “OK, and how will you handle X?”. That message seems to get through better, and at least helps people recognize the mistake earlier.
Partially through trial and error, partially from other people, partially from books, etc.
It's not so much that "these young kids won't listen" that's annoying, but this mantra of "we're all here to learn from each other - that's how we grow!". Except... if it's me. Then you choose not to learn from me. Or older people in general. Just drop the "feel good we're all a team" facade, because it doesn't represent what you're actually doing. The disconnect is the problem, not the actual behaviour.
When I was in my 20's, my mentors were all 50+. And, quite often, I would have to hit the wall before the good advice they gave me made sense. I realized later that I was really irritating to them at many points. It took me, like, 4 times hearing "You might want to think about that" from my main mentor before I started mentally translating that to "Dumbass. You're about to hit the wall. Again."
I am not a smart man.
They stuck with me because the magnitude of my vector was large (ah, the province of youth--boundless energy), so, even if I had a significant amount in a useless direction, I also had a significant chunk in a useful direction. And I would learn--I rarely made the same mistake (but I was quite good at making new mistakes ...)
However, if the people around (not just the kids) really don't understand that you're an expert at what you do, you really should think about getting a different job. If the consultants are willing to pick information from your brain, that's a good sign that you really do know what's going on. In return, you should make use of their people network--poke at the consultants you think are good. And right now is a good time to be making such a job change.
Ageism is a thing. On the flip side, the number of greybeards in this field continues to increase year on year--the people who learned computers as kids in the 1980s are now hitting their 50s.
I found myself in an interesting position: on one side I manage a group of people,where most of them are much younger. So it's nice to be able to tell that that you do x and you'll get y. For instance, I made someone a team leader recently and did tell that it is likely that they'll get some resistance from others because of it. Fast forward 3 weeks and now I have to deal with the exact thing I mentioned. On the management side, we do have a wider range of people in terms of age and seniority. It's so refreshing to be in a meeting where someone says: yep, I've done this 20 times previously, these are the common mistakes we are likely to make. I don't want everyone to be my age in the company,a mix of varying experience is great.
Yeah this is gonna be a human "problem", an emotional level requirement, if both are chill sharing their viewpoints, being positive then things are possible.
I started teaching my self to code w/ the intent of getting a coding job at age 38, and I got my first coding job at 40. Breaking into coding was brutal for me. I couldn't get taken seriously as a junior. I just had to keep grinding until I was good enough that someone would take me seriously as a mid-level.
The way I did that was go super deep on learning Ruby super well. Then I found a company that needed someone who was really good w/ Ruby. They were willing to overlook my lack of depth in other areas because I had a skill that was critical to them. After starting the job, I had to work super hard to brush up on junior & mid level skills just to do my job at a good enough or better level.
After less than two years, people started thinking I was actually better & more experienced than I was. I could talk a really good game because I had spent so much time learning while I was getting experience, and then I started getting taken seriously for senior level roles. People saw my physical age & just assumed I was more senior & experienced than I was, so being older was actually an advantage to being taken seriously.
After about 5 years of coding, I finally felt like my work life balance was somewhat normal. I could start having a life again, stop learning quite so hard, etc. Now I'm just a normal, boring senior software engineer making a median-ish USA salary.
So I guess I'd say if OP's dad's path would be similar to mine, I'd ask him if he really likes software enough to spend a couple years learning to code & finding a job, then grinding for a few years to get to normal, and then enjoy 5 years of being a competent team member. It's certainly doable, but I think it's worth how bad one really wants this path. I think getting into software just for the money is not how I'd want to spend my 60s, but I'd absolutely do it if I found the coding enjoyable enough to self-teach & grind on learning for as long as it took.
It's also possible that other opportunities would open up just because of dad's knowledge of software. Just saying he likes to program, even if that's not his profession, could open up opportunities at a tech company doing other things, such as QA, support, scrum master, etc.
I disagree that it would necessarily take that long. Per the OP, his father is not starting from scratch, and has some programming in his background. Being a CEO, CCO, etc... We can assume his father is an intelligent and successful person.
Possibly, if his father applied himself, he could find himself a niche in which he would be adequately competent within 2 years. To include being a freelancer or independent developer.
As you alluded to, because of his father's business background, he might do really well in sales for a software related company or starting his own business.
I know the OP said it was "maybe Pascal or Basic", but having done this ~40 years ago, I'd argue that it is basically starting from scratch, unless he was actually writing Javascript the whole time for google sheets integrations
> Being a CEO, CCO, etc... We can assume his father is an intelligent and successful person.
Being unable to continue working as a CEO/CCO suggests he's not currently very successful, and to put it lightly, CEO "intelligence" (whatever that means) doesn't necessarily translate to the kind of intelligence necessary for software engineering
Ya for sure, that's what people don't understand. It takes years to really be up to speed and really useful (maybe you can shortcut it with bootcamps, idk, I suspect not though but maybe you would know enough to be good for some tasks).
I had a friend ask me same thing as OP. He was 50, out of work at the time (had been in a trade before) and wondered if he could get into programming. I don't want to discourage anyone from learning to program because you can do a lot of cool stuff, but to be seriously industry useful isn't a matter of months and a few online classes but rather some dedicated years.
And (this might be an unpopular opinion) it's much harder if you don't natively think a certain way. Some otherwise smart people find programming pure torture and the chance of them going through the years needed is pretty low.
I about to turn 37 and just got my first full-time job as a junior. I actually think my age has given me an edge, but one thing I do have going for me is that I look much younger than I am.
Are you going to go into management? I’m going to enter professional coding work force in mid 30s too. Assume I’ll feel the same way the first couple years
Yeah, it's really difficult because a lot of the drive expressed in OP is for a new source of opportunity... The problem is that ageisms and such definitely take root in our industry, trying to work healthy hours at a startuppy place when you are older seems very precarious. I think you are on point that technical management has more availability, if that's the constraint.
If the constraint is instead that programming looks fun but you want to get exposed to as much of it as possible, I mean, I would suggest that OP’s Dad start building an indie game or so? Doesn't have to be a bestseller to sharpen thinking about design and aesthetic and underlying mechanics and state and data structures... I work in web but the amount of framework churn and such is kind of something I wouldn't force others through.
If you did want something more webby, you would want to practice with something you find interesting... If you wanted, maybe something that touches a lot of other technologies. If you think about writing your own GitHub, you start with git repositories and cloud hosting and deployment, you can move into CI/CD type workflows pretty easily, maybe that is a better way to start off web programming?
The other thing I will say is, Big Tech companies are often places where you can get one role and then ask for their developer education tracks where they teach their accountants etc how to become developers if they want to pivot. Say for example, being a manager at Google but having some 20% project that lets you contribute code and get feedback. Bigger more established companies have fewer problems with ageism, because they are much more sensitive as lawsuit targets for those sorts of things, so they have to get their s** together.
Also worth saying, the prior job history is an asset. A lot of developers do not speak business-ese. If you are a solid programmer who can talk to C-levels, you are a potential CTO at the right sort of place. Because you can translate, and because you feel comfortable walking into a contract negotiation with some client as “okay, how can I not say ‘no’ to everything but push back on the really hard problems while ‘yes, and’-ing all of the tractable stuff to get them on board.” Consultancy is one of the ways to do that, but not the only one. But worth calling out that as an asset if it helps focus the journey more.
I think you're right, but there would still be some hope in the "Don't call yourself a programmer"[1] avenue.
If he can sell himself not as a programmer, but as someone who does X with programming as a tool that they're going to use to do that, preferably where X is something that he has some expertise in from earlier in his career, he might be able to get people to look at him as an expert X instead of a novice programmer.
At risk of getting flamed...
It's tricky I think because even if he can learn to program to a suitable standard, I think the reality will be that people will see him as a "junior" but you will have a different working dynamic since it is easier for an e.g. 30 year old to coach someone who is younger if they are doing it wrong but could be tricky trying to coach an older person unless they have genuine humility, otherwise your dad might feel patronised or be offended by some youngster without the experience to coach well.
Another avenue, if it is just the industry he likes rather than programming specifically, he could probably get more distance by utilising his exec skills to do a technical management role like Product Manager, Product Owner or Project Manager. He could then get as much exposure to the programming as he wants without needing to produce as much of it as would be expected of a dev.
Don't know, just thinking out loud.