Not to brag or anything, but yesterday I just got my fifth(-ish) legit coding job. Now that I'm finished the job hunting process, I'd just like to record some thoughts about how I go about getting a job for my future self and anyone on the internet looking for a coding job (no one reads my blog except for me though, lol). I am still pretty young and don't know everything, but this post will definitely help someone (and hopefully my future self).
So You Want To Be a Coder, Huh?
If you've never programmed in something before, do it. Choose a language, download the stuff, and follow tutorials. Once you've got them down fiddle with the projects, and think of features to add. Go to bookstores, libraries around you, meetup groups, get books on amazon, watch video tutorials, take "bootcamp" like classes, or take university computer science classes. If you have the luxury of having a mentor your coding skills will improve much faster. Write code, Learn about writing code. It's a cycle of doing and learning that leads to great skills. The truth is that companies only want really good coders, or at least people who can become really good coders so you have to put in the time to at least get the basics down and show them either a) you are a great coder, or b) you have the potential to become a great coder (for their specific purposes).
Make a Your Code Public
Wouldn't it be nice if there was a way to store your code in a way such that it was easy for other people to read it, see what you've done, and even download it to run it themselves if they wanted. It would be awesome if something like that existed and was free for you to use and show potential employers- oh wait, it does. It's called Github. Having a Github account with a lot of good code can be one of the best things to improve your chances of getting a job (but beware, having repositories full of bad code could be more harmful than good!). Make sure you look up "best practices" for the language you are using and ensure that all your public code follows these guidelines. There are plenty of other share-your-code sites besides Github (codepen, plunker, etc.) that could serve the same purpose- proving to the employer that you have written good code.
The First Step To Getting a Job is Making a Great Resume
Having a great resume is critical to not only getting noticed and getting an interview, but it also drives the conversation during the interview itself. Don't put too much on your resume. Keep it all on one page, use action verbs and "achievement based phrases" if you can. The basic outline for the sections on your resume are:
You can of course tweak is to your industry if it makes sense, but you beware not to cram information in every possible crevasse of the page to the point where the reader is completely overwhelmed. It's super important to have your resume very specific to a single position. You want to be the perfect candidate for the position you are applying you. If another job opportunity comes up that looks interesting, create a new resume for it that is tailored to that specific job. Do not half-ass this part. You'll thank me later (when you're in the interview). Also, don't put a general title like "student" or "software engineer". Put down exactly what language or platform you code even if you have no "real" professional experience with it. That's what you've done (your Github code). That's what you know, and that's what you want to do. Search out free resume critiques (I got one from monster.com one time). Take a look at books about resumes or local college / public career centers.
Get Your Resume in the Hands of Companies and Recruiters
You need to make companies around you that are looking for people like you aware that you exist and are looking for a job (duh). For this you basically just use the internet. There are some great job sites out there, here's a quick list of some good ones:
If you have some experience under your belt you can probably put a nicely formatted resume up online, and the recruiters will come to you. You could also do a quick search on each of these sites to try to apply directly to the employers. You'll have to get screened and pass phone interviews. Sometimes they'll even ask you to pay coding challenges (you can always offer to show them your Github as an example of your code), but basically your goal here is to show that you are right for the job get a face-to-face interview.
Ace the Interview
They won't hire you unless they really love you, so you need to really shine on interview day- especially if you're not 100% qualified for the position. Emphasis your enthusiasm, willingness to learn, and eagerness to help solve the companies problems. Ask good questions at the end, and on your way out restate how great of a fit you think it would be for both parties. Afterwards, follow up with a thank-you email. There are numerous sites and books (knock 'em dead job interview is a good one) on the subject of interviewing. Use them, learn from them. Implement their teachings.
Can't Get a Fish To Bite?
In some ways it's a numbers game, and you can't get discouraged or take it personally if you go on a lot of interviews and don't get any offers. Go back to the beginning of this post and reevaluate each section as it applies to you. Push more code to Github, get another resume critique, apply to a few more job postings. Do what you have to do, and go on more interviews. Expand your search radius geographically and skill-set-wise to make yourself available to more opportunities.
Someone Said Yes??
Once you secure a job and sign the paperwork, then you can sign a huge breath of relief. You can take a moment to celebrate and enjoy you unemployed life now- you'll be missing it soon enough. ;) Do what you can to prepare for the job, and take your resume down from those sites so those annoying recruiters stop bothering you now that you're off the market. Great work! It's tough getting a job, a lot of pressure, and a huge amount of work. Get ready though, because the real work is just beginning! Remember to always do what's best for the company, and never be a douche to other people. You will make mistakes sometimes. It's ok. Try to learn as much as you can and screw up as little as possible (please use unit tests). Good Luck! :)
The posts on this site are written and maintained by Jim Lynch. About Jim...