
Ask HN: Where should I start as a 34-year-old switching to software as a career? - serbiruss
I&#x27;m currently a lab technician with a background in microbiology and would love to get into software development; however, I lack experience and I feel I&#x27;m too old to ever get a job in the field. I&#x27;d appreciate any tip!
======
chrisgoman
Develop _any_ software for your domain (lab technician or microbiology) that
solves a simple problem you see or encounter daily. Identify a problem in your
current day job that can be solved with software like recording data in the
lab, tracking supplies, etc. (nothing too complex) and come up with a solution
(website to check-in/check-out, mobile app (?), etc.) and learn how to build
it. It will not be perfect but you will have done something. Having domain
experience will GREATLY make it easier to transition -- learning a new field
and software at the same time is going to be rough.

[https://sysadmincasts.com/episodes/51-mechanics-of-
building-...](https://sysadmincasts.com/episodes/51-mechanics-of-building-a-
carpooling-service-introduction)

~~~
goodoldneon
Couldn't agree more. I made the switch about a year ago at age 31. Previously,
I was a manufacturing process engineer. I created some tools for me and my
team, and my current employer hired me specifically because I "created real
apps".

Companies want employees who are self-starting autodidacts.

~~~
abcd0990
Hi! I am trying to transition my career from the lab - I have about 10 years
of experience in a gene sequencing company and currently considering software.
I'd like to learn more about what you did and see if I can replicate your
success, would you mind answering some questions?

~~~
goodoldneon
Sure. What would you like to ask?

~~~
abcd0990
I have close to 10 questions and it might be difficult to answer if I post
here. My email is workinprogressblogs@gmail if you don't mind I can send them
to you directly.

------
jmchuster
Find a bootcamp that has a good record for placing people into jobs, or
advertises it, or has a reputation, or has aligning incentives to do so, or
whatever. Your first job doesn't have to be anything glamorous, but should
then allow you to get to eventually wherever you want to be in your software
career. Some of these bootcamps have skill/interview requirements, so that
will help direct where your home study and practice should be.

Or, you could go to college and get a master degree in CS. Colleges then have
on-campus-recruiting and some set of companies that will basically hire anyone
who graduates from the university with a CS masters degree. It's the same idea
as the bootcamp; go somewhere with the connections/infrastructure in place to
help you get your foot into the industry.

Now, once you have your choice of companies to choose from, I tend to
recommend startups. That's the one place where you have the opportunity to do
things that you definitely shouldn't be doing given your experience level.
But, since they have so few employees and so much to do, you're it. Then with
those rapidly acquired skills, and with a year or two of relevant experience
now on your resume, you can more easily get a cushier, more stable job at a
larger company, if you wish.

~~~
protonimitate
I would be hesitant to recommend a bootcamp without knowing the person trying
to make a career switch.

Many people have had success with bootcamps. But remember, there is no
guarantee of a job by attending one. Personally, I would only recommend a
bootcamp to someone who has a) the disposal income to spend on one, and not
get burned if things don't work out, and b) the person has the time and work
ethic to devote to it 100%.

When you pay for a coding bootcamp, you are paying for the focused hands-on
learning experience. If you don't feel that you can be disciplined to do it by
your self, or think you can network better in one - it may be viable. Do your
due diligence in researching bootcamps as well. For every good bootcamp there
are two or three scams out there.

Personally I would advise that anyone looking to make a switch spends 10-12
months self-teaching and learning as much as possible. Build a few projects in
whatever domain you're interested in, and then start applying. If you find
that you aren't getting past the HR filter - it might help to go for a
bootcamp or masers degree. But, I don't think dumping 15k+ into either one of
those off the bat is a sure-fire way to make a career switch.

I don't have any experience working at start ups so I can't speak to that, but
working for a smallish established company (~ 300 employees total) has been
wonderful. Good support system, resources to encourage career growth and
learning.

It also depends on your career goals and location. Breaking into a small or
medium sized unknown company in the mid-west may be easier than trying to
career switch into big-n in the bay area.

------
semitext
As someone that tried making the switch to software development at your age
two years ago, and haven't had any luck, I would treat the majority of advice
you get here and anywhere else with a grain of salt. You will hear a lot of
stuff about how you are not too old, and that it's okay to not have a CS
degree. It's not that those things are wrong, but I think they are less true
today than they were when many people here entered the field, at least in the
Bay Area. If you are like me, you will find there are almost no jobs for
jr/green developers, and you will find that when you do come across those jobs
you won't fit the mental image most employers have of someone that would be
appropriate fit for that position.

So my advice is keep learning (because that is the one thing about this field
that is fun and exciting), but figure out how to do so in a way that is
sustainable and makes you happy, and take care of your mental health.

------
thruflo22
Rebrand as a data scientist.

Data science is eating the world. Everyone wants data scientists.

You’re a microbiologist. It’s hugely credible that you’ve done some crazy data
crunching for your science work. Spin that into an increasing interest in the
pure data science.

Voila, you’re writing python for a living at the top of the market with a
hugely valued differentiated skill set.

~~~
tw1010
Are you saying this because you work as a data scientist and this is personal
experience (that the field is booming), or are you saying this because this is
what you've heard?

I tend to hear from actual data scientists that the field is a lot harder to
get into than what the press is reporting.

~~~
CuriouslyC
I can definitely corroborate this. If you don't have a PhD in a quant field,
landing a job off your resume alone is really hard. Last time I was job
hunting I tuned my resume towards data science positions, but while I got ~30%
hit rate on software engineering positions, I never got a single data science
callback.

I've talked to a lot of data scientists, and I can't recall any without a PhD
said they were initially hired for that role. I have met quite a few that were
initially hired as a support programmers then moved into data science once
they had their foot in the door though.

------
gremlinsinc
I learned html/design in 98 when I was 18'ish, but I always thought of it as a
hobby - not a real career, till web apps and wordpress came along, still I
would install wp sites, and do SEO for people but still worked for shit pay
and shitty jobs, in 2011 at 31, I started learning to code using MVC
frameworks (Ruby on Rails and Laravel specifically), I learned better coding
skills, etc...and it's only the past 3-4 years that i've been taken seriously
and started being sought after by companies and small businesses for freelance
work.

Best advice is just build stuff, and always work on your portfolio and resume.
The more you can showcase that you've accomplished the better.

------
mathieubordere
I did the same thing when I was 28. I had some prior exposure to Java at
university but that's about it. I took a year off from work to teach myself to
become a software engineer. It takes hard work and you will doubt yourself
while you're doing it. My advice is to get your fundamentals right, everything
else depends on it. With fundamentals I mean, learn your algorithms,
understand how a program actually runs by writing interpreters and compilers,
understand the memory hierarchy, etc. After my year of self study I took a job
that was not fully in line with my goals as a software engineer, but it gave
me time to further develop myself and actually acquire some real experience in
the field. I'm 33 now and working as an Embedded Software engineer, and in
comparison with my peers I think I'm performing well, it all depends on your
motivation and interest to put in the extra hours after work to 'make up for
lost time'. I'm extremely happy with the choice I've made.

~~~
Zelmor
>interpreters, compilers, memory hierarchy Those are nice if you want to do
embedded and C. A complete waste of time for Frontend/Backend, mobile and
desktop people in the beginnings.

Tell me why someone picking up Python/JS should learn the above mentioned
things, rather than learn basic security principles and not pip/npm install
blindly all the packages without checking the source? Change my mind.

~~~
yaseer
Because in learning those things, you don't just learn 'facts', you learn
generalisable patterns of thought.

The generalisability is more obvious in something like physics where the same
physical laws apply in different domains.

Computer science doesn't have axiomatic physical laws, but it does have
recurring concepts. If you learn about memory hierarchies in computer
architecture, you can apply similar principles in dealing with caching systems
in web-applications.

------
hnuser987654321
I don't think you are too old. Many of my coworkers had erratic, non-technical
careers (construction, military, fireman, etc) until their 30s.

Just prove you can solve business problems using code.

If I were to get into software again, I would completely ignore the hype and
choose a robust set of technologies and exclusively master them. Namely, Java
(Spring Boot), MySql, Jquery. These are some of the most mature and popular
technologies available - you can build anything with these. After you have
built this foundation and found a job, then you can move onto other
technologies.

Create a github if you don't already. Pick a project (bonus points if it
solves a real problem in your life). If you can't think of anything, build a
TODO-list.

~~~
jnbiche
> Jquery

As a frontend developer (who's also old), I'm going to argue strongly against
jQuery. I like jQuery. It's had its place. But it's on the way out. Your time
would be much better spent learning vanilla JS (preferably ES5+ES6 but even
just ES5 would be much better use of time than jQuery).

You can easily do anything with modern vanilla JS (and modern browser APIs
like `document.querySelector` and `fetch` than you can with jQuery.

Otherwise, good advice, except I'm guessing you mean a "TODO List" _app_ , not
just a TODO list (and the concept of a todo list app may not be apparent to a
non-dev, so:
[https://github.com/themaxsandelin/todo](https://github.com/themaxsandelin/todo)).

Also, I agree that the OP is not too old. After working for a few years as a
software developer up to the dotcom bust, I went into health research for a
while before returning to software. But I did manage to frequently use
programming in my jobs, which made it easier to get back in. So I'd recommend
trying to find a way to use some programming in the lab you work in before
trying to switch, along with putting together some sample projects in Github.

Just be aware that you will run into ageism, and if you happen to deal with
serious illness (as some of us do as we get older) and are out of work for
more than a brief amount of time, that will be another big strike against you
to overcome in the industry. You probably wouldn't face those to the same
extent in research labs.

~~~
tluyben2
> But it's on the way out.

In hip and trendy companies; every company I work with (banks, insurers) are
using JQuery like it is the best thing ever and never heard about React or
ES5. It will live for a lot longer than Silicon Valley thinks.

~~~
jnbiche
I'm not in silicon valley, and I'm not in a start-up. jQuery is on the way out
in all but the most archaic companies (many of the ones you mentioned are
still struggling with how to maintain their Cobol code bases).

------
AnimalMuppet
Look around your lab. What problems do you have that software could solve? (It
could be as simple as a spreadsheet.) Can _you_ build that? If you can't, can
you realistically learn until you can?

Then go build it. Congratulations, now you have experience.

Look around some more. What else do they need? Do you have to learn in order
to be able to build that? Given that you've done one thing already, can it
become your _job_ to do the next thing?

You don't have to make a clean break, go to school or bootcamp, and get a
whole new job. You can start just by becoming the "software tools" person
where you are. Then, when you _are_ ready for a new job, you've got a track
record, not just a certificate from a bootcamp. Even better, you got paid to
get there, rather than paying to get there. Downside: It took longer.

~~~
patch_collector
This was my path -- I didn't know anything about code, but had a problem at
work that could be solved if I learned a bit. So I did. Then kept doing it --
finding problems, learning how to solve them, and then coding solutions.
Eventually I built a tool that I spun into it's own company, and leveraged
that experience to get interviews and eventually offers from large tech
companies.

I did have to do a lot of extra prep at the end, to learn the stuff necessary
to pass coding interviews (which is it's own skill set, separate from knowing
how to create a working tool), but the end result is getting into tech at a
similar age to OP.

------
candeira
I second "develop any software for your domain", with one addendum.

Do you use excel for anything at all? Whatever it is, you could start by
building that.

\- Do you put data into a spreadsheet and then email it to someone else? Make
a web app where you put in the data using your account, and the someone else
can view the data using your account.

\- Do you have different spreadsheets with separate data than then gets
aggregated/summarised manually into a single spreadsheet? That's a job for a
computer program, not a person, and you can add that as a feature for your web
application.

\- Once you've done that, you have a website that can work with the new data,
but some people will want it on spreadsheets, not on the website, so write a
spreadsheet export/download feature.

\- All your new data is in the website, but the old one is still in excel
spreadsheets on your hard drive. Write an importer to read the spreadsheet
data into your application.

\- Is some of the data for your lab in a format that's also machine readable
(barcode format?). Add to your app support for reading barcodes, either via
phone cameras or laptop webcams:
[https://github.com/serratus/quaggaJS](https://github.com/serratus/quaggaJS)

I could go on, but I guess you know your next step better than I would.

A recommendation is also that you do all your development at home, not on
company time, and not using any company resources. A lot of profitable
business are website implementations of existing spreadsheet workflows. In the
past three years, I've worked on two such applications, three if you count a
physical device UI where the prototype UI was developed on Excel + Visual
Basic.

------
Pyaria
This was me 3 years ago! I was an academic cellular/genomics lab tech and now
I write software.

Have you tried programming? I got my start with python courses on coursera and
udacity, then moved on to solving problems on Project Euler. A few years after
my first taste of python, I started going to meetups, then researched and
entered a boot camp, graduated, and got my first job.

I went into the boot camp knowing that I liked programming, and that was
important. I'd strongly recommend you see if you have that inclination as a
first step.

Personal projects are great, but as a project manager told me in an
information interview, a well chosen boot camp can provide you with structure
and accelerated learning.

"too old to ever get a job in the field": I was only a few years younger than
you when I started my boot camp. I don't think your age should dissuade you
from trying. Your age = experience you have in a different domain, and in my
experience, helps with the learning, application, and working process.

~~~
abcd0990
I am trying to transition my career from the lab - I have about 10 years of
experience in a gene sequencing company R&D and considering software. I'd like
to learn more about what you did and see if I can replicate your success,
would you mind answering some questions?

------
cwyers
So, you need some sort of credential. A bootcamp would do well, some sort of
certificate of a course of study from Coursera or edX, a non-degree
certificate from a university. Pick a tech stack that's both modern and
enterprisey -- Java, .NET, Ruby, Node.js are all fine, but if you go with
them, get current. On the front end, you want to find something trendy. Try
looking for some jobs you think you'd want to apply for and see what they're
asking for on the requirements side and focus on that. You want to do some
projects that can showcase what you can do. You need to tailor your resume to
the jobs you want -- spend as little time as possible talking about your
experience as a lab tech (enough to show where you've been the past ~10 years
and showcase any soft skills you know), and as much time as possible talking
about courses and projects that give you experience in the stuff the job ad
wants. And you absolutely need to write a good cover letter and you need to
avoid boneheaded mistakes like not changing the name of the employer you're
submitting to. Your cover letter needs to sell how you can create value for
the position you're applying for -- what have you done in the past that
prepares you for this. Don't sell yourself as motivated, a quick learner, any
of that... there are 30 other resumes in the pile that say that. Sell yourself
on "I have done X, Y and Z as projects to develop my skills as a software
developer, giving me these skills that I can use to create value for you."

~~~
stingrae
I totally disagree. I don't think a credential will help at all. I think you
need projects that you can point to and explain. I also feel like it will be
easier for you to get a role at a company that also would utilize your past
experience. This way it is easier for them to justify someone more technically
junior at on the software engineering side.

~~~
misschresser
I switched into software with a non-STEM background, been an engineer for
about a year now and have heard / seen a lot of hiring conversations both
during my process and since then at my company. Projects that you can point to
and explain are valuable if and only if you can even get on someone's radar.
The amount of "projects" that people are doing in their own time is becoming
dizzying, and for employers to actually spend time to parse through what is a
good project vs. what is a boilerplate tutorial project is not realistic.

In my case, my employer happened to hire people from my particular bootcamp,
and had good experiences with those hires. Coming from that bootcamp is what
got me in the door, no amount of "projects" would have done the trick. It's
very hard to say "I'm legitimate, see all these projects I've done", because
unless you can have a very clear timeline of "I did this project two years
ago, and I've been diligently learning ever since as noted by this, this, and
this project", it's just another person with another github with another
project. Absolutely zero reason to bring that person in when you have other
applicants with actual backgrounds + a project or two.

All this is to say, I don't think this advice applies nearly as much as people
believe it does anymore.

------
speedplane
The following 10 steps will not just get you into software development, but
will get you your own startup:

1\. identify something that you do on a computer that is repetitive and
boring, and think hard about how to automate it;

2\. learn any language/tool that's most accessible to you and build something
that at least partially automates that task;

3\. start using it yourself every day;

4\. every time you run into an issue, don't work around it, take the time to
improve it;

5\. put it on the internet so others can use your tool;

6\. get other people that you work with to try it out, listen to them;

7\. talk about your new tool to everyone that you encounter or tangentially
work with, at meetings, conferences, colleagues, etc;

8\. go back to #4 a couple hundred times

9\. Eventually, a potential paying customer will appear, do whatever it takes
to get their business.

10\. Go back to #4.

------
adpoe
I transitioned into software development in my late 20's, and am very happy
with the decision. I went back to school at ~27, and graduated just a few
months short of 30.

34 is definitely _not_ too old. While in school, I had classmates ranging in
age from early 20s to late 40s. Everyone I graduated with is now employed and
doing well. (Including those who started a decade later than either of us.)

Getting a 2nd Bachelor's degree in Computer Science worked for me. It only
took 2 years, because I had a prior bachelor's degree, and it sounds like
you'd be in the same situation.

Employers have generally been respectful of my prior experience as well (it
was business focused, project management), so I don't think having worked in a
different field is a bad thing at all.

Moreover, I work with plenty of software developers who started off in other
scientific fields and made a transition to software more organically -- so it
certainly can be done.

Ultimately, if you can pass programming interviews, you will be able to get a
software dev job. It will be challenging, but you'll be happy you invested the
time. Wishing you the best of luck!

------
wai1234
You don't mention WHY you want to get into software. If it's just because you
think you can make a lot of money, that's a poor reason to switch careers. You
also say you lack experience. Do you mean you have none at all? That would
make my first question even more important.

If you have no experience at all, take an introductory software course at a
local community college. An online course or how-to book would be a less ideal
starting point. You will want more access to an instructor to get you past
zero. Understand that you will also need some understanding of algebra and
formal logic before you get very far, so if you are rusty or never had much
math background, you might take a course in that too.

Getting your feet wet will help you understand what "software" means and if
you have an aptitude for it. Only then, should you commit to at least 1-2
years of hard work in your spare time to get to a minimum set of skills that
are employable. With patience, perseverance, and a bit of luck, you can get
there even at 37.

~~~
sh87
> If it's just because you think you can make a lot of money, that's a poor
> reason to switch careers.

I strongly disagree with that. More money is a perfectly sound reason to
choose a career.

~~~
fromthestart
Is a life spent working on uninteresting material a life worth living?

It can be soul sucking. Don't make the mistake of chasing money, at least not
twice. It's not for everybody.

~~~
sh87
Most modern day jobs are purely material, soul sucking and ungrateful. I look
at things the way they are and have learnt to not expect anything but money
and respect from work. Anything beyond that, seek outside of work.

------
watersb
Write code for microbiology? Play with computational chemistry on GPUs?

A friend at work moved from lab rat to data analysis and experiment design,
switching departments from Adjuvant Research to IT. A couple of years later, I
left the company to go from sysadmin to software and tech writing, and it was
tough for about nine months. He went from scientific software to security
research at a new company.

We were able to jump because we had few family or financial commitments. So I
have no idea if what I experienced is relevant at all. But if you feel pulled
in the software direction, start writing something, probably Jupyter notebook
stuff. Explain Like I'm Five years old what you have experienced already.

Going through the process of sitting down (or walking, then sitting) and
writing something takes a bit of focus, perhaps. I wrote a book, then wrote
software. I can't recommend writing a book without a real job (my book netted
me about $0.25 per hour). But write something you show other people.

------
toomanyrichies
Programming is my 3rd career (I was a travel agent and an ESL teacher before
that). I joined a bootcamp when I was 34. People in my bootcamp class who were
older than I was were able to find jobs as software engineers, and (at least
according to their LinkedIn pages) continue to write code today.

Age discrimination does exist, but so do companies that actively look for age
diversity in their junior engineers. Unsurprisingly, success in this field has
much more to do with your mental attitude (i.e. fixed vs growth mindset) than
with age.

I empathize with your preconceptions about this field (I shared them in my
newbie days), but I can't emphasize this enough- I believe that almost anyone
with a growth mindset and a certain amount of grit can become a software
engineer.

If you acquire the right knowledge and the skills to communicate that
knowledge succinctly, it will be easy for you to demonstrate why you'd make a
good hire.

------
tw1010
There are plenty of people who've worked 10 years in software (who are in
their mid-30s) who've stagnated for the last 8 years. It's perfectly possible
to compete even with people your own age within a year or so if you just
tackle things to learn in a smart way. So don't let anyone tell you it's too
late.

~~~
sokoloff
I often say those stagnated people have "1 year of experience, 8 times..."

Fully agree that you could compete with them on an even (to superior) footing
well inside of a year of reasonably dedicated off-hours effort.

------
jimmies
Where should you start? Ask yourself: How bad do I want to switch? Do you want
to live the rest of your life feeling you missed out on something when it was
not too late, or you think you'll be okay the way you are now.

I just switched from being in bioinformatics to software engineering being 30
year old. The problem isn't that you're getting old. The problem isn't that
you lack experiences, either. I have none of those. On top of that, I'm just
an international student, I have zero advantage compared to other applicants.

I think the most important problem/question is how bad you want to change your
job/career? Do you come home everyday after work feeling like shit? Do you
feel like you don't do enough work to deserve a break, but you feel like bored
all the times at work? Do you feel like you hit a brick wall, not sure what is
up for your future?

At one point in my life, I felt all of the above. I wanted to kill myself. I
figured out if I wanted to stay alive, then no one else will help me besides
myself. So after years of depression and worrying, I decided to instead of
sleeping through my fears, I would do something to get myself out of that.
Many things I did at that time turned out to resonate with people somehow.

One year and about ten days ago, one of my submissions got on the front page
of HN. That changed my life forever. I wish you have the courage and grit to
do the same for yourself, if you feel that way too. Doing anything, you don't
know what will stick, but when you do enough, you will have a feel of what
will.

------
antibland
I want to share a little story with you. I recently attended a GraphQL meetup.
The host presented the app he is building and was very knowledgeable,
answering 90% of the questions thrown at him without any hesitation. So far,
nothing about the meetup was remarkable. That is, until later that night, when
I spoke with the host in greater depth.

In his early 30s, he decided to leave the public school space and pursue
software development. He found specific things in the field that interested
him and aggressively consumed information about those things. He read about
and tinkered with code on his lengthy bus ride to work each day. He began
presenting little things he was building at local meetups.

One night, after presenting at a meetup, a developer approached him and asked
if he might be interested in interviewing for a new position which hadn't even
been publicly posted. He agreed to interview and was hired shortly thereafter.
All of this happened within a year's time.

You're definitely not too old to start! I would recommend you follow your
curiousness and not simply follow where the money is at some given point in
the industry cycle. Curious people go far and are less likely to quit. People
into the _idea_ of software development typically become overwhelmed and try
something else because they lack a sturdy base.

------
sseth
Since this is a huge field, you would be better off focusing first of all on
one type of development. For example :

\- Web Development

\- Data Engineering

\- Mobile Development

Web development is probably the easiest to get started with so let's focus on
that. If your interest lies in Data for example, then the tech stack would be
quite different.

For web development - My suggestion is to skim the basic protocols and
standards (HTTP, TLS, HTML, CSS, the DOM e.g.) and build the simplest possible
React application. This will give you a base to build on.

Once you have some basic knowledge of how to build a simple web app, its
important that you learn the basic developer tools. E.g. Being able to use
Chrome devtools to debug your application, being able to see the network
traffic between the browser and your web server etc. These will help you in
development and also deepen your understanding of javascript, http and other
web standards.

Its also important to master a good editor. For web development today, I would
suggest using Visual Studio Code. Learn how to navigate your code well using
the editor, refactor code, get into a productive dev cycle.

After this, there is an endless ocean of stuff to learn. Web Security (OWASP),
various features of Javascript - a constantly evolving language, perhaps even
Typescript, managing images and other assets, how to modularize your code,
learning about the event loop in Javascript, mastering asynchronous
programming in javascript and so on and on. That is a lifelong journey - you
cannot learn it all at once. I would suggest taking a structured course online
which could walk you through the basics in one or more of these areas.

Wish you all the best!

------
wittedhaddock
Hi! I am a little biased because writing software, in my limited experience,
can maybe have a similar likeness to being really great at the piano --
imagine being Beethoven and writing & playing music -- a flow state intense
and expressive, but only because the skill in a moment in time very adequately
matches the challenge.

One of the most underrated things I think about learning software, and I'm
sure many things, is the ability to easily match yourself with a perfectly
suited problem and feel the feedback very, very quickly... just make sure you
can understand the basic grammar, like assignment (=) or keywords like 'let'
and from that sentences will begin to cluster in your mind :)

And maybe as an easy practical thing, maybe don't add the whole weight of a
label so early, and just enjoy some problems on
[https://projecteuler.net/](https://projecteuler.net/) like you might enjoy
playing with blocks or magnets as a kid

Have fun and enjoy the triumph, solving the problems can be very rewarding

------
austincheney
> I feel I'm too old to ever get a job in the field.

I have been doing this a long time. There are stories about places that do
discriminate on age, but I have never encountered this myself and its illegal
to discriminate on the basis of age for people 40 and over, so I suspect this
is rarer than many people will suggest.

Really, its all about attitude. If you are entitled and constantly look for
things that are easy you will be treated as a beginner. If you have confidence
and are ready to accept more challenging work at risk of failure you will be
treated as more of an adult. Some people figure this out at an early age and
some people never figure it out.

The above advise might sound like common sense. Perhaps in other programming
disciplines it might be common sense. As a JavaScript developer all I ever
hear about are people wanting to make things easier and panic if they aren't
isolated to their single pet framework. Since these behaviors are the norm, in
my line of work, it doesn't take much to stand out.

------
lazylizard
I do too. I am sysadmin. Maybe 20 years' sysadmin. I don't even think i make
it as a sysadmin (e.g. i don't know which ip are 172.20.157.97/27 off
hand...). I write some bash scripts (omg i actually test whats
$0/1/2/3...ahahahaha)... Thats about it. I don't know how i still get by in
this job! I mean surely every freshgrad knows all this stuff that i always
google for! On the other hand I've also seen the opposite. Like mail admins
that ask me to add their antispam to my spf.. Who knows? I think its mostly
down to luck. All this time I'm just surprised planes still fly. That is all..

------
whiddershins
I would say, if you don’t want to attend formal schooling, do a combination
of:

Build some stuff yourself, whatever it might be. Website, automation of daily
tasks, it doesn’t matter. Make something that works. Most people can’t
complete a project, so if you can, you’re valuable.

Take some free online computer science courses. I really like the MIT intro to
computer science for non-programmers. You’d be shocked how many people who
work as developers can’t do basic stuff you would learn in even an intro
course. If you have some theoretical formal knowledge and combine that with
the ability to execute in the real world, you are rare and valuable.

------
RickJWagner
I'll be honest-- there is a lot of stuff you have to learn. It's a high hill
to climb.

But if you really love it, then the work is fun. It's certainly possible for a
newbie at 34 to learn enough. That's the trick-- find something in IT that you
really like, and dig into it.

I'd suggest going to a bookstore so you can peruse some programming books.
Maybe you like web apps, or mobile games, or even hard-core C code. Find what
you like.

The next step would be to find open source projects in this area. Study those,
compile them, and eventually try to make contributions.

I think that's a good path. Good luck!

------
soneca
Go for it!!

I decided to change careers to software development at 37yo. Best professional
decision in my life. I got a job after 8 months of full-time study.

Here you can learn more about my path, might be helpful:
[https://rodrigohgpontes.github.io/](https://rodrigohgpontes.github.io/)

I just focused on freeCodeCamp.org, which is a great resource. But I have the
impression that taking a shot with
[https://lambdaschool.com/](https://lambdaschool.com/) might be more
promising.

------
wilsonrocks
I moved to development from a career in maths teaching and trade unionism.

The advice given elsewhere to solve a problem in your current role is really
important - but it might not need to be work related - a personal project that
you have a clear vision for and users other than yourself will do.

Having stuff on github helped me with interviewers. I did not find, in the UK
at least, that lack of a CS degree or development experience was a barrier -
in fact, interviewers seemed interested in my story. However, where I live
(the north) there is a developer shortage.

------
ThomPete
Congratulations! You've decided to go from being a specialist to being
special.

The biggest advantage of your move is that as you dig into software
development you will be equipped with two advantages:

Dual skills set plus a unified understanding of two different fields you might
even be able to create new knowledge.

My advice would be to develop something in the field you already know,
something that made your life more cumbersome but that technology could solve.

That way you will be using your intuition from a field you know to solve a
specific problem while learning a new field.

------
waylandsmithers
I got my first internship as a developer in my late 20s, so like you didn't
have a formal computer science education. There isn't any right way but this
was my path.

You aren't too old! Keep in mind competing against 22 year olds for a job
means you're also competing against many who have never held a real job yet,
don't understand anything about professionalism, or have never had to wake up
before 10AM on a daily basis, etc.

I honestly think the main concern is salary. You will almost certainly need to
be flexible as you are starting from the bottom. You also may need to work to
ensure that employers know you won't be too expensive to hire.

The first programming I did was Excel formulas and then SQL queries which I
was fortunately able to learn how to do at work (I was in a non-technical role
at a software product company), so this was more or less paid training. I then
got into learning some basic Linux commands.

I was able to further dip my toes in by taking two programming classes online
at a local state university, Intro to Programming with Java and Intro to Shell
Scripting. I think these classes were about $1,000 each, which is a lot, but
still a lot less than a bootcamp and didn't require me to quit my job. (I
personally think Java is a great place to start programming but I don't know
if this view is shared among most)

After that I finally had the courage to quit my job, attend a web dev focused
bootcamp, and I started my first job about four months after that.

------
drawkbox
If you work in a lab in microbiology you already have the mindset for detail,
dedication and testing that development requires.

Since development is problem solving, find something that you can solve in
your field, a tool for other microbiologists maybe (web, app, content, tool),
and build a prototype. Keep iterating on projects, and ship to the world in
whatever tech you find fits your style. Or do something entirely new in a
field you want to work in, I prefer gaming, promotions, household management
and more, but find one that you will enjoy.

Having a project to work on will propel you through all the walls, from design
to develop to ship to maintenance, the full cycle. The projects might be
subpar initially as with anything newly learned, but they will be very
empowering because you will hit some shots on the fairway and green even if
you spent some time in the rough and sandtraps. I still love the feeling of
solving problems and shipping games/apps that people play or use, almost a
drug.

Don't worry about age or your field, you are too old when you are dead, and
you clearly are alive with motivation to want to make a move.

A great coder who shipped solid products and fun stuff that I worked with was
an agriculture major and worked on farms initially.

------
iandanforth
Before you leave your lab try to establish a relationship with the PI such
that after you've proven out your technical skills they can write you a letter
of recommendation as to your general work ethic etc. A recomendation from an
established technical professional can go a long way! As others have mentioned
if you have the opportunity to write software for the lab as well that's a
great first step.

------
scott00
The first thing I would say is don't let your age stop you.

The next thing obviously is that you'll need to learn how to write software.
I'd recommend you work through a few beginner tutorials and then pick a
project and just start working on it. I don't have a huge sample size, but
people I know who've started learning to write software because they wanted a
problem solved and thought it could be done with software have generally
succeeded in learning, while those who just have a vague desire to learn
generally don't.

If you can't find a project that interests you, I'd look into boot camps or
just going back to a traditional college for a degree in CS. Those paths will
have the additional advantage of putting you at the start of a pretty clear
pathway towards getting a job.

As far as finding a job, I suspect you can leverage your lab/bio background.
Domain expertise is very useful in software development. Looking for jobs with
companies that can use your background can help you compete with others who
might have stronger software backgrounds.

------
mikasjoman
Definitely not too old, Dev manager here. First step, study some programming
courses using video where you build full stack projects. F.eg. meteor JS by
Stephen grider on Udemy.com or the one by Andrew Mead (possibly better). Take
both courses because you get more training on one framework before learning
other stuff. Why meteor js? Because you can focus at the one language everyone
needs in web development; JavaScript. Nobody can escape learning it given that
it rules the web. Also you don't want to learn multiple languages as a
beginner, because it makes your learning curve much harder. Then build
something, for real and release it. The smallest thing you can imagine that
would improve somebody's life just a tad and put it up online. Then continue
extending it with more features, improve what you already built, and release
at least weekly. Second, you lack a CS degree. BUT there is tons of people
with CS degree that write crappy unmaintainable low quality code. Lucky for
you I say, because with some effort you can use this widely spread quality
disaster in the field to outshine many of those with fancy CS degrees. Most
juniors with CS degrees I meet doesn't have a clue on how to write high
quality maintainable code. So the next step would be to focus on that. How?
Order these books, read them, take notes and practice the concepts: Clean
code, Pragmatic programmer, Code complete. Second practice unit testing and
although it's a bit hard when you begin writing them, just keep at it. Almost
everyone I interview for software engineer positions seriously lack
understanding of quality practices such as: clean code, defensive programming,
unit testing etc. Since quality problems cost me millions - I would pick a
junior without a CS degree but that has competence in those quality practices
over an intermediate/senior lacking those skills (big majority I interview).
Analysis and design is also important, but you can read up on those subjects
as you move forward. To conclude; just learn the basics, build stuff and
release often. Then remember this is an engineering discipline, it's not a
business where crappy code belongs (sadly the business is full of it). Excel
at quality practices and you will definitely raise a lot of interest from
interviewers. This advice is the same I would give any newly baked CS
graduate. Why? Because crappy programmers cost us more support, bug fixing,
slows down development and so forth. If you decide not to be part of this
ongoing software quality disaster, you can quite quickly become a very
interesting candidate.

------
anderspitman
One thing you might look into is bioinformatics, which is essentially CS +
Genetics + Stats, and would let you leverage your bio background. There are
basically two halves to bioinformatics: data science and tools development.
The developers primarily write the tools, and the data scientists use them for
their research and publications. One huge advantage is that pretty much all
the major software used is publicly funded and open source. You can contribute
without even having a job. That's actually how I got my first job in
bioinformatics, by contributing to scikit-bio. This gives you a portfolio and
mentoring in exchange for labor. Also, since academia can't afford competitive
software engineer salaries, they're always hurting for good developers which
can make it a great way to get started. Just be sure to get involved with a
lab that has good engineering practices. That might be difficult to gauge, so
ask someone to help you audit the lab's work if you're not sure.

~~~
abcd0990
Hi! I am trying to transition my career from the lab - I have about 10 years
of experience in a gene sequencing company and currently considering software.
I'd like to learn more about what you did and see if I can replicate your
success, would you mind answering some questions?

------
JeremyNT
I switched to software development from a related IT field (ops) when I was a
little older than you are now.

In my case I had existing knowledge of the basics and had programming
experience (but not as my primary job role, nor in a team).

Here is what I can suggest: if you can at all leverage your existing domain
experience it will serve you well. Try to figure out whether your employer can
place you in a role where you can contribute in some way using your existing
skill set while you further your software development skills.

Having taken some computer science classes, read programming books, and having
programmed off and on in small things for many years was helpful to me, but I
can't overstate how much that was all eclipsed by raw experience doing the job
day in, day out. I quickly realized that there is simply no replacement for
hands on programming experience, and having a team around to help fill my
knowledge gaps was invaluable.

------
xivzgrev
I did a career change as well. It can be hard if you need to -take a cut in
pay/title -work on “lower level stuff”

You may compare yourself a lot to peers who did not do career changes.

My piece of advice is to be prepared for the mental challenge that comes with
volatility, and focus on this question, “am I closer today than yesterday?”

Fortunately software engineering is such a high paying/status field you may
not experience the same feelings. But I’m 4 years into my transition and i
finally just recently have started feeling some footing under me / more
secure.

Talk with people and really get a feel for the field, the good bad and ugly.
It’s a lot of investment to switch that can be so worth it.

Do it on the side and see how much you enjoy it. I almost did software
engineering as well and occasionally think about it, but I realized it can be
incredibly frustrating / abstract at times and I didn’t like that. What will
it be like for you?

------
mcv
After a career as hockey trainer and dentist assistant, my sister switched to
a career as software tester, received some pretty intensive training for that,
and is now developing herself towards business analyst, though she's also
eager to move towards development.

A friend quit his PhD into medical psychology and entered a training program
for developers where he got exposed to PHP, C#, Java, and maybe another
language. He got into PHP development at a startup, and after a poor
experience with some lead developers, he's now their lead developer. Some of
his co-workers are superficially better developers, but they're cowboys who
quickly deliver untested, hard to maintain code, whereas my friend works
slower but more thoroughly.

Either way, getting into a program where you can learn how to do it right,
seems to be an important step.

------
drewmassey
I was 34 when I switched from historical musicology to professional services.
It can be done! All the advice in here is great. Software skews towards being
merit and results driven (at least to getting hired)... the first step is way
less difficult than a lot of other careers.

------
LocalMan
The most fundamental things in learning to make software:

1\. Alternate writing programs with classwork or book-learning. Back and
forth.

2\. Learn a programming language that a friend knows, so you have a place to
get on-the-spot help. Ideally, somebody sitting next to you.

3\. Have a computer available. Almost any home computer will do, no need for
something expensive. There's plenty of free software you can download, free
tutorials, free books...

4\. There are cheap classes at some nearby community college or something like
that. Finding the time is harder than paying for them.

5\. The most important first courses are about a particular programming
language, like "Python Programming 101".

6\. The most important second courses are probably "Algorithms and Data
Structures" and "Computer Architecture".

------
johan_larson
You don't say how much you already know about software. I'll assume you know
little or nothing. Advice for an already proficient programmer would be
different.

Your bio background will definitely count for something at biotech companies,
and they hire plenty of software developers. But you need to add some sort of
credible training or experience in software. I know there are community
colleges offering two-year programs; that would probably be enough. Then go
looking for an entry-level software development position at some bio-focused
tech company. Someone who knows both bio and software will be a very
attractive candidate.

------
brianpgordon
Step zero should be to see if you actually _enjoy_ software development. It
would suck to switch careers and find out that it's not a good fit for you.

I would suggest starting with Processing. It's a very simple programming
language with very easy-to-use tools which was _made specifically_ for
learning by non-programmers. Just go through the video tutorials at
[https://hello.processing.org/](https://hello.processing.org/) or at Khan
Academy.

You may never use Processing again, but the concepts will carry over and it
will give you a feel for what learning to program is like.

------
edoceo
I'm looking for someone with lab experience to contribute to some open source
software, I used to teach web-application development. Would like to trade
experience, my HN handle at gmail.com

------
chrisbrandow
As a chemist who did the same thing a few years later and you’re doing it now,
my primary advice is that whatever you choose to do make a medium range plan
of a few months. And then follow that plan rigorously without spending time
reconsidering it along the way. Distraction is your biggest enemy. At the end
of few months, assess how things are going and make a new medium term plan.

If it’s any encouragement, I started cold with iOS at age 40. I knew nothing
but a little bit of C.

If you learn the program, there will be people who need your skills.

------
wernercd
I started as a programmer at 30.

I got a 2 year degree at a local college and took the first programming job I
could get ($21/k year). 10 years in and I make 6 figures working for a major
bank.

How to get started? Pick up some classes? Pluralsight, udemy, etc? College
classes?

Do you have wife? kids? car/house payments? or can you afford a low paying
job? Are you stuck where you are or can you move to a tech spot? Take risks
accordingly.

Leverage your experience - programmers make stuff for... businesses. You have
experience. Connect the two.

------
bg4
Do both: Microbiology + software development is your golden ticket.

------
ochronus
There are some amazing bootcamps out there - they'll cost you but they can get
you to a more confident state - which is of course as in most professions only
the start. Yes, you could gather all that's needed free from the internet but
a bootcamp's value is that you force yourself to a long streak of full-day
practice, you get proper feedback on your work and progress and you get a well
structured introductory path into this vast field.

------
swiley
Where should I start as a 24 year old switching away from software?

All my friends that studied stuff I thought was silly are getting married and
I’m stuck in a cube farm full of men.

------
phkahler
What kind of lab do you work in? Is there any opportunity to automate some
testing? Scripts for data processing/graphing? (see python with matplotlib)
Create some kind of interface or data logger for something? Any possible use
for an Arduino-based project? Labs are often a good place to write some custom
software.

------
werber
You're not too old! I really like Eloquent JavaScript as an introduction, it's
free, you just need your browser to do the coding parts and it's extremely
readable. From there I'd try to figure out what sorts of things you want to
build and then grab those skills and running for it. Best of luck!

------
yoshyosh
Is there anyone that's a software engineer in your workplace? If so befriend
them and start learning about the problems they solve. Then try to implement
solutions on your own and soon assist them. If not, research other similar
companies and find software engineers there via LinkedIn, and do the same.

------
vmware513
I started here back in time and helped to became a pro quickly.

[https://www.railstutorial.org/book](https://www.railstutorial.org/book)

If you would like to focus on frontend dev, this is a great place to start
also:

[https://yoember.com](https://yoember.com)

------
rsyring
My recommendations: [https://www.level12.io/blog/advice-to-aspiring-
developers/](https://www.level12.io/blog/advice-to-aspiring-developers/)

------
SQL2219
If you work in an organization that has an I.T. department, go ask them about
some persistent problems they're dealing with. I work in healthcare I.T., and
I could give you a dozen ideas in 10 minutes.

------
damon_c
I switched to full time software development when I was 35.

I started by making websites that were useful to me in my previous field. When
I got good enough at it, I quit that job.

That strategy worked out really well.

------
todd3834
Software engineering is a career that still doesn’t have a workforce large
enough to keep up with demand. I don’t see 34 as very old at all. There are
several routes you can take and I believe they will depend on what you are
interested in.

If you don’t have a requirement for a high salary I suggest taking a look at
the YC companies that are hiring by clicking “jobs” at the top of this page.
See what specific engineering skills are in demand and then start to play
around with them. Find what seems the most interesting to you.

It wouldn’t be a bad idea to work for a company that hires software engineers
in a field where microbiology would be a big time bonus.

------
aboutruby
It seems like most people in your situation would go through a school/program
for the reconversion. The most popular ones seems to be freeCodeCamp and
Lambda School.

------
rudderlessboat
Any body with authority on hiring practices will put their two cents on
addressing the elephant called 'ageism' in finding footing in a new field at
this age

------
nickwhite99
It's never too late...consider getting another university degree. Having
previous experience like yourself is always an interesting story to tell
employers.

------
quickthrower2
What was your previous career. You could get in as a tester or business
analyst. In smaller companies these jobs can end up requiring some coding.

------
9wzYQbTYsAIc
One piece of advice that may not have been shared, yet: invest in a membership
in the ACM (Association for Computing Machinery). You’ll be able to connect
with other people through there, if you’re into networking. You’ll be able to
show on your resume that you are serious about software. You’ll be able to
make use of their job listings and conferences. And best of all, you’ll be
able to use Safari Books online.

That last bit would probably make the membership pay for itself, since you are
going to need to do a lot of reading and studying.

------
iam_natagon
Pick one programing language which you comfortable with,and try build projects
with it

------
qhoang09
Been reading a lot about Lambda School recently. Have you checked them out?

~~~
austenallred
Austen here, co-founder of Lambda School.

Our iOS curriculum is (IMO) among the best in the world, and it’s completely
free until you’re hired and entirely online. Syllabus is here -
[https://learn.lambdaschool.com/syllabus/cs-
ios](https://learn.lambdaschool.com/syllabus/cs-ios).

We don’t focus purely on swift, but you’ll be very good at it, and we dive
into a bit of Onjective C and C.

Actually, our first iOS class graduates in two weeks, and 50% already have job
offers!

------
theyoungwolf
age is just a number. that being said I don't recommend a bootcamp.

------
siddienahar
[https://lambdaschool.com/](https://lambdaschool.com/) \- Lambda School is a 9
month, immersive program that gives you the tools and training you need to
launch your new career—from the comfort of your own home.

------
killjoywashere
Hi, I'm a pathologist, do you have any ongoing code projects?

------
rochers
Go to the Turing School of Software in Denver: Turing.io

------
trevmckendrick
Check out Lambda School’s part time (at night) program

------
StreamBright
DevOps is a rewarding field and probably easier toget into compared to other
fields.

------
divan
Learn Go and Flutter.

------
smallstepforman
Testing ...

------
black-tea
You say you lack experience but you don't say what experience you do have. Do
you lack experience compared to a 35 year old software developer, or compared
to a 21 year old computer science graduate? It will take you years to catch up
if you're starting from zero. Don't think about it as a career change. Think
about it as a new hobby. If you think you're good at it one day, then try to
find a job where you need it.

------
stayaada
Depending on your background and how much time you have, bootcamps might be a
good idea. I recommend looking into Lambda School.

------
system_panic
Software development is not a career. The older you get the less desirable you
are to software companies. Advise against a change to software development.

~~~
rudderlessboat
Any body with authority on hiring practices will put their two cents on
addressing the elephant called 'ageism' in finding footing in a new field at
this age.

