The post comes from my blog, where you can find my resume (more or less) in *.pdf if you're interested.
I've been coaching IT people with their job search and resume writing since the end of November. And I've noticed that a lot of us struggle (and yes, I do too) with writing this scary piece of paper. So here is the compilation of the knowledge and most common tips I gave so far.
KISS - Keep it short and simple
A resume is your marketing piece to encourage recruiter or hiring manager to interview you (and not an elaborate essay on your experience/projects). Your resume shows your most important and relevant skills for the position you apply for. I'm not telling you to do a one-pager (this info is long outdated), but 2 pages are enough space to give the other person of who you are and what you know.
Make it SOLID (as in SOLID by Uncle Bob)
Single Responsibility Principle
One resume for one position/one job posting. Your resume will be different for IT Architect Role than for Senior Software Engineer position. And it'll be different for Senior Software Engineer in ABC Company and for XYZ Corp.
Open/Close
Close it for modification by opening it up for extension: you'd want to extend your resume by adding extra info in cover letter by there (yeah I know it's not 100% like this in open/close but I think you can relate ;))
Liskov substitution
“Objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program”
Meaning: if you were able to do something as a junior it's you're still capable of doing it with more experience.
DRY comes in handy here. So please don't repeat yourself.
There's one exception here, though. If what you did in each job is a basic need for the position you're applying it's good to showcase throughout your career. E.g.: applying for JavaScript Dev describe all JavaScript development roles/tasks. Tweak it so they don't seem the same, e.g:
Software Developer, ABC company
- Developed, maintained, debugged and fixed bugs in distributed Java and JEE applications
Software Developer, XYZ Corp.
- Involved in full-stack software development based on Java, Struts, JavaScript, Hibernate and DB2
Interface segregation principle
Many role-specific resumes are better than one generic resume. (There's nothing more to add to it)
Dependency inversion principle
"High-level modules should not depend on low-level modules. Both should depend on abstractions. Abstractions should not depend on details. Details should depend on abstractions."
Your abstraction is the job you apply for so everything you write should be based on that job/job posting. Keep only the details you're asked for in the job description. Again KISS works nicely here too :)
Start with master resume
A master resume is like a database of everything you did thus far. It's a great reference point for your future resumes and lists all or the most important skills and accomplishments.
Accomplishments instead of tasks
Few accomplishments are better than just to list your duties. E.g:
Task: Wrote JUnit tests
Accomplishment: Assured expected behavior of applications by writing JUnit tests and ensured 85% code coverage
You can find a lot of generic articles on how to turn your task into accomplishments, like this one on The Muse.
If you are still not sure on how to approach it here's a little advice:
Be a STAR of your resume
Think about a Situation when you performed that Task.
What Action did you take and what was the Result?
Then write it in POR format:
Past tense action verb
Object of your statement
Result of your action
And try to add some keywords in between.
E.g: Guided a team of 4 developers using Kanban to design, configure, and test RESTful loyalty cards management system run on RedHat Linux
I welcome all questions, so don't hesitate to ask :)
Top comments (20)
One thing I would add is make sure that it is easily parsed by resume reading software, especially if you're submitting your resume to larger corporations with big, busy, HR departments or to recruiting firms. If your resume doesn't parse well, it will get screened out without a human seeing it at all.
Yeah, you're right. There are separate articles just about it though. And I wanted to concentrate on a content. Even startups use ATS systems now which sometimes is scary coz you may be skipped if you use a table in your resume or don't use a specific keyword the system looks for...
Love your STAR acronym!!
It's not exactly mine, just spreading. But thank you :)
Wow, this is very creative! You should make this into a tech talk.
Thank you so much! I'm not sure how to go about it here (I just recently moved to Vancouver) ;) But I'll research ;)
You have lots of experience in X technology, but you are learning Y and are very passionate about Y. How do you apply for a role in Y?
It depends. There's a lot of transferable skills you can leverage in your resume and not only a technical but also soft skills matter.
This is how I'd go about it though:
I'm not sure what kind of a move you'd like to make but you can PM me on LinkedIn or using contact form on my blog so we can brainstorm ;)
One thing I've found which helps is to have your skills, and level of skill in each, in an easily digestable format, like a small table. The people looking through your CV have a very limited time to read through possibly dozens, so anything that helps the reader get to the point quickly is ideal. Also, be careful about giving yourself 10/10 in anything, it's a pretty good sign that you're suffering from the Dunning-Kruger effect!
That's actually a controversial one.
I don't like to rate the skills I'm using, because what it means 5/10? or 2/10 or even 10/10?
I'm listing skills relevant to the position. And I divide it into strong, knowledgeable, and (eventually if relevant) learning. And keep them to 1-3 bullets at the top of my resume (summary).
And I believe it's better to write how you actually used it and for what purpose by mixing them in the accomplishments.
But this is really a matter of preference here and both ways are good.
Putting your skills in a table makes it hard to scan by ATS system (and there's more and more of them in play before your resume actually gets to the recruiter).
Yes, I agree. By level of skill, I didn't specifically mean a value score. I do the same as you, qualifying skill against basic, fair, good, & great. An ATS system won't have trouble scanning words, and that's basically all they are, glorified keyword searchers. It's why I tend to avoid going through agencies now; if they knew the technology they wouldn't be in recruitment, and a computer can never match a person for deriving context!
Yeah, that's true. I don't want to go into ATS and "best on how to apply" discussion here. It's too opinionated and probably everyone is right :p
When it came to role specific resumes, I found myself getting bogged down with rewriting accomplishments. I ended up creating a searchable document with all of my accomplishments and then organizing them with relevant tags. Then I made sure to keep most of them to a certain length and standardized on a style and voice.
This allowed me to quickly churn out posting specific resumes by just choosing the relevant information that I wanted to include on each document, tweaking them slightly, and then checking that everything was coherent. This was about as close as I could get to a drag and drop resume creator.
One thing I'd recommend would be writing each item in the tool you'll use to create your actual resume. That way you are sure what it will look like and can keep the overall format nice.
That's an awesome idea. I have to take you up on this :D
But notepad may also work nicely if you want to go formatless :D
Solid and thoughtful tips. A bit cryptic though. As my experience a lot of resumes went first through the hands of non-tech recruiters who could be actually confused by some of that principles. For example - DRY. The purpose of any resume is to give a job interview, so you contact details are actually should be available on every page in footer and header. Treat it as landing page (for more conversion) rather that engineering device (for less complexity).
I would also recommend to check the fullstackresume.com service where you could build your Full Stack Resume in less than 30 seconds. Instead of writing all the content by yourself the service will generate it for you based on your unique experience using the minimalistic A/B tested resume template!
Thanks for this useful article.
if you where a recruiter, can you please tell me what you think about this resume for a web developer with 1 year of experience?
docs.google.com/document/d/1UJpdP8...
Thanks in advance
Can you pitch me an e-mail/message somehow? I don't want to discuss it here.
Great advice thanks. My 13 page resume needs some work, no doubt.
Open / Closed:
Keep it open for extension (when the recruiter asks you to elaborate) but closed to modification (when you have to correct a wrong datum on your resume)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.