FreeSoftwareOnResumes:Writing: Difference between revisions

Initial review and minor polish.
(Created page with '=How To Put Open Source Experience On Your Resumé= This document explains best practice for putting open source experience on your resumé. It is primarily aimed at college stu...')
 
(Initial review and minor polish.)
Line 1: Line 1:
=How To Put Open Source Experience On Your Resumé=
=How To Put Open Source Experience On Your Resumé=


This document explains best practice for putting open source experience on your resumé. It is primarily aimed at college students or people who have not yet had a first job in software.  
This document recommends best practice for putting open source experience on your resumé. It is primarily aimed at college students or people who have not yet had a first job in software and who are focused on computer programming.


If you are a college student, your primary "experience" is education. So list it first and prominently, and only then open source or other experience. Most employers are looking for pedigree first. (Sad and terrible perhaps, but true.)
If you are a college student without extensive Open Source experience, your primary "experience" is education. So list it first and prominently, and only then list open source or other experience. In the absence of other experience, employers are looking for good educational pedigree first.


Having said that, it's good to participate in free and open source development because (among many other reasons) it will lead to further opportunities. Experience starts to trump college the older you get. After your first job or two, people care much less about your college grades. (Hopefully this will give you a sense of perspective about them.)
Having said that, it's good to participate in free and open source development because (among many other reasons) it will lead to further opportunities. Experience starts to trump college the older you get. After your first job or two, people care much less about your college grades. (Hopefully this will give you a sense of perspective about them.)
Line 11: Line 11:
# acquired <b>skills</b> using a set of tools;
# acquired <b>skills</b> using a set of tools;
# <b>experience</b> of real-world development;
# <b>experience</b> of real-world development;
# real work you can point to, and get <b>references</b> for.
# real work you can point to, and get <b>references</b> for;
# a public record of your ability to work as part of a distributed team.


==Skills==
==Skills==


The way you present your skills and yourself to recruiters and HR staff is not necessarily the way you'd present them to your peers. You may end up saying things that would sound arrogant, weird or anally precise in other contexts. That's OK.
The way you present your skills and yourself to recruiters and HR staff is not necessarily the way you'd present them to your peers. You may end up saying things that would sound arrogant, weird or overly precise in other contexts. That's OK.


The first person who reviews your resumé will be someone in HR (Human Resources). They may well be less technical, and will focus on keywords. So when you are putting your resumé together, it's useful to list out relevant skills, even if you don't think of them as "skills". What source control systems have you used? What IDEs? What languages are you familiar with? Give your proficiency with each. It helps to tailor the list for whatever job you are applying for; it should be apparent from the job description whether to emphasize that you're good with git or with mercurial. Give your skills a heading that makes sense to someone who plugs terms into Wikipedia (e.g. "Version Control").  
In larger organizations, the first person to likely review your resumé will be someone in HR (Human Resources). HR staff may not be intimately familiar with the skills related to the position you are applying for and may not be able to infer that, for example, having Mercurial experience means that you have experience with revision control systems. So when you are putting your resumé together, it's useful to list out relevant skills, even if you don't think of them as "skills". What source control systems have you used? What IDEs? What languages are you familiar with? Give your proficiency with each. It helps to tailor the list for whatever job you are applying for; it should be apparent from the job description whether to emphasize that you're good with git or with mercurial. Give your skills a heading that makes sense to someone who plugs terms into Wikipedia (e.g. "Version Control").  


Here are some skills you may well have picked up while working on open source which you may not have thought of adding:
Here are some skills you may well have picked up while working on open source which you may not have thought of adding:


* Experienced at talking to people from different countries and cultures
* Experienced at talking to people from different countries and cultures
* Able to persuade people to do what you want when they don't have to
* Ability to work with and motivate volunteers
* Focus on writing real-world, long-term-maintainable software
* Focus on writing real-world, long-term-maintainable software
* Experience working as a part of a globally distributed team


==Experience==
==Experience==
Line 29: Line 31:
There are things you can do even while you are contributing to increase the usefulness of your contribution in helping you get a job. For example, make sure your contribution is documented somewhere so you can point potential employers, HR people, or technical reviewers to a full description of what you did. Then later you can say "I QAed 7 packages according to these guidelines", and then point to the guidelines. You get bonus points for documenting your own processes and work because it shows you can do documentation.
There are things you can do even while you are contributing to increase the usefulness of your contribution in helping you get a job. For example, make sure your contribution is documented somewhere so you can point potential employers, HR people, or technical reviewers to a full description of what you did. Then later you can say "I QAed 7 packages according to these guidelines", and then point to the guidelines. You get bonus points for documenting your own processes and work because it shows you can do documentation.


Most Open Source projects don't give people job titles. However, a job title is just a two or three word summary of what your job is. So it may be worth discussing with the project lead what appropriate and accurate title you could use when listing your experience on that project. "Contributor" sounds like you just hung out ("I fixed a typo in the documentation - that's a contribution"). Avoid the word "Volunteer" entirely. Something like "QA Engineer" is better. Suggest a title to the project lead, and see what he says. Position the title so it's relevant to the job you are applying for.
Most Open Source projects don't give people job titles. However, a job title is just a two or three word summary of what your job is. So it may be worth discussing with the project lead what appropriate and accurate title you could use when listing your experience on that project. "Contributor" sounds like you just hung out ("I fixed a typo in the documentation - that's a contribution"). In some cases, you may wish to avoid the word "Volunteer" entirely. Something like "Quality Assurance Technician" is better. Suggest a title to the project lead, and see what he says. Position the title so it's credible and relevant to the job you are applying for.


People are really obsessed with numbers. The more lines of code contributed, packages maintained, and releases touched you can list, the more impressed HR will be. E.g.:
Statistics on your contributions can help lend additional context and credibility to your credentials. The more lines of code contributed, packages maintained, and releases touched you can list, the more impressed HR will be. It may also be appropriate to list some statistics about the project and the impact of your work.
 
E.g.:


* Contributed N hours of testing...
* Contributed N hours of testing...
* QAed N packages for release X...
* QAed N packages for release X...
* Project Foo is used by 500,000 software developers and organizations, such as Sun and IBM (who has used Foo as the base of their Foo+Bar project.)


These are quantifiable things that a college student has done, which is more than you usually see. This is much better than talking about "the cool lab project I did" which no-one can look at.
These are quantifiable things that can give you a significant edge over others who can only list educational credentials. This is much better than talking about "the cool lab project I did" which no-one can look at.


You should have a "Top Accomplishment" section for each position held, which tells a short story about something great that you did in that position. E.g. explain that you tracked down and fixed a critical bug which was blocking a release, and give a link to the bug report itself.
You should have a "Top Accomplishment" section for each position held, which tells a short story about something great that you did in that position. E.g. explain that you tracked down and fixed a critical bug which was blocking a release, and give a link to the bug report itself.
Line 42: Line 47:
==References==
==References==


If you've already done software work well, with peer accolades, that will make companies more comfortable hiring you than an untested person. Most project leads will be happy to provide a reference or endorsement, assuming your work has been good. However, full references on resumés are actually clutter. If you are obtaining endorsements or references, it's much better to get them put into a business social networking tool like LinkedIn or xing. You can then reuse them in the future, and they are automatically authenticated. In the resumé itself, you should instead reference the relevant website, and use the space to excite the potential employer with descriptions of what you actually did.  
If you've already done software work well, with peer accolades, that will make companies more comfortable hiring you than an untested person. Most project leads will be happy to provide a reference or endorsement, assuming your work has been good. However, full references on resumés are actually clutter. If you are obtaining endorsements or references, it's much better to get them put into a business social networking tool like [http://linkedin.com LinkedIn] or [http://xing.com Xing]. You can then reuse the references in the future, and potential employers can validate the credibility of your references. In the resumé itself, you should instead reference the relevant website, and use the space to excite the potential employer with descriptions of what you actually did.  


==The Hiring Process==
==The Hiring Process==


The first person who reviews your resumé will be someone in HR (Human Resources). They could be more or less technical, but will typically be less. They are mostly looking for keywords, and they may be searching job boards on those keywords specifically. This is where the list of skills comes in.
After HR has seen your resumé, what happens next depends on the firm. Your CV may be passed to a hiring manager for review. Hopefully, you are dealing with a hiring manager who has expertise relevant to your position. If they do not, they will likely do the same thing as the HR person did, and look for keywords. So the same features of your resumé will appeal to them.  
 
After HR has seen your resumé, what happens next depends on the firm. Your CV may be passed to a hiring manager for review. Hopefully, you are dealing with a hiring manager who is not a PHB. If they are a PHB, they will do the same thing as the HR person did, and look for keywords. So the same features of your resumé will appeal to them.  


Alternatively, the next stop may be with someone from the technical team, or a non-PHB hiring manager. They will dive deeply into your experience. They will care not that you have just used version control, but that it was git, mercurial or subversion. They will also care about what you've done specifically. They'll read the issue tracker when you landed the mission critical patch. They'll go to your website and see the CV online and click all the links, and confirm that you are indeed mentioned in the release notes for the last six releases, as you claimed.
If the hiring manager is technically savvy (or a member of the technical team reviews your resume), they will dive deeply into your experience. They will care not just that you have just used version control, but that it was git, mercurial or subversion. They will also care about what you've done specifically. They'll read entry in the project's issue tracker when you landed the mission critical patch. They'll go to your website and see the CV online and click all the links, and confirm that you are indeed mentioned in the release notes for the last six releases, as you claimed.


If they find you've written the truth and they like what you've written, your name may be put forward for interview. The goal of your resumé is to persuade the company to interview you. Don't put anything on it which doesn't help achieve that.
If they find you've written the truth and they like what you've written, your name may be put forward for interview. The goal of your resumé is to persuade the company to interview you. Don't put anything on it which doesn't help achieve that.
Line 56: Line 59:
==Interviews==
==Interviews==


Your first interview will typically be by phone. You will be asked about everything you list on the CV, so don't over-inflate your experience. Be ready to talk about areas of strength, and why you are passionate about those areas. Passion is important. Companies would rather hire someone who loves testing and breaking things rather than someone who is laid back about it.
Your first interview will typically be by phone. You will be asked about everything you list on the CV, so don't over-inflate your experience. Be ready to talk about areas of strength, and why you are passionate about those areas. Passion is important. Companies would rather hire someone who loves testing and breaking things rather than someone who seems to be just looking for a paycheck.


An interview is just as much about you trying to work out whether this opportunity/job/career path is for you, as it is for them to assess you. So come prepared with questions about the work and the environment so you know if and when you accept, you'll be doing something you are excited about. Useful questions to ask:
An interview is just as much about you trying to work out whether this opportunity/job/career path is for you, as it is for a potential employer to assess you. So come prepared with questions about the work and the environment so you know if and when you accept, you'll be doing something you are excited about. Useful questions to ask:


* What is your company's view on employers contributing to OSS? Is it done on my own time or company time?
* What is your company's view on employers contributing to OSS? Is it done on my own time or company time?  
* Will continuing to contribute to OSS during employment cause a problem?
* Will continuing to contribute to OSS during employment cause a problem?


Line 73: Line 76:
<hr>
<hr>


<small>Document by Gervase Markham, with thanks to Leslie Hawthorn for most of the ideas and and Zak Greant for kicking things off.</small>
<small>Document by Gervase Markham with edits by Zak Greant, with thanks to Leslie Hawthorn for most of the ideas.</small>
461

edits