Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Can you switch to a programming career despite nearing 40?
104 points by IamZeroBalance on March 8, 2021 | hide | past | favorite | 100 comments
What tips can be given to someone who wants to change careers to the tech industry in this stage of life?



Outside of cult-like SV, you'll be fine.

There are tons of companies that need programmers to solve problems. If you have a base understanding already in a field, work towards programming things in that field. Having deep knowledge of a field can help you.

You didn't give much info about your background. If you can use an existing job to start doing programming, do it. If you are an office worker and use Excel for nearly anything, that can also likely be solved as a CRUD web application. Do it on your own time if your employer won't allow work time on it. Also look into automation of things you or co-workers do.

Generally speaking, I would say outside of careers requiring extreme amounts of education/certification (medical doctors, rocket scientists) you can generally switch careers from anything to anything. The advantage with programming is you can learn 100% of it online and you don't need a degree to enter the field.


> Outside of cult-like SV, you'll be fine.

This. I know several people who switched from some non-tech career to development in their late 30s/early 40s. All of them are still working as developers now around a decade later and all very happy they made the switch rather than writing themselves off as "too old".

Will it be harder than when you were 20? Well yeah. Just like any career change after around 25 or so is harder than fresh out of university. Doesn't mean you can't or shouldn't do it though. Not much in life worth doing is easy imho.

Decide what you're interested in, look at what you need to learn, learn it and build up a portfolio of your work. Perhaps get involved in some open source projects if there are any that catch your eye, or start your own open source project.

Once you have built up some confidence and a demonstration of your work apply for some positions. I highly advise you brush up on your soft skills as well as your tech skills if you are not used to "selling yourself".


Absolutely can be done. I think there’s a kind of brain well suited to it cause some people just seem to ‘get it’ and some don’t. Don’t worry about that tho I’ve worked with many people that don’t fully get it and remain employed. Worth trying if you feel it! Don’t let anyone make you believe you can’t do something if your heart is in it.


What do you mean outside?

I live in SV and it’s absolutely possible here. I see it happen on the regular.


From what I hear and read there is a bit of ageism there. Good to hear it is possible there too.


The other posts are easily handling the resounding "yes" side of things, but I'll add this: add more context!! My recommendation would be to edit the question/post.

Generally speaking, the tech industry is sufficiently deep and wide that anybody with adequate motivation and resources to iterate will eventually find themselves somewhere interesting, for practical and short-to-mid-term definitions of "eventually", and even in a situation where you're diving into the deep end, cold, and with a lifetime of expertise in other fields.

But that iteration process takes time, and it can be unintuitive. The more specific you are about what interests you (where you want to go) and what experience you have (where you've come from), the faster you'll get somewhere personally significant.

Yes, there's definitely an "all about me" element to this (for want of a better way to put it). I feel the positivity and encouragement already present in the thread answers that to some extent.

It's also very true that adding specifics will make the thread less applicable to others, but I say that a) others can just post similar questions, b) tech changes so much these types of threads tend to become irrelevant over time, and c) more specific often correlates with more interesting!


Of course you can! I decided to learn to code when I was 37yo. Now I am 41 and I earn a lot more as a junior developer than I ever did in any other job.

I wrote a lot about my path and I think it can help both in the why and the how: https://rodrigohgpontes.github.io/

Good luck!


Older devs even with many years experience have it harder. That’s my own experience.


Yeah I mean I plan to be consulting or a CTO or something by that age. Unless you are crazy specialist I think you need to branch out into strategy or have enough reputation and connetions to earn silly money freelancing.


It's not possible for every 25yo programmer working today to become a consultant or CTO by the time they're 40 (or in fact any age). There's just not that many CTO/consultant jobs!

Similarly, not everyone can become a project manager, product manager, head of engineering, or whatever.

So as you age, you can take one of those career changes, or just ... find a long-term niche and stick there or keep up with what's new, and sell your experience.

There is a world beyond single 25 year-olds working stupid hours in startups.


I'm 41. I am doing just fine as a software engineer. I'm making a fairly ok rate for a MSc in my market (North-Europe).

I don't known what it means "older devs have it harder". I am a valued contributor, and if something bad would happen I have a pocket full of leads where to find next gig.

You have to maintain your career - nobody is going to do that for you. So yes, you have to figure out how to become a valued contributor.

Make sure your CV communicates you are "smart and gets things done" and you are set, more or less.

Perhaps software engineering is a bit more fragile than other more professional fields as there are lot of young uneducated employees who can be abused and exploited by unscrupulous employers. But generally you learn to identify those, and with a good CV of years of successful projects, you can find agreeable employment in most market situations.


Many plan to be a CTO, VP, or making silly money somehow, but that doesn’t often happen. I know few old developers, but those I know aren’t making silly money- they’re either in slow very small businesses or working for some mid-sized to large company.


I am already earning money that I would expect to earn only close to my retirement in my other careers, if successful. So I am very happy with my choice financially-wise. And I still enjoy a lot coding everyday. Also I am lucky to never have felt (or at least noticed) the effects of ageism on my career. On the contrary, employers have explicitly told me that my long professional experience and maturity was an asset that was considered in my hiring (they paired me with a 21-year-old who was a senior by technical merits, but still needed to improve in other aspects of fulfilling a senior dev role).


what kind of "slow very small businesses"? 1-man consulting shops, or something more?


In my experience, there is a class of small company that has roughly 3-7 employees, at least half of which are 45-65 years old, where the business is slow and quiet, with little sign of any growth, typically selling a niche product or technology for which there is not much competition. One or more may have big ideas but really they just are happy having a job and working with others.

There’s nothing wrong with this.


Absolutely. I wish more people would.

This industry's over-representation of 20-30-somethings creates a real echo chamber. When any group is over-represented in an industry, that industry will struggle to hear other perspectives and experiences. So please, let's increase the supply of diverse voices.

(This is not an "SJW" thing, by the way. I can feel some of you being triggered by words like "diverse", but I'm not trying to say that any of you are any less deserving of your jobs and accomplishments. You're all wonderful and brilliant.)

In terms of hire-ability, I think you'll find much success. I don't live in SV, but in my experience, the age of a programmer has never been an issue in hiring.

With one exception: The salary expectations of someone in their early 20s is usually different from someone in their 40s. Switching careers generally means starting from the bottom and working your way up. You'll probably climb much faster than the young guns due to all sorts of relevant experiences you've had, but there's no getting around the fact that you're starting over.


Honestly, there is too much representation in Silicon Valley companies from young people with pretty radical progressive politics and SJW philosophies, and too much lip service from those companies toward those causes.

More older male devs in Silicon Valley would be a breath of fresh air. Please make the switch, we need more people like you here!


You raised a great point. All the diversity initiatives I came across seem to solely focus on race and gender but never age.


You can, but it would require a lot of hard work at very low pay. My recommendation is to try to use your existing skillset for a tech company, and then try to transition internally. The right company may even provide free/before-tax tech education.

Some points to consider:

1. Your age is a big disadvantage. Ageism is pervasive in tech, especially for entry-level coders. Someone your age who had started at 22 would likely have been in a management role for ~10 years already.

2. It's very, very hard to get a comprehensive understanding of the work that most programmers do: web and/or aging enterprise applications.

Web is an enormous hairball with many layers of history, competing standards, frameworks, philosophies, and target environments.

I've been building web software for ~24 years, since I was literally a child. I started doing it professionally ~18 years ago. When I meet someone from a bootcamp, their understanding is probably 1% of what mine is, which is totally reasonable.

That said, I still regularly bump into aspects of programming and web technology that are completely foreign to me and would definitely be useful for me to understand. For example, I have essentially no experience with the HTML <canvas> element, which is a huge gap!

3. Programming is not something that most people enjoy as a career, even if they absolutely love it as a hobby. It can be tolerable to continually bang your head against the wall trying to figure something out if you care about the outcome. It is much, much less tolerable if the outcome is fixing some mostly-broken, legacy garbage for a client in a boring industry.

Keep in mind that this type of work (maintenance/drudgery) is often the most accessible and secure type of employment for starting programmers. It's definitely possible to get a job at a startup, but at your age, the austerity and gambling involved in startup life is potentially not acceptable.


1. Your age is a big disadvantage. Ageism is pervasive in tech, especially for entry-level coders. Someone your age who had started at 22 would likely have been in a management role for ~10 years already.

Ageism is pervasive in some corners of tech. I'm nearly 50, and in my R&D group, there are few developers under the age of 35. Few of the older developers are managers, either.

I think you are conflating age with experience. If the OP has enough skills for an entry level position, then I would not expect him to have anywhere near the same level of expertise as someone in the industry for nearly 20 years. If the OP wants to get into web development, then they should work to progress their skill set over time (which, by the way, is a reasonable expectation for any number of career paths).


> Ageism is pervasive in some corners of tech. I'm nearly 50, and in my R&D group, there are few developers under the age of 35. Few of the older developers are managers, either.

Of course there are exceptions, but they're rare. Your personal experience has no bearing on industry-wide data[1].

> I think you are conflating age with experience. If the OP has enough skills for an entry level position, then I would not expect him to have anywhere near the same level of expertise as someone in the industry for nearly 20 years.

You're putting words in my mouth. I said nothing about age and experience being the same thing. I'm saying that OP wants an entry-level job at middle age, and that's more difficult for many reasons (ageism being one of them).

> If the OP wants to get into web development, then they should work to progress their skill set over time

People are hired (or not hired) for many reasons, and only one of them is their skill set. I'm sure OP can acquire the necessary skills, but it can be painful and life-consuming, which a lot of people can't tolerate as well at 40 as they can at 22. A lot of people over 35 have mortgages, spouses, children, elderly parents, health conditions, and a variety of other responsibilities that are less common in younger people. Taking a grueling, low-paying job is not necessary feasible in those circumstances.

1. https://www.marketplace.org/shows/marketplace-tech/celebrati...


Your Market Place reference is about "the biggest tech companies." There is work outside of FAANG, and, in my experience, a fair bit of it. As you point out, the work isn't "sexy," but, truth be told, many of us don't do "sexy work" day in and day out.

You are also assuming that every entry level software development position is grueling and low paying. I understand that some companies treat younger employees are disposable (even my own employer, who hires younger/less experienced devs as operations support, which assumes lots of crappy work), but I don't think that's the case in every entry level position.


OP please take this advice under consideration. I see posts in HN over and over that express the idea that there is no ageism in tech because they see x number of techs that are over 50. Well, what they don't take into account is survivor bias. What they see are the exceptions not the large number of techs that had to move to other careers because they could not find a job in tech.

This post makes some very good points.


I'm 46 and basically retired now because I felt like my opportunities were drying up.

You'll probably be able to get a job, but it will be at a second or third tier company that is questionably managed and considers you to be a cost center. So you'll have no political power and everyone breathing down your neck to get things done - while also having you sit in meetings half the time.

You won't be able to work at a FAANG unless you are have such innate talent that you are basically god's gift to programming.

In addition to all the normal barriers for interviewing, like whiteboard coding, passing leetcode tests, etc, you are going to need to jump the ageism hurdles. For example, the fact that the person interviewing you is younger and is thinking "this candidate is too old".

(And for the 40+ programmers that are going to reply and tell me they are working with tons of older workers: you guys have survivorship bias).


>You won't be able to work at a FAANG unless you are have such innate talent that you are basically god's gift to programming.

EDIT: I misread your comment, and realized you were referring to the newly-minted programmer in their 40's. I apologize, and fully agree that person will have a VERY hard time landing an entry-level role.

Keeping my original post below for posterity:

I like to think that I'm good at my job, but I can assure you that I am in no way god's gift to programming. With over 20 years of experience under my belt, whiteboarding was easy (fun, even), though I did have to practice the leetcode a little bit to make sure I was well-versed on the "smell" of problems and "tricks" required to get to O(n) or O(log n) complexity. That took about 10 hours or so.

Ageism is absolutely a thing, and it's something I worry about, but getting into FAANG at 40+ is 100% doable. There is such a massive shortage of experienced engineers that I spend an hour or two each week helping our recruiters find lots of other experienced folks.


This seems like a pretty extreme point of view. Not that ageism doesn't exist... but I entered the tech industry at age 38 and have gotten offers from two FAANG companies. I do think I'm a good programmer (obviously if you suck you'll have trouble getting a FAANG offer) but not God's gift.


Once you get a job at a FAANG that's your golden ticket. You will never be out of work. If I were you I would take one of those offers, even if the job itself sucks.

Its different for most of us and I'm sorry to say you just don't know how bad it is. Many people I formerly worked with are currently severely underemployed. Its not that we are bad (I shipped a couple Xbox games, so I'm not an idiot), we are simply unfashionable.


Depends of your early experience in life. Whatever you have been doing before determines if it is a good idea or not.

I always recommend that you have a competitive advantage in what you do.

So if you start anew competing against 20 years old with way more energy that you have, it will be a bad idea.

But if you have mastered something in the past, and programming gives you an edge because you reuse what you have learned, it will be a good idea.

Programming can be miserable, lonely,alienating(you work with machines not people), painful and slow to get results, specially when you are not an expert. Experts can do miracles as they could automate their own code. Also experts are used to working remotely, and master the psychology of getting things done after years(or decades) of mistakes individually and as teams.

I would study what can you give that very few people can because of your specific personality, interests and experience.


I'd say yes.

The programming/software development industry is HUGE, and there's room enough for most anyone.

But beware though, in a lot of SV-oriented forums/boards, there will (naturally) be a gigantic bias towards Big N or startup careers. In those cases, it might be more difficult to get a foot inside, as you get older. There's just a ton of applicants, and some recruiters at some firms might assume that with higher age, you won't be able to commit to work as much as fresh grads, due to family and such.

There's quite a difference between joining Google or the hottest unicorn, compared to becoming a coder for some insurance company out in nowhere.


Some can, some can't. We hired a mid 40s candidate right out of coding boot camp. He was obviously smart and a hard worker and got along with everyone very well. It took 2.5 years to convince the boss that he wasn't making progress, and to let him go. In all that time his coworkers, including me, spent many hours, days and weeks patiently helping him, training him, essentially doing most of his work. But it just never clicked with him and he never gained the ability to do more than the simplest debugging.

Another older coding camp grad, who happened to be an immigrant woman, was a natural engineer who learned our complex systems very rapidly, contributed a lot quickly, and soon moved on to higher paying opportunities.

You will hear lots of encouraging words here and hopefully they will be true for you. But beware of wasting years on this project if you find that after giving it a solid try, it still doesn't suit. It just isn't for everone.


I asked a friend of mine who is high up at a coding bootcamp. He said it's not uncommon for people around 40 to go through the program and they've had success, but 25-35 has more numbers and more success.

But that certainly doesn't rule out the older folks if they put in the work! Places like that tend to advertise >90% job placement and starting salaries in the $60k-$70k range depending on what market you're in, which seems like great odds to make a good living.


If you are starting from scratch I wouldn't advise it, it's a highly specialised, ever changing field. On the bright side, a very rewarding path is to pick up a scripting language (any) and start automating the tasks around you. For example networks, load balancers, IPAMs, databases, monitoring tools... everything has an API you can "attack", extract info, configure and start making an inmediate impact in your field.


I strongly disagree software engineering is not an advisable career for 40 year old.

I fail to see how the situation is any different for a 40 year old than for younger junior devs who either get education or self-educate and start coding.

I think the most important thing is to accept you can never stop learning.

Agree playing around is a good idea :)


"Was Hänschen nicht lernt, lernt Hans nimmermehr."

Aka the things you learn at that young age are nearly impossible to learn when you're not young anymore.


Poor little Hans was brought up with the most self defeating advice he could've gotten. Do yourself a favour and don't do the same thing.

Sure you won't pick up a language from mostly just hearing it like when you were a little Hans but you'd be surprised what you can learn when you're not "young" anymore, whatever "young" means.


That does not really reflect the modern understanding of how people age and learn.

There are some things you can learn only as a child. Those differences become apparent only with feral children who fail to adapt to society at later age.

Programming languages and frameworks are created as tools for humans. You are never too old to learn to use tools for pragmatic use cases.


Can you give a concrete example of something that can only be learned as a child?

Also, feral children may not be a relevant example as they have not undergone the full childhood development and in that sense they have a development disability as opposed to just having missed some typical learning. They cannot learn some typical human things and the rest of us cannot learn some typical unhuman things.


> Can you give a concrete example of something that can only be learned as a child?

The canonical example is fluency in an unfamiliar (spoken) language. Most people lose the ability to internalize a new language to the point of being able to 'think in the language' as opposed to 'translating in your head' past their tweens, although the skill of deliberately acquiring new languages is itself learnable, and of course improves with practice, but the ability to learn to speak a language 'natively' (not merely fluently) is lost by nearly all people even earlier.

However, more to the point of this discussion, this age-linked loss of ability or plasticity does not seem to apply to learning programming languages (it is fairly common that one's first programming language is successfully acquired well past that point, after all). I suspect this has something to do with differences between listening/speaking vs. reading/writing fluency.


Yes, programming languages and programming are very limited when compared to natural languages and the range of typical verbal communication.

The fact that at least some older adults do internalise new languages and become undistinguishable from native speakers begs the question why everyone cannot. I'd say plausible explanations include adults being buzy or lazy with their lives, having a fixed mindset towards language learning, bad pedagogy etc. as alternatives to loss of the necessary plasticity. All these can apply to learning programming likewise.


The feral child was the concrete example and it's the only one I'm aware of. All evidence points that you have to live with humans as a child to learn how to be human.

And yes, I agree on your assessment of them.


What a counterproductive saying, contradicted by modern scientific results on learning and the brain.


I would recommend this route as well; you can enable significant gains in your current industry with your newfound programming skills. Heading to a software house from zero might be more challenging, and less rewarding. Try to find the synergies with your current expertise, if possible.


I keep reading here that somehow “energy” gives young people advantage. In my experience, having lots of energy can help or hinder. Being a good programmer requires patience, mature view of the world and the ability to think critically. Reading articles and coding all day just serves the ego. A very small portion of young people spend time learning the fundamentals and think about consequences. So, I think you have an advantage! I started at 23 - this can be considered old too, because I have colleagues that started at 8, but I do not see a giant gap between them and me - everyone has strengths and weaknesses


I don't think it's necessarily energy so much as lack of other obligations, like having dependents you have to care for outside of normal business hours.

I see this not only among 20-something unmarried workers with no children but also among single workers in their 30s, 40s, and 50s who are either childless or whose children are older and less dependent on them. There's more flexibility to be able to work a little late when needed, or attend networking events or conferences without having to worry about childcare.


Solid point. But it depends - if you are a 20,30-year old with no obligations then there is a high chance that you do not really know how the world works. I guess I’m suggesting your typical mom’s basement rat who neither has the programming skills or the domain/business logic. But the field is quite forgiving, so you can pull it off no matter your background. Here were I live, programmers get paid 5-6 times more than the average income. Some seniors get the same money as a bank director would and of course, not the same levels of stress. A lot of people actually transition to IT and do it successfully, but we are an outsource market and there are companies that hire a lot of juniors and sell them to customers as seniors...so better environment for new-starters. I would say to the author to go ahead and try it! I truly love this field, it is amazing!


I have a lawyer friend who learned to program from scratch, starting older than 40.

He works for a large automaker now writing javascript web apps and is way happier than when he was lawyering. It took him less than 2-3 years to switch.


I think examples like this are a lot more helpful than people trying to use logic to make their argument. It's a real-world scenario that actually worked, with results that should temper expectations.

The other one I saw here was someone who is now a junior developer after a few years. That's reasonable, IMO.

My impression of people wanting to switch careers is that they expect to be as proficient in the new career as they were the old one in just a short time, perhaps just after some training/college. It's not reasonable at all.

My standard advice to someone who wants to have a career in programming is to start programming. If you don't actually like it, then you really should consider something else. But if you love it, it'll be hard to stop you from being successful with it.


It’s easier to hang up a shingle and open a boutique law firm, specializing in some niche aspect of legal services. You basically get to be your own boss.

It’s much harder to do the same as a programmer.


You have plenty of time, almost 40 is not even close to retirement age, if You retire at 65 thats over 25 years still (Amazon isn't even 25 years old, Facebook and Youtube are even younger.)"*edit Amzn is 26*"

Almost every post secondary institution is currently offering online degrees thanks to the Rona, so IMHO there has never been a better time to go back to school for mature students.

Learn the material, get certified, develop a portfolio and sieze the opportunity.

If you have your heart set on working in a FAANG type company and are worried about ageism, research the methods women and minorities use when submitting an application or resume to get an interview. I am certain the same techniques can combat ageism too.


I'd like to encourage you but the reality is that as you get older your programming employment opportunities diminish. I would stay away from programming unless you plan to work as a consultant that's willing to find your own contracts and are able to plan and succeed that way.

Good project managers are always in demand at any age. You might want to look at that but the stress factor in that position is high. You have to deliver projects on time but you often get little power to demand it so you have to have the right personality to get your team to deliver. Good luck!


I’ll add another ‘absolutely!’. The anecdote I love telling that is somewhat related: my grandfather started medical school at 38 in 1959 (and with 5 kids to boot). He went on to be chief resident at UW and a stellar Cardiothoracic surgeon. Times were certainly different then, but if he could do that I’m certain almost anyone could then and now. His background was being a farm boy from North Dakota and doing flight training for the military. Then he saw a career he wanted and went for it, starting very late in life relative to the norm.


My 2 cents:

Avoid competing with 20-somethings coming out of local coding bootcamps. Here there are multiple groups churning out React + (node or ruby on rails) web devs. Just learning Angular instead would set you apart.

Pick one thing and focus on it. It can be so exciting to learn a bunch of new things but you will end up spread too thin to be of much value. Now that "one thing" can be a full stack of a couple technologies, but pick one of each and specialize in it.

Don't be too niche for your market. If you're in a small market, there may not be a lot of demand for machine learning or rust. A solid .NET dev is likely more employable. Look at open job postings and use them to build up a list of common needs there.

There's a pattern I've seen a number of people successfully follow. Find a somewhat newer technology with good potential value in your market. Learn it. Blog about what you learn. Develop a talk about it and give it a couple of times (Meetup groups are usually desperate for speakers). Produce a video of your talk, either from an in-person event when we can again or one from your desk environment. Start pinging publishers about writing a chapter or reviewing a book on your chosen tech. If possible, get your name on a book cover, even if it's with other authors. From then on, you are "Zero Balance, author of 'Getting Started With Golang Embeds'". Even if you're applying for jobs that aren't closely related, you project a lot more authority than the average coder.


I was 36 when I quit my corporate finance job, took a year off and learned to program, so yes, you can. Tips?

- Make a plan, when are you starting, what do you want to have accomplished in year 1, 2, 3. Commit to it.

- Make a financial plan, I basically lost 65% of my income (ouch), but I knew there were high paying jobs out there. How long can you live on a lower salary or are you good just taking a cut anyway. Do you need to take time off to retrain? What will that cost. For me budgeting that all out really helped.

- Figure out your worst case, for me it was "what if I can't get a job" or "what if I do and after 6 months I hate programming professionally". Can you still get back to your old career, do you want to?

- What skills carry over, do you have some business or commercial experience? Or some background in a field where those skills would help being a programmer?

- Learn your butt off. I've been doing this for 3 years professionally now and I spend most evenings 50/50 coding on pet projects and reading literature/CS books. Its hard but I've managed to make back my lost income and somewhat compensate for the lack of actual programming years. Its also been rough on my social life, but that's the price for me. I figure once I hit the 4/5 year mark I can maybe take a breather. This year though with corona it actually works out fine, nothing better to do anyway.


I admire your drive very much. I too started programming in my 30s, but have always struggled with it and now wish I had pursued something else.

I cannot imagine having the mental energy or the enthusiasm to spend most of my evenings doing side projects and reading CS books. I'm happy for you, but is that what it takes to do ok in this career? Hours and hours of unpaid work, even after you've got a job?

It just makes me wish I had focussed on being a product manager or something. I'm pretty sure most of them aren't spending all their evenings reading management books.


Depending on your interests, embedded systems programming might be an opportunity worth pursuing.

In my experience, it's much more a stable "stack" than most other areas, and there are plenty of programmers who continue to work (and get well paid) as they get older.

Investing some time with a Raspberry Pi and a couple of micro-controllers at home will get you started on the skillset, maybe some Open Source contributions as a way into the community?


You can although the specifics depend a lot on what you're swtiching from. A mechnical engineer, an accountant, a history teacher and a blue-collar worker will need to approach this in very different ways.


I'd recommend finding something that combines programming and whatever your prior career has been, so you can bridge the gap.

I moved from teaching to coding by first working on open source teaching software in my spare time, then using it as part of my teaching work, then getting a junior coding job at a university. I was a better teacher because of the software I was making, and I was a more attractive junior hire due to my domain knowledge.

Code at home --> Use project at old job --> Use domain knowledge plus project to land first coding job --> Coding career :)


Yes, absolutely, but not for the reasons you might think.

Take any other industry and compare the difference in requirements. Any other industry starts from a license/certification and works outward toward professional experience. Software doesn’t have that. There are many insecure and incompetent people employed writing software and it’s hard to tell them apart.

If you want to write software and be employable you have to temper your expectations. On one hand you need to separate yourself from the crowd by really diving in and making software a passion. Become that master craftsman that loves to build high quality products with least effort by knowing where to find the polish and all the fine details. It is easier to compete for employment when you strive for excellence more than everyone else. If you can find employment easily, because you strive for excellence more than everyone else, you also have options and flexibility most people don’t have.

On the other hand realize most of your peers in the workplace are doing the minimal necessary to achieve employment. The insecurity is high and they aren’t looking to rock the boat. They barely got their current job and realize if they lose this current job it will be quite some time before they find the next job at the same rate unless they abandon software for management. This means there is also some defensiveness and desperation baked into the insecurity that you don’t have with all your flexibility and employment options. These people are not looking for innovation or disruption, they are looking to keep their salary and healthcare.

Just know that difference will be there regardless of which side you find yourself. More than anything else the difference is driven by personality.

For the moment, starting out, just start building things. Write software for yourself. It doesn’t matter if it’s crappy, as you are learning. Practice makes perfect.


Not many details were given, so it’s difficult to give specifics. Two things to keep in mind: first, take advantage of your domain knowledge; second, consider programming adjacent jobs.

If you’re having to learn both programming skills and the domain knowledge, you’ll have a hard time. You’ll be learning two things at once. You’ll be judged on both and it may be hard to diagnose what the issue is. Are you having trouble with the domain knowledge or with the programming? If you’re just ramping up on coding, it allows you to worry about improving coding ability.

Some companies have software adjacent roles such as business analyst, project manager, product manager, scrum related roles, or QA positions that you could look to jump to. From there you can switch to development. Some of those roles don’t pay nearly as well as programming, but the barrier to entry is lower. Often your deliverables would be some sort of document as opposed to working software.


I switched at 30, and already it felt like I would never catch up to my same-age peers, who alrady had close to 10 years of experience under their belt. In some respects, that has been true, especially with regard to pure technical abilities. But from my previous career, I brought with me another set of skills, and also a decent amount of experience that wasn't directly relevant but that helped me see the bigger picture in many cases. That has proven to be very valuable, and I'm glad others have recognized its value. Now, at 40, I'm leading a team and making strong contributions to my company.

So in terms of practical tips, I would say to look at the ways your previous experience may bring something extra to the table. Things like management experience, communication skills, mentorship/teaching experience, sales experience, etc. are often transferrable across domains.


Absolutely. You just need to be strategic about what kind of work you want to do and with whom you want to work, and then build your skill set accordingly. I would strongly suggest you look for older mentors. I work as a technical due diligence assessor, and I see so many unglamorous and unknown tech companies in weird niches that you'd never think of, but making buckets of money. Many of whom have mature staff. Software is far, far more diverse than tech media and general media would lead you to believe, and there are lots of fields where people with other life experience and the stability of someone in their 40s is highly desirable. Lots of companies really don't want to be constantly worrying about losing their devs, which is far more of a problem if they are young and easily lured to other cities.


In the last ten years I have written useful programs in Python, MATLAB, C++, Java, and PLC programming languages (ladder-logic and structured text, which is like PASCAL). I do a bit of Python and Julia programming now and dabbled in Rust but with little free time, I don't have time to do much more.

I'd love to switch over to software development but don't know how to manage the transition. I am willing to take a pay cut.

I have a PhD in chemical engineering and have done a lot of different things: control system engineering, biotech, semiconductor and MEMS fabrication, some aerospace, cryogenics and low temperature physics, vacuum system and surface science, etc. I think there are organizations that would appreciate that I need some investment but would pay it back with interest... difficult finding them, though.


Yes, and this is the difference between 'coding' and development, and then further on to engineering and ultimately architecture - the further in you go it is not about how to do, but what to do, and it becomes more about a way of thinking (in systems rather than tasks).

So the question isn't really if someone at 40 can learn to code, it is more if someone, at any age, who hasn't thought in terms of systems can grasp it.

I have met some people who can't code who understand systems in a way that would totally blow away most people, SV, London, Peru, wouldn't matter where you were.

I have also met people that can code endlessly, but couldn't architect a novel system arrangement if their family was being held to ransom, it's a way of thinking.

It used to be that a systems analyst was a profession all of it's own, not really at all any more, and it is my observation this is the really root cause of so many software projects failing.

The first step in any formal analysis is Problem Identification, but it is surprising how often people will spend tens, hundreds of millions of dollars and never formally go thru this essential first step, and are then basically better off buying lottery tickets than hoping for a successful project. (and then go on to blame the consultant, or the market, or the fickle users, when really it was them all the time but they just never realised it).

So code, phht, that is not even the entry ticket, more the uniform.


my tip would be absolutely don't start with all the normal shit everyone does. Learn some real niche or ultra modern shit first. Start with things that are considered very hard. CSS/react ect is absolutely worthless knowledge that is going to take just as much time to learn as something valuable that differentiates you.

there are an incredible number of specialties in programming. You don't want to be competing with 50 million other junior developers.

My second tip is unless you are a genius, the learning curve is going to suck. just gotta stick with it and grind it out till the shit is easy. Years of learning curve.

My third tip is talking about programming is an equally important skill as programming. You need to communicate with a lot of different developers often, so you can learn the lingo.


On a more positive note there are ways to get this done if you are really interested.

Learn a specific in demand skill set that will last a long time ex: Salesforce programing for SFCC is highly in demand and under supplied, if you pass the certifications you are going to get your start for sure no matter the age.

Find industry specific respected qualifications and get one to get started, once you are in the ecosystem you will be fine. If you want to go work at x startup that may be harder but you can get started in the enterprise space if you want.

Once you are out of the silicon valley bubble you will be just fine in the other major cities or in places that need it but are not attractive to the younger folks.

If its your dream go for it and avoid the problems by getting respected certs to get you started.


You need two things: skill and accreditation. You can gain skill by studying or doing code camps, going to college, etc. The easiest way to gain accreditation is to follow what similar people did. If you go to a reputable college, your CV won't be rejected. If you do a coding camp, chances are your CV is going to get rejected a couple of times before you have a chance to do an interview. This is what I mean by accreditation. Don't be discouraged, there are a lot of opportunities and it mostly depends on you! If you wanted to be a doctor or a lawyer it would be much harder.


You don't need accreditation, but it will make things easier. I think that is what you are saying, but it bears clarification.


Thanks, I thought I made the point but thank you for clarifying.


Depends on what you switch from. I switched from biology/life sciences and it was quite natural to go into data analysis (from Excel to Pandas in Jupyter-lab as the data grows) and then via BioInformatics (using Bash to glue together FOSS NGS data analysis programs and later moving to Python/Snakemake) into software development (developed own Genomics related software).

It helped that I have (since I was 19 or so) run Linux in some form or another, on laptops and home servers, so in a way I merged my hobby into my work. Never learned programing though until I was 35 or so.

What field are you from?


The type of coding that can be self-taught in a few months/years is exactly the type of coding that guys age<30 will be more cost-effective at. A disciplined engineer/mathematician can learn to code applications quickly and possibly at a higher level of quality than 20 year olds, but it won't matter. You will be competing against brawn and caffeine rather than brains.

If you have a background in mathematics and/or statistics, consider transitioning to data science instead.

If you have no science/engineering background, it would be tough.


Does BI developer classify as programming career?

- Requirements taking from business owners

- Data modelling for data warehouses

- Writing Python code for transaformation (from source table to data warehouse tables) and their scheduling as we are following ELT but EL parts are taken care by HQ

- Writing Python code for alerts, monitoring and dashboarding (using the excellent Dash library)

- Huge amount of SQL

If the answer is yes then I did switch to a programming career when I'm two years from 40. I'd really love to do more ETL but sadly HQ took away most of the job.


Part of it is that when you are 15 years old almost all the hours of the day are yours to pursue what you want, and if you focus you can cover immense ground on something you are intensely interested in, all while being fed, clothed and ferried etc.

Fast forward 10, 20 years, some children, maybe a few wives/ex-wives, aging parents, you just don't have the time without some sort of moonshot mentality.

So I think a lot of it is circumstantial and not actually age directly, I am over 50, and design/write highly specialized software, the sort that ends up averaging a line a day across the life of the project maybe, or definitely that kind of metric for unique code.

I pick up new stuff all the time, I look for better ways and tools in general browsing etc almost every day, experiment with whatever I can get my hands on and find that any slow down in cognition is more than made with by experience and the ability to just "see" things at a glance other people cant.

Don't let age defeat you for no reason, believe in yourself and not what other people say, you will know what you can do fairly quickly, just be honest with yourself and target your strengths and work on your weaknesses.


I agree, especially about the mentality part. I'm 30 and I've already seen my expertise in two obscure stacks thrown away, the politics behind promotions, and more. I feel like why should I bust my ass learning a new stack if I'm just going to be thrown away and don't even make that much.

Of course that's also coupled with the family constraints you mention as well.


Short answer is an absolute yes! Would recommend building programming skills and experience in areas that build on whatever professional, academic experience/credentials you already have. For example, Python+Data Science if you have some math background or have worked in industries that use analytics a lot. Embedded systems if you have worked in auto, hardware/electronics, aviation industries etc. In general, try and use your age and experience to project a well rounded technical ability. Programmers are easy to find, but coders with good domain expertise are more valuable and hard to find. Also very valuable are demonstrable communication skills, especially written. So, if you have maintained any blogs or have had a journalistic stint you can use that to your advantage. Ageism exists no doubt, but a) tech industry continues to be one of the biggest drivers of jobs worldwide b) freelance/remote work based careers to some extent provide 'age irrelevant' opportunities. Overall, welcome and good luck!


If you have expertise in some STEM field, it shouldn't be too hard to get a job in tech. You won't get an amazing job at first, but you will eventually, when you come across a company that needs someone with your skills.

Other than that, personally I would avoid working for small startups, this is probably good advice for most people but especially for those who are 30+.


You can switch as long as you have a strong aptitude for logic, math, and probably language. There are some comments here about ageism and how hard it can be, but honestly, in my experience, good engineers just care about working with other good engineers. Your age, sex, and race are irrelevant to most techies I know when it comes to work. If you can program well, they'll appreciate you and working with the code you produce. I know people who have gone through a few months of code bootcamp and are able to get well paying jobs quickly after that. A lot of phd's have been switching to programming careers these days cause it pays way better and has a lot more job demand than w/e their scientific fields of study were and many of them are in the 30-40 range. There is major talent shortage in software engineering so if you get just ok at it recruiters will be knocking at your door with jobs and if you get good you'll have your pick of jobs.


Yes, absolutely. I did at 35. Find the aspects of the work you love the most and let them guide you. A bootcamp or similar educational experience should help you ask the right questions at the outset, and will be a significant boost to your self study.

Any mid-life career change carries risk, so I recommend speaking with your family and/or loved ones to make your intent clear. I also saved money for a while before joining a bootcamp to take pressure off of my wife during the training and to ease the job search after finishing.

Most important tip: talk to people. Ask software engineers about their work, lives, interests, practices. Whether you take some formal schooling or not, learning about how people work and why they make decisions will help you move forward more quickly. Without that context it's easy to get lost in a sea of details.


After more than 10 years working as an architect, I recently made the switch and got my first job as a frontend dev at 39. I have always been coding, also during architecture practice (there is a lot of coding going on in architecture!), so that helped. Also, my experience with design and leading teams in as an architect was also a plus. I got into "modern" frontend development about 4 years ago, and have been working on side projects during my free time. That also helped, a lot. So, I'd recommend you start there. Work on personal, side projects, also as a way to see if you really wanna do this.

Worth mentioning: I got a BIG salary cut, as expected. After all, I am starting almost from scratch. But working remotely and having the autonomy is invaluable to me. Glad I switched.


Kind’ve.

It usually takes around 5 years to become an employable programmer at 40 hours a week.

Most of the 20 somethings “starting from scratch”, either programmed at a young age or are so bad at it they can only contribute by working long hours.

Most 40 years aren’t going to spend 5 years in the darkness learning until they can make money.


Apologies if this is already covered by other responses, but one thing to consider is the incredible pace of change in the software industry. In a matter of years, new technology can go from being unheard of to being an industry standard. New languages come along and supplant older ones, new services and tooling are created which become the de facto means of building certain types of software.

There are lots of jobs in the industry, especially at larger and older companies, which will just involve working on systems with a mostly static set of technologies being used, but it's worth considering the effort it takes to stay modern with your skills and experience if you're not just trying to stick it out with one company


If you have a solid ability to code it shouldn’t be a problem at any age. But some people aren’t able to break a task down into steps a computer can follow, even with a lot of training, and if your one if those then it just won’t work regardless of age.

I worked at a start up where the president had hired her BFF the graphic designer to be an Oracle DBA. That didn’t work out and when I read the notebook she left behind it was clear why - every day she would sit down and try to understand how relations between tables worked and by the bottom of the page it was all doodles of flowers and unicorns. Next day, repeat. Very nice lady, great graphic designer, but running a database just wasn’t her thing.


Aim at automating something related to something you know very well, as an entry point. Your 20 year exp in IndustryX + a few techy skills could be super useful IMO.

A few tech skills on their own will be a hard grind I'd guess, so try not change industry entirely.


I’d say the main challenges come from two directions:

- you’re competing with fresh undergrads, and most companies have university recruitment pipelines you can’t leverage.

- older people (by default) are expected to have more experience, and perform better than people with no work experience. If you were at your current skill level after 20 years on the job, you’d probably be a lost cause. Be sure to set the expectation that you are a junior developer when applying.

Having said that, it’s totally possible. Most software firms are looking for more diversity of background, and you likely have all sorts of relevant “soft skill”, business, and other experience other candidates can’t bring to the table.


I think all the worries of competing with undergrads and “the youth” generally can be avoided by not applying at a startup or any other scrappy little company that wants to pay very little to overwork inexperienced labor. An older employee probably doesn’t want to work there anyway, I agree a lifetime of soft skills actually has a fair bit of value especially at less exciting medium to large businesses (bake, healthcare, etc)


My father switched to a programming career at 55, and did it until he retired at 68. There is no shortage of programming work to be done. He started in the mid 1990s, and there's lots more work to go around today than there was then.


No is the simple answer. It's like education and certificates, everybody will encourage you do it but won't be around to give you a job.

All the 'Yes's reflect survivor ship bias. (ask them to access you once you learn some basics which should not be difficult, if they are willing to put their money where their mouth is)

Of the more nuanced answer is - it depends. ( not elaborating on that because it often will not be useful advise).

And finally the only way to really find out is to plunge in - you will know in 5 years where you stand, you will be either doing well or really miserable.


Looks like you have decided to jump into programming as career. Upside is fun, if you like it. Downside depends on your nature. If you are quick to think and think outside thebox with logical bent of mind, I think you should be good. Programming is like digital plumbing- one may end up using 3/7 screw when 4/9 is more suitable but the world does not care as long as the product is sturdy. Word of caution - some fields like medical appliance programming etc could be risky with so much scrutiny. Just my 2cents.


Tech recruiter here.

Choose to work in a domain you are familiar with.

If you have been an accountant, try to find an accountant software vendor who will hire you.

It won't be easy though. Ageism is my pet peeve. I think it is one of the biggest, yet forgotten-about discriminations in tech. Here a shameless plug of a video how much it annoys me: https://www.youtube.com/watch?v=8V6XMvtNKS8


Ex-finance guy here, though I went against the grain and didn't go for financial companies, trying to stay close to where you came from is a solid strategy. Especially if you have some sort of business experience and a level of maturity about you, a lot of companies will be quite eager to take you on because you know the field.


We have a 38yo junior in our team, and he is doing fine.


I assume if you're thinking about it you're interested or doing it already. Best to tell recruiters that you've been doing it for X years for whatever reason (hobby, side business etc) AND you have all this other experience you can bring to the table.

Would be useful if you could list what you've been doing for the previous 24 years.


Its always doable. But you have to realize that theres a long road ahead. Its longer than just taking some classes or MOOCs. A lot of programming skill is real life experience in many different types of situations. That simply comes with time. So you need to be patient and build your way to that.


If you can make use of your past industry experience and combine them with some relevant technology knowledge you might find it extremely easy to get into tech.

Technology itself might look hard, but the real challenge is applying it to the industry problems at hand.


Consider an SQA role, if you have trouble getting a mainstream software developer job.


Yes, post-40. Living proof. I took on debt to go to a boot-camp, General Assembly, and was hired as a contractor to do website work. Things fall into place after that first job, but it was not easy and I had to push myself.


Yes. You can do whatever you want.

Depending on your circumstances, you may have different challenges to overcome. But, they can pretty much always be overcome with enough drive and adaptation.


Can you become a surgeon despite nearing 40? Yes, you can, but it is not easy. Only tip I can give you is that you should be prepared to and willing to work your ass off.


I switched AFTER age 40. Having a great time.


Yes.


Leetcode.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: