Ask HN: Switching to a career in software development in my 30s?
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 ] threadRealistically, 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.
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?
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!
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)
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.
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.
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.