by IamZeroBalance on 3/8/21, 8:22 AM with 100 comments
by matt_s on 3/8/21, 12:48 PM
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.
by exikyut on 3/8/21, 11:37 AM
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!
by soneca on 3/8/21, 10:43 AM
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!
by nickelcitymario on 3/8/21, 4:04 PM
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.
by smt88 on 3/8/21, 8:41 AM
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.
by trashface on 3/8/21, 4:22 PM
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).
by bumbada on 3/8/21, 11:21 AM
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.
by TrackerFF on 3/8/21, 12:21 PM
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.
by hirundo on 3/8/21, 1:17 PM
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.
by Brendinooo on 3/8/21, 12:28 PM
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.
by BlasDeLezo on 3/8/21, 12:12 PM
by valeri-program on 3/8/21, 11:42 AM
by sneak on 3/8/21, 10:36 AM
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.
by sigmaprimus on 3/8/21, 9:39 AM
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.
by WheelsAtLarge on 3/8/21, 8:51 AM
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!
by Fezzik on 3/9/21, 6:19 AM
by ja27 on 3/9/21, 5:54 PM
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.
by notapenny on 3/8/21, 8:33 PM
- 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.
by __d on 3/8/21, 10:52 AM
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?
by superbcarrot on 3/8/21, 10:16 AM
by austincheney on 3/8/21, 12:34 PM
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.
by stevegalla on 3/8/21, 6:52 PM
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.
by jawns on 3/8/21, 1:40 PM
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.
by iainctduncan on 3/8/21, 3:45 PM
by cashsterling on 3/8/21, 8:13 PM
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.
by kayimbo on 3/8/21, 4:18 PM
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.
by ApolloRising on 3/8/21, 8:57 AM
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.
by mping on 3/8/21, 12:04 PM
by teekert on 3/8/21, 12:34 PM
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?
by johbjo on 3/8/21, 5:41 PM
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.
by markus_zhang on 3/9/21, 4:43 PM
- 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.
by airbreather on 3/9/21, 1:36 PM
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.
by gokulj on 3/8/21, 11:29 AM
by mkl95 on 3/8/21, 12:36 PM
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+.
by iepathos on 3/8/21, 11:17 AM
by planxty on 3/8/21, 1:13 PM
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.
by danroc on 3/14/21, 7:11 AM
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.
by throwaway123409 on 3/8/21, 1:16 PM
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.
by monroewalker on 3/9/21, 5:18 PM
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
by zxcvbn4038 on 3/8/21, 1:33 PM
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.
by sails on 3/8/21, 12:39 PM
A few tech skills on their own will be a hard grind I'd guess, so try not change industry entirely.
by hedora on 3/8/21, 4:00 PM
- 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.
by stephencanon on 3/8/21, 3:48 PM
by dennis_jeeves on 3/8/21, 9:59 PM
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.
by templarchamp on 3/9/21, 5:57 AM
by iwangulenko on 3/8/21, 2:15 PM
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
by xyzal on 3/8/21, 1:00 PM
by thorin on 3/8/21, 1:41 PM
Would be useful if you could list what you've been doing for the previous 24 years.
by anonu on 3/8/21, 11:23 AM
by pintxo on 3/8/21, 10:26 PM
Technology itself might look hard, but the real challenge is applying it to the industry problems at hand.
by joshuanapoli on 3/8/21, 12:11 PM
by adamredwoods on 3/8/21, 5:13 PM
by runjake on 3/10/21, 9:13 PM
Depending on your circumstances, you may have different challenges to overcome. But, they can pretty much always be overcome with enough drive and adaptation.
by bjourne on 3/8/21, 2:08 PM
by duxup on 3/9/21, 5:12 AM
by j0sch7 on 3/8/21, 1:23 PM
by runawaybottle on 3/8/21, 12:26 PM