Back in September of 2018 I enrolled in Bloc.io, an online bootcamp designed to teach full-stack development (ReactJS on the front-end, and a choice of either Node or Rails on the backend). If you want to read about my experiences from during the program you can check out my previous posts, for this post I want to skip ahead and focus on that transition period between finishing bootcamp and getting a job as a developer.
I started my job search in March 2018, I officially graduated from Bloc in May, and I started my first job as a developer in June. Just to give a brief overview, between March and June I applied to 68 jobs, and interviewed with 11 different companies. I don't know if those numbers are average, and on a whole I would encourage you not to worry too much about numbers, I only mention it to show that it is perfectly normal to not interview with or even hear back from the majority of places that you apply to. Not hearing back is not a sign that you are never going to get a job, or that you aren't hire-able. It can be a stressful and disheartening process, but I hope that by sharing my strategy it might be a little easier.
Tip 1: Start early and get your application out there.
Start applying before you graduate, I suggest about two months before you finish but it depends on how long or short your program is. Regardless of whether or not you feel ready, get your resume written and just start applying. You could hear back, but more realistically this will serve as practice for some important skills -- quickly drafting up compelling cover letters, tailoring your resume based on the job requirements, finding relevant jobs, and getting used to putting yourself out there.
Quick note on cover letters: Early in my job search I was told not to bother with them, but in my experience these are essential for someone like me without a traditional tech background. If you have a CS degree having a stellar resume may be enough to get you considered, but if not, give yourself a chance by telling your story and making your own case for why you are worth hiring.
Tip 2: Track everything related to your job search. My bootcamp gave us a spreadsheet for this and it was honestly a life saver. Every time you apply somewhere, write down the date, company name, position title, company website, location, job posting url, your enthusiasm level about the position, how you found the job (career website, networking contact, cold outreach, personal connection), and your status (researching, applied, interviewing, rejected). You also want to track your interviews, questions asked, how you think you did, the name of who you interviewed with, etc. Lastly, I found it helpful to track my networking efforts as well. So, keeping track of meetups and who I met there, any informational interviews I went on, any cold outreach efforts I made and whether I heard back.
Tip 3: Networking. More specifically, making connections with experienced developers in your area. This is a big one so I'm going to split it into subsections: meetups, informational interviews, and getting your foot in the door
I started by going to a meetup called Code and Coffee in my area. Code and Coffee is a bi-monthly Saturday morning meetup with coffee and donuts where we just sit and work on personal projects or what ever other coding things we want to do.
Having connections to your local developer community is helpful not only for hearing about job opportunities, but for keeping up to date on new frameworks or strategies, keeping your skills sharp by working on personal projects, meeting people involved in open-source projects that you can help with (this will give you experience programming as a team), and just spending time in a space where people are excited about what they do.
You will also get practice talking about code, and being able to explain what you are doing, which is a super important skill for interviews but also just for working as a developer in general.
If you haven't heard this term before, an informational interview is a semi-informal chat with the goal of learning more about the person and their experience in your field. This is a great place to learn from more experienced developers and ask lots of questions about how they keep their skills up to date, how they went about getting a job, the challenges of their work and how they get through them, etc etc. You don't want to talk too much about yourself here, this is about learning about them and their experiences. If you are part of a meetup already, ask someone there if they'd like to grab a coffee that week and share their experience. If not, you can reach out on twitter or linkedIn and send a message to a developer in your area. Looking for someone with some kind of connection to you is your best bet here, so look for someone who went to the same college as you (even if it was years apart), someone with a mutual acquaintance (even if it's super distant), or someone who also graduated from a coding bootcamp.
When you land an informational interview, make sure to look into their background and prepare some questions ahead of time for what you'd like to learn about them but try to keep it organic rather than a rapid-fire interrogation.
At the end, ALWAYS always try to leave with at least one name of someone else you can talk to. Something like, "Thanks so much for taking the time to meet with me, I really enjoyed hearing about ______, do you know of anyone else that would be open to chatting with me or that you think I should meet?" The more you grow your network, the more amazing people you get to meet and learn from, but also the higher the chance will be that you will know someone who knows someone who works at the company you are looking at applying to.
Getting your foot in the door:
Because of the high volume of applications, your number one best bet to scoring an interview is to connect with someone who already works there. This is where that awesome network you've been working on comes into play. Every time I found a job I was interested in I would go to LinkedIn look at the company and all of the employees and try to find any kind of connection between someone I know and someone who works there. Once I found it, I would reach out, mention our mutual connection "Hey, I noticed that you also went to Bloc" or "Hey, I noticed that you know _, I met them _" then, "I have been looking at the opening for a junior rails developer at ___ and I was wondering if you'd be open to chatting about your experience working there. Maybe we could set up a phone call or grab coffee".
When you meet with them, ask about what their day-to-day is like, how they feel about working there, what the company culture like, etc etc. This is your chance to get a look behind the scenes. Feel free to ask them about themselves and how they got into tech as well, this is also a great chance to ask what the interview processes looks like at this company. Towards the end of the conversation, bring up the position you are looking at. Briefly pitch why you are interested in the position/company and why you'd be a good fit, and ask if they know anyone who works on that team that you could speak with, or if they have any advice on how you might stand out as a candidate.
The key with networking is that you shouldn't go into a conversation with the goal of walking out with a job. Instead, it's an opportunity to learn from someone who has been where you are and who knows what it's like to actually work there. Networking is also a two way street, it benefits both the job seeker and the hiring team. Interviewing someone who already has the endorsement of someone who works for you can feel like less of a risk than interviewing someone from a pile of faceless applications.
As a developer things will always be changing, there will never be a point in your career where you know everything and can just coast. You need to be able to learn on your own, and know how to get yourself out of sticky situations, and practicing is the best way to do that. Then, when you are at interviews talk about what you've been working on that wasn't covered in your bootcamp, talk about how you got past that bug or what you've been learning on your own.
If you can, try to get some pair programming experience as well. Contributing to a local open source project is great for this, you can also ask someone in your meetup who is learning as well if they want to practice pair programming. I like to practice pairing on sites like CodeWars because it's low stakes, doesn't take any project set up, and is good practice for technical interviews.
Tip 5: Frame your lack of a formal CS degree as a positive. In undergrad I majored in fine arts at a liberal arts school, after graduation I went back to school to study education and spent some time working as a teacher. None of my formal degrees or work experiences are even tangentially related to computer science, but in my experience my background has made me a better developer and that is something I always expand on whenever I make my elevator pitch. Highlight your transferable skills and how your unique experiences have helped your work as a programmer. Let your background work for you instead of against you.
That's all for now, let me know if this was helpful and feel free to comment below or tweet me with any questions or thoughts at @mxoliverleigh