Resumes 101
When I was in high school, if you had asked me what I thought my future skill sets might include “resume review” would never have crossed my mind, but the universe has a way of sending you down a path you never expected. At this point in my career I have had the opportunity to look at a large number of resumes. I decided to write out some general advice and points I'd like to make to anyone creating a resume.
Disclaimer: My experience is mostly with resumes for IT/Programming/Cybersecurity oriented people. A lot of this advice probably applies to other disciplines; it's all pretty general, but I'm not 100% certain.
Who are you? And what do you want?
This is the question you are trying to answer with your resume. If your resume is disorganized, I'll assume you are disorganized. If your resume is inefficient and unclear, I'll assume you are. Keep it clean, keep it professional. This however, works in the other direction. It's YOUR resume. It's meant to represent YOU. You'll get a lot of advice from people including this post, but it's all just opinions and advice you don't have to take any of it. Make sure your resume is your own, make sure it represents you and makes you proud.
Probably the best example of this is web developers. A lot of the really good ones make their resume a website. This is one example: https://www.joshwcomeau.com/ and this one is just awesome: https://bruno-simon.com/ . Obviously this is hard to do if you are an embedded systems developer, but I think it makes the point clear that you should represent yourself and the skillset(s) you want to show off on your resume.
Finally, your resume should be catered to the job you want. You have to really read the job description in detail and cater your resume a bit to it. Ideally, the most relevant things should be higher up on your resume. Applying for a programming job? I don't care that you flipped burgers in high school. I want to see what programming you've done. Jobs, projects, education etc. Whatever is most relevant should be at the top; the job at Burger Boy can go towards the bottom.
How do I get started?
Please start with a template. I know this can sound contradictory to my above point, but I don't want you to just use a template, I just want you to start with one. Change the colors, move items around, delete things you don't need, make it your own. Templates just give you a solid starting point to branch off of. Maybe look at a few and mix and match the things you like. Disregard this if you are an experienced designer. If you aren't sure about your design skills this is not the place to try for the first time.
Why one page?
Stop trying to cram your resume into a single page. This is advice given by professors in university to try and get students to stop putting that irrelevant high school job on their resume, or to stop them from padding it with random junk. Do not ever leave something important off your resume to keep it to a single page. If you are a new student and you are reading this your resume should probably be a single page. I have a challenge for you though; I want you to do as many projects, join as many clubs, do as many internships as you can so at the end of your 4 years you can’t fit everything on a single page.
How much detail should I have?
This is tough to quantify, but the advice I would give is that you want to note everything that is relevant to the job as quickly as possible. Fresh out of school, or in school? Note some relevant courses, not all of them maybe just the most advanced ones. Also, please note your degree program, I've seen too many resumes with this missing. Leaving a job, or an internship? What sort of stuff did you work on? Were you in a club in school or a member of a professional organization? What does that club/organization actually do? What did you do while a member? Did you compete in a competition? What actually happens at that competition? One detail you never want to skimp on is time. Always note the month and year you joined a job/club/org/school and the month and year you left.
I would avoid paragraphs whenever possible, but a sentence here and there describing something has its place. Use bullets where you can and keep the descriptions as short as possible without losing important details.
This is the toughest part of creating a resume, and this is the point where you might want to have someone look at it and provide feedback on your details. How short can you make a description and still have another person understand the point you are trying to make.
Should I have someone else look at my resume?
Yes.
Should I put my social media on my resume?
Linkedin and public code repositories (probably Github) are the only acceptable items. They should go at the top on a single line with no fluff.
If you note projects on your resume you should link directly to the project if it's online somewhere in your projects section.
Should my GPA go on my resume?
Probably not. The truth is nobody cares about your GPA. It might matter for some jobs right out of school. If you spoke with a recruiter and they mention they care about GPA then you probably should put it down. If you are already working or applying to normal jobs I would leave it off.
This is where I want to break to remind the reader about my top point. Your resume represents you. If you have a bangin 4.0 GPA and you are really proud of that, put it on there.
What should go in my skills section?
Skills relevant to the job you're applying for. If it's a networking job note you've worked with Cisco equipment for example. If it's a programming job, note you know how to write Java. Keep it as light as possible. Skills sections quickly become alphabet soup and hiring managers just skip over them. The same advice of noting the most relevant things first applies here. Applying for a programming job and the job description says Java? If you know Java, put that right at the front of your skills section.
Probably the second best piece of resume advice I can give, behind make it your own, is never put something in your skills section you are not prepared to answer questions about in an interview. This really goes for the whole resume, but especially the skills section. If you put down C you better be able to describe the difference between malloc() and calloc() to me, or what near, far, and huge pointers are. If you used Python three years ago in a university course it probably doesn't belong in your skills section. Really question yourself here. Don't just add items to make it longer.
Anything else?
This advice should be enough to get you started down the right path. If you want someone to review your resume, or you have a more specific question feel free to reach out.