Developer Relations

How to Add Shine to Your Resume with Open Source Experience

2018-10-03
Developer Relations
en

In this article, I will share my method to help you use open source contributions to stand out in technical job searches and become a strong candidate.

Preparation is key. Before entering a new field or staying up late revising your resume, it’s worth clearly defining the characteristics of the job you’re looking for. Your resume is a persuasive document, so you must understand your audience to make it reach its full potential. The person reading your resume could be anyone who needs your skills and can hire you within budget. When editing your resume, read what’s on it and imagine how it looks from their perspective. Do you look like a candidate “you” would hire?

I personally find it helpful to make a list of the key characteristics that the ideal candidate for the target position should demonstrate. I gather this list from a combination of personal experience, reading job postings, and asking colleagues in the same role. LinkedIn and various conferences are great places to find people willing to offer such advice. Some people love talking about themselves, so by inviting them to share their stories, you can expand your knowledge, and everyone feels good. When you talk to others about their career paths, you not only learn how to get the job you want but also what characteristics or behaviors to avoid that could cost you job opportunities.

For example, for a less senior position, a key characteristics list might look like this:

Technical aspects:

  • Experience with CI (continuous integration), especially Jenkins
  • Strong scripting background, such as Python and Ruby
  • Proficient in Eclipse IDE
  • Basic Git and Bash knowledge

Personal aspects:

  • Self-driven learner
  • Good communication and documentation skills
  • Experience in team development (team member)
  • Proficient in issue tracking workflows

Just apply for the position

Remember, you don’t need to meet every criterion listed in the job description to get a job.

The job description (JD) describes the role, letting you know upfront all about the company you’ll be signing up to work for for years, and the job won’t be challenging or require you to expand your skills. If you’re nervous about not meeting the skills listed, check if you have comparable skills from other experiences. For example, even if someone has never used Jenkins, they might understand the principles of continuous integration testing from previous project experience using Buildbot or Travis CI.

If you’re applying to a large company, they may have a dedicated department and a complete screening process to ensure they don’t hire any candidates who can’t do the job. That said, all you can do in your job search is submit your application; it’s the company’s management’s job to decide whether to reject you. Don’t exclude yourself from job opportunities too early.

Now that you know what your task is and what skills you’ll need to impress the interviewer, the next step depends on your existing experience.

Creating connections between existing things

Make a list of all the projects you’ve been involved in over the past few years. A quick way to get this list is to go to the Repositories tab on your GitHub profile and filter out forked projects. In addition, check if you have any Organizations you’ve been a leader in on your list. If you already have a resume, make sure you’ve included all your experiences on it.

Consider any IRC channels where you’ve had privileged access as a potential leadership experience. Check your Meetup and Eventbrite accounts and add any events you’ve organized or volunteered for to your list. Go through your schedule from the past few years and mark all volunteer work, mentorship experiences, or public speaking engagements.

Now comes the harder part: mapping the required skills on your list to your personal experience list. I like to label each characteristic needed for the job with a letter or number, then mark the same symbol on each experience where you demonstrated that characteristic. When in doubt, mark it without hesitation—better to sound like you’re bragging than to appear incompetent.

We often struggle with resume writing because we don’t want to risk overblowing our skills. It’s better to think, “Do people who organize meetings demonstrate better leadership and planning skills?” rather than “Did I demonstrate these skills when I organized this meeting?”

If you’ve fully accounted for how you’ve spent your free time over the past year or two and written a lot of code, you might now face the strange problem of having too much experience to fit on a single-page resume. So, if any experience on your list doesn’t demonstrate any skills you’re trying to showcase, throw it out. If your shortened resume still exceeds a single page, prioritize your experiences based on relevance to the required technologies or depth of experience.

In this regard, it’s obvious that if you want to hone a unique skill, you need a good experience. Consider using a problem aggregator like OpenHatch to find open source projects that will exercise your skills using tools and technologies you’ve never used before.

Making your resume more attractive

A resume’s attractiveness depends on its brevity, clarity, and layout. Each experience should provide enough information to show the reader immediately why you included it, and just enough. Each type of information should be presented in a consistent document format—italicized dates or right-aligned sections that don’t match the overall style will definitely be distracting.

Using tools to typeset your resume makes it easier to achieve your previously set goals. I like using LaTeX because its macro system makes visual consistency easier, and many interviewers will recognize it at a glance. Your tool of choice might be LibreOffice or HTML, depending on your skills and how you want to publish your resume.

Remember that a resume submitted electronically can be scanned for keywords. Therefore, using the same abbreviations as in the job posting when describing your work experience will greatly help your job search. To make your resume more visible to interviewers, put the most important information first.

Programmers often struggle to quantify balance and layout when typesetting documents. My favorite technique for revising and evaluating the spacing in my documents is to view my PDF fullscreen or print it out and look at it in a mirror. If you’re using LibreOffice Writer, save a copy of your resume and change the font to a language you can’t read. Both techniques force you to step back from reading the content and look at the overall layout of the document in a new way. They shift your focus from criticisms like “That sentence is poorly phrased!” to noticing things like “There’s only one word on this line, that looks funny.”

Finally, double-check that your resume looks completely correct on the media where it will be displayed. If you’re publishing it as a web page, test it in browsers of different screen sizes. If it’s a PDF, open it on your phone or your friend’s computer to ensure all required fonts are available.

Next steps

Finally, don’t let your hard work on your resume go to waste. Copy it completely to your LinkedIn account (using exactly the buzzwords from job postings), and recruiters will find you. Even if the job they describe isn’t exactly right for you, you can use their time and interest to get feedback on what’s good and bad about your resume.

Reprinted with permission: Developer Relations »


Similar Posts

Content icon
Content