hresume-skill-brainstorm

From Microformats Wiki
Jump to navigation Jump to search

This page is for brainstorming about various uses and details of hResume skills property.

Tagspace issue

When you review how skills are authored in resume they are equally expressed either as terms or narrative sentences. The following examples where taken from a small sample [1] of online resumes:

  • Object development
  • CSS
  • C# developer with 5 years team commercial experience
  • Quick to recognize problems and execute solutions
  • English – Very good
  • Speak, read and write English fluently

As Ciaran McNulty mentioned in the hResume Issues page,” in reality authors end up linking to places like Wikipedia”. You are also unlikely to create a tagspace just to support the publishing of your resume. This is true whether you’re adding a resume to a blog or building a large resume hosting service.

On top of which tagspaces do not work well with the narrative style of expressing skills used by some authors. Although rel-tag can create interesting cross linkages it is no use if it cannot be practically used for the majority of use cases when authoring a human readable document.

That said, LinkedIn recently implemented a tag space for skills and as a result will finally be able to implement skills according to the current hResume draft specification.

Two parsers now support the new competencies property microformatshiv and UfXtract. Madgex will be also adding support for this structure in the summer 2011.

The markup is as follows:

<ul class="competencies skill">
    <li class="competency">
        <h3><a class="skill" rel="tag" href="/skills/skill/HTML">HTML</a></h3>
        <span class="proficiency">
            (Expert, 8 years experience)
        </span>
    </li>
    <li class="competency">
        <h3><a class="skill" rel="tag" href="/skills/skill/CSS">CSS</a></h3>
        <span class="proficiency">
            (Advanced, 6 years experience)
        </span>
    </li>
    <li class="competency">
        <h3><a class="skill" rel="tag" href="/skills/skill/JavaScript">JavaScript</a></h3>
        <span class="proficiency">
            (Intermediate, 4 years experience)
        </span>
    </li>
    <li class="competency">
        <h3><a class="skill" rel="tag" href="/skills/skill/XSLT">XSLT</a></h3>
        <span class="proficiency">
            (Beginner, 2 years experience)
        </span>
    </li>    
</ul>

A much easier to implement alternative would be to use a simple text property instead of the rel-tag. This would be a more practical solution, as suggested below:

<p class="skill">Application development</p>

<p class="skill">C# developer with 5 years team commercial experience </p>

Separating language from skills

If you have read many resumes you will appreciate how varied the labeling of skills sections are. There is one common division that I think should be reflected in the schema, the separation of languages from other skills.

From a sample of 10,000 structured resume’s entered into one of our systems (Madgex) 42% entered a skill, 35.2% entered a language skill and 18.9% entered a professional skill. This system is based in Europe and has an international reach. Please remember that structured entry systems can encourage a bias that would not be seen in a sample of freeform resumes. Even the small sample [1] of 10 freeform resumes picked at random had 3 that listed language skills.

We could redesign ‘skills’ into two separate properties; ‘skills’ and’ language’ and use a common compound structure “competency” to describe both or we could use the type pattern to define the type of skill.

Using a competency structure

<p class="competency skill">Application development > </p>

<p class="competency language">French</p>

So the hResume spec would have two properties; ‘ skills’ and ‘language’ which would be of the type competency, just like the contact property in hResume is of the type hCard

Using a type pattern

<p class="skill">
        <span class="summary">Application development</span> 
        <span class="type"> skill</span>
</p>
 
<p class="skill">
        <span class="summary">French</span> - 
        <span class="type"> language</span>
</p>

I think that the type pattern would be very verbose with large lists of skills therefore I would suggest the creation of the competency structure.


Rating skills

Rating skills are very common, it helps to give the reader an understanding of the level of competency claimed by the author. The Microformats community already has a nice rating pattern in hReview that can be applied to a competency structure. It allows a value of (0.0 - 5.0) to be applied to an item.

<p class="competency skill">
        <span class="summary">Application development</span> - 
        <abbr class="rating" title="1">Basic</span>
</p>

<p class="competency language">
        <span class="summary">French</span> - 
        <abbr class="rating" title="5"> Fluent </span>
</p>

I wish I could backup the use of ratings with a good set of stats. Our structured resumes place an optional rating next to each skill entered. The UI of these systems encourages users to rate their skills and gives a bias to any results. Consequently, 97.7% of skills in our sample 10,000 structured resumes are rated by authors. I did look at using a Natural Language Parser to exact some stats from a collection of freeform resumes, but the error rate on parsing skills ratings is high and would not give a true result. Therefore the only reliable stats I have are that 2 out of my 10 randomly picked online resumes used ratings.


Durations

It is common to express skills in terms of years/months of experience. This can be industry specific and is most often found in IT. It would be relatively simple to add an ISO Duration to the competency structure. We already use this data format in hCalendar.

<!-- using HTML5 time element -->
<p class="competency skill">
        <span class="summary">Application development</span> - 
        <time class="duration" datetime="P1096D">3 Years</time>
</p>

<!-- using obsolete old-style abbr machine data -->
<p class="competency skill">
        <span class="summary">Application development</span> - 
        <abbr class="duration" title="P3Y">3 Years </span>
</p>

(Note: per the abbr-design-pattern updates, the HTML5 <time> element method of marking up durations is preferred, since "P3Y" is not really an easily human readable/listenable expansion. - Tantek )

Again, I am unable to back this up with a good set of stats. Duration is less commonly used than rating, but is still important in certain industry sectors.

I would like to purpose a new competency structure to replace the current ‘skills’ property in hResume. We add two separate properties skills and language that use a common structure “competency”

  • competency
    • Summary (text)
    • Rating (0.0 to 5.0)
    • Duration (ISO Duration)

Examples:

<p class="competency skill">
        <span class="summary">Application development</span> - 
        <abbr class="rating" title="3"> Intimidate </span>
</p>

<p class="competency skill">
        <span class="summary">Application development</span> - 
        <time class="duration" datetime="P1096Y">3 Years </span>
</p>

<p class="competency language">
        <span class="summary">French</span> - 
        <abbr class="rating" title="5"> Fluent </span>
</p>

Implied competency optimization

It would be worth considering a new implied optimization rule for competency similar to the one used on the org property in hCard. Where an author only wants to use a value without rating or duration the summary property can be omitted and the value placed directly in the parent element, i.e. both structures below would be valid.

<p class="competency language">
        <span class="summary">French</span> - 
</p>

<p class="competency language">French</p>

Implementations

  • Madgex supports parsing "competency"
  • the ufxtract parser supports "competency"

[1] Examples

Due to data protection issues you cannot always publish example resumes. Therefore below is list of random online resumes as a point of reference. These can be referenced on a public forum.

These resume have all been written freeform, come from different industries and represent individuals from different nationalities.

Related Pages

Research

Previously

hResume is the classic microformats predecessor for h-resume. Work on hResume is documented at the following for historical purposes. Much of the general discussion and research likely still applies.

The hResume specification is a work in progress. As additional aspects are discussed, understood, and written, they will be added. These thoughts, issues, and questions are kept in separate pages.