As a student specialist at Treehouse, I get asked a lot "what can I do to get a job?", or "I've graduated! Now what can I do?". While my answer will greatly depend based on your life circumstances, the area you live in, time limit, speciality, etc., here are some tips I give to almost everyone who is trying to break into the programming field without a Computer Science degree.
1. It (Can) Take Time
I want to start off with some honesty: no, you most likely will not get a developer job immediately after finishing your online training or bootcamp.
While I really appreciate the work good bootcamps and alternative education programs are doing to educate future programmers, too many grads don't realize there is still more work ahead of them. Becoming a self-taught, professional web developer is not an "easy" path, despite what the marketing out there might lead you to believe. That doesn't mean a job isn't attainable, but you will need to dig in and you may need to work harder than your peers to get it; a job is not going to land in your lap after completing a program online.
Be patient and continue to hone your skills while applying to jobs. Learn what you can from any rejections and use that information to continue to improve.
Phew, that was a little heavy. Okay, if you're still with me let's look into what "digging in" involves in the next steps.
2. Create an Amazing Portfolio
If you don't already, make a portfolio site that can display your work while simultaneously acting as an example of your developer skills. At a minimum, this site should show the projects you are most proud of in an exciting way.
If you do have your own portfolio already, ask yourself: is this as good as it could be? It's easy to make a basic site with portfolio links, but your portfolio should be flashy and cutting edge to convey to an employer that you have the experience necessary. Think about ways to pull the employer in when the first open the page and funnel them to your projects and contact information.
I'm also by no means an expert in portfolio design and we could go really deep here. I would suggest taking a look at these sites for examples. You can also post to the Web Developer subreddit and they'll give you honest feedback on your portfolio site. I highly recommend doing this.
You're actually on my portfolio site too! Feel free to click around a bit for some ideas (Yes it could use a bit of work, but I'm also not actively job seeking).
3. Have 1-2 Complex and Eloquently Coded Example Projects
This is one of the biggest things I've noticed that first time job seekers can improve. Yes, you might have a GitHub portfolio of 10-15 projects (or less), but many of those projects were for learning purposes and are smaller, even if they felt big at the time. Building those projects helped you learn, but those were the basics. To work on a professional, production scale application, you need to prove you can build more than small side projects.
So what do I mean by "complex"? Well, that depends. If you're shooting for a backend role, that might mean a clone of a large site like Twitter or Reddit with all base functionality. If you're applying for more frontend, design focused roles then try building a site template for a marketing company, complete with all the flashiness that entails.
4. Work On Your Job Hunting Skills
Finding a job takes its own set of skills, especially when you're breaking into a new field. There are plenty, plenty of good articles and blogs for both job hunting in general and for those seeking their first programming job. Make sure you're up to date on best practices, can ace your interview and have a good resume. Being able to leverage your network effectively can also be critical in getting that first job.
One of my favorite sites for tech resumes is cvcompiler.com. The site will scan your resume and give you specific tips on how you can improve. It will cost $16 for one scan, but I think its well worth the cost to make sure you have a resume that is above and beyond industry standards. They're even working on a version for entry level developers.
Depending on the job you're seeking and your competition, you may needs to brush up on your algorithm and data structure skills. While I do think knowledge of algorithms are very important for any serious developer, you may not have time, or need to, have a deep knowledge of them to land that first job.
If you do feel like algorithms will give you an edge in interviews or you're applying to companies that will ask many algorithm questions (these are usually more competitive) I would make sure to work through Cracking the Coding Interview, a very well know book in this space (almost every Computer Science grad I've spoken to knows about this book). There are also plenty of free courses online to help you learn the basics, as well as some very good courses at Treehouse.
5. Focus On Smaller Companies and Startups
This may seems self evident to some, but it's important to remember. Don't just try to scattershot apply to any jobs out there. Bigger, more "traditional" companies are more likely to want a degree or provable business experience. Focus on smaller companies and startups that you think would be more open to new developers who don't have a CS degree. There are plenty of amazing companies out there willing to take more risk on people who are hard working, smart and willing to learn.
And remember, after you have experience under your belt it'll be a lot easier to find that next position!
Hopefully, these were helpful tips that aren't usually mentioned. Remember to keep pushing and before you know it you'll be in that developer job you always dreamed about! Feel free to send any success stories to my email.