loading...
Cover image for How to write a SOLID dev resume to be 2018 STAR

How to write a SOLID dev resume to be 2018 STAR

agazaboklicka profile image Aga Zaboklicka ・3 min read

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 :)

Discussion

pic
Editor guide
Collapse
jfrankcarr profile image
Frank Carr

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.

Collapse
agazaboklicka profile image
Aga Zaboklicka Author

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...

Collapse
synergistcomp profile image
Synergist Computing

Love your STAR acronym!!

Collapse
agazaboklicka profile image
Aga Zaboklicka Author

It's not exactly mine, just spreading. But thank you :)

Collapse
mauricehayward profile image
Maurice Hayward

Wow, this is very creative! You should make this into a tech talk.

Collapse
agazaboklicka profile image
Aga Zaboklicka Author

Thank you so much! I'm not sure how to go about it here (I just recently moved to Vancouver) ;) But I'll research ;)

Collapse
aravindballa profile image
Aravind Balla

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?

Collapse
agazaboklicka profile image
Aga Zaboklicka Author

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:

  • add side projects/open source projects in new tech
  • list the new skills you have at the top of your resume (you are knowledgeable about them right?)
  • generalize the parts that showcase skill you want to change: e.g: write "5 years of experience in software development" instead of "5 years of experience in .NET", I'm not 100% sure about that one though And first and foremost: target your resume to the company and put all that excitement in your cover letter.

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 ;)

Collapse
ashleyjsheridan profile image
Ashley Sheridan

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!

Collapse
agazaboklicka profile image
Aga Zaboklicka Author

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).

Collapse
ashleyjsheridan profile image
Ashley Sheridan

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!

Thread Thread
agazaboklicka profile image
Aga Zaboklicka Author

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

Collapse
rwhitt2049 profile image
Ry Whittington

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.

Collapse
agazaboklicka profile image
Aga Zaboklicka Author

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

Collapse
aershov24 profile image
Alex 👨🏼‍💻FullStack.Cafe

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!

Collapse
espoir profile image
Espoir Murhabazi

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

Collapse
agazaboklicka profile image
Aga Zaboklicka Author

Can you pitch me an e-mail/message somehow? I don't want to discuss it here.

Collapse
mcflat profile image
BRAINS YUM

Great advice thanks. My 13 page resume needs some work, no doubt.

Collapse
johannesvollmer profile image
Johannes Vollmer

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)

Collapse
karloandrei profile image
Info Comment marked as low quality/non-constructive by the community. View code of conduct
KarloAndrei

Awesome article you got here, Aga! I love the Liskov substitution part. I commonly see resumes with job descriptions that seem redundant. So true that it won't hurt tweaking it, so take it as an opportunity to replace common words with strong descriptive terms to appealingly convey this section.

I got some questions though. Regarding the master resume, do you suggest exerting an effort to formulate a comprehensive CV instead? So at least, we’ll have one ready if we need one. :)

Also, about the Dependency inversion principle – Do you recommend using a “targeted resume format” or perhaps, this just an option?

I came across an article that focuses on writing IT resumes. I think it is somehow applicable to any tech resume. I hope you’ll find it handy as well. Here’s the link: infotechresume.com/tips-writing-be...

Cheers!