Ask HN: Switching to a career in software development in my 30s?

5 points by nosecreek ↗ HN
Like many others, the pandemic has me thinking of a career change. Programming has always been of interest to me, so I’m seriously considering making a move in that direction. Realistically, how difficult will it be to make this change from a totally unrelated field, and what do I need to do to prepare myself?

In particular, I’m wondering about education. I see anecdotes all the time saying, “you don’t need a degree to become a programmer,” but many job postings list a CS degree as a requirement. Either way, I have no doubt that there is a lot that I’d need to learn before I could start applying for jobs. I’ve started working on the “Front End Development Libraries” certification on freeCodeCamp.org – is something like this enough to get me a junior level position somewhere? Are there other courses/programs that would be better? Should I instead be looking at going back to university to get a four-year degree? Or am I better off doing one of these online bootcamps and focusing on building my github portfolio by creating some hobby projects/contributing to OSS?

Some things I do already have that may help me along the way:

* A bachelor’s degree and some graduate work in an unrelated field (theology)

* In university I ran my own business creating WordPress website for local small businesses; so I am/was quite comfortable with HTML/CSS and somewhat competent with Javascript/PHP/MySQL. Unfortunately most of this was 8+ years ago, and I know a lot of things have changed in that time.

* Many of my hobbies include elements of programming: maintaining a blog I built in 11ty, home automation using Home Assistant, etc.

9 comments

[ 3.2 ms ] story [ 33.0 ms ] thread
many job postings list a CS degree as a requirement

Realistically, certain types of programming positions probably do require some kind of CS degree, but as somebody who pathologically learns I haven't found my lack of degree to be an issue in the last 25 years of my career.

Should you go to university / code bootcamp / learn on your own? I would evaluate how you enjoy learning. If you are a cover-to-cover learner, you might consider going back to school. If you enjoy a bit if instruction and then you'd like to jump in, consider 1-2 bootcamps (you'll probably learn different things from each). If you're a bit of a self-starter, go to a bookstore (or Youtube) and focus on getting the basics of a language down (like Java, Python or C#) -- and see where you want to go from there.

Your Javascript / PHP / MySQL skills probably haven't stagnated as much as you think.

You've already got the right hobbies to make this interesting and easier for you -- you got this.

Thanks. Although I do well in school, I've also never had any issues with self-directed learning and would probably prefer to go that route if possible. I suppose part of what I'm worried about is that I won't be able to see where the gaps are in my knowledge, and that I won't know when I've learned "enough" to realistically get employed.

For example, I know enough to create some solid Wordpress templates. I even created an online booking system for an RV rental company. But I suspect my rental system (no longer used) had some pretty big security holes, and I would often get lost if I had to modify code in existing plugins/templates made by others. So I'm sure I've got a fair bit to learn before I'd be able to contribute well in a team setting.

And of course I get worried that it will be difficult to demonstrate to a potential employer that I have the skills they want without a formal degree/certification. But I suppose that's where something like github profile is especially valuable?

If you end up building anything that has an online frontend, and you'd like some feedback on security or infrastructure, I'd be happy to give it a thorough look over. Send me a message at femme@femmeandroid.com.

A GitHub profile is definitely valuable, but also just being able to describe what you've built and how it works can also be a huge help in interviews. Ask questions, try things, and be curious.

There are also some really good books out there. It depends on what you want to do, but since it sounds like you're able to be pretty self directed, just skimming a number of software development and design books can really help you go from having a lot of thinks that you don't even know exist, or what they're called to at least building out a framework of what exists in the industry.

Also, watching talks and listening to podcasts can be a nice break from the reading and the programming. They can give you bite sized insights into wildly different parts of software development. If you're planning on doing tech interviews, you're going to end up talking to developers, and when I was going through that the first time, I initially found that transferring my development knowledge from a thing I read about and practiced in isolation to a thing I could talk about was difficult.

I'm always working on improving my communications skills, but I do think listening to a diverse range of people discuss tech can get you more used to talking about it. If you have meetups or other ways to interact with people about development, that's going to be the best option. Also, feel free to check out some open source communities, especially if you're particularly interested in them (or the way they're built.)

Good luck!

Your github profile (if you have lots of good personal projects that are well documented) can be very valuable at showing how you work to a potential employer.

Studying the OWASP top 10 will definitely help you understand the most common security problems (mistakes?) that developers make, and some guidance on how to avoid them. I like Cloudflare's summary: https://www.cloudflare.com/learning/security/threats/owasp-t...

You'll probably be pleasantly surprised that gaps in your knowledge will start to become evident. You'll notice a pattern in job postings that talk about tech you don't know about -- that'll be a good clue. You'll also know about related tech that sounds interesting to you -- and you'll probably naturally just learn about it.

Oh -- and as for not knowing if you know enough to get hired: Just start going on interviews. The software interview is an art unto itself (and you might want to check out several excellent books at that already exist on the subject). Just being good at tech won't get you a job -- you need to be good at communicating. Going on interviews with companies (and approaching them as experiments) will let you know what you need to get better at. If you get an offer, you'll know you're getting good at it. :-) (Hint: You don't ever have to accept an offer if you don't want to)

Normally I would recommend learning how to program and then trying to get a job that is related to your field. Both of those don’t apply to you. You know how to program but your knowledge is not up to date and your field of study makes it hard for you to find a programming job where knowledge of theology would be a benefit. I don’t know of any type of programming job where you can leverage your subject expertise in theology. Maybe you have some other expertise you gained by working that can be leveraged?

Anyway. You still can look into the jobs available to you locally and find out what technologies are being used and concentrate your study on those fields. Also see what meetups you have going on and participate.

Other then that I think with your knowledge you might be better off going for a project manager position in tech.

I've heard the advice before about trying to find a way to use programming within your current field, and couldn't think of any connections with my field - but I appreciate that your comment has helped me think of this a bit more broadly. For example, in my work at a church I plan events, coordinate volunteers, oversee the use of budgets, etc. Will think on this more, thanks! Project manager position is an interesting idea.
I would ignore the CS degree requirement. In my experience there are plenty of shops that will happily look at someone with no degree as long as it's supplemented with some other way of showing you have relevant experience.

If you want to look at a career change I would say you need to do the following:

1. Start learning the current state of the art. You might be surprised how much of your previous experience is still relevant.

2. Build some things that are a little more ambitious than maintaining a blog or home automation. Feature those things in your resume. If you can show the code you wrote when building it on Github/Gitlab/Bitbucket or something then that's a great way to provide a substitute for academic credentials.

Search for church content management system companies, etc and apply for jobs on their dev teams. You would have valuable product insights.
Disclaimer, employee / hiring manager at Twilio. We have a path for non traditional candidates:

https://www.twilio.com/company/diversity/hatch

I just hired (well, offered; still waiting to hear back) someone who went through a boot camp and has a background in theater.