Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

We are good at specifying a job's educationRequirements but can't say when it doesn't require something - especially a degree #2681

Open
danbri opened this issue Aug 5, 2020 · 14 comments
Assignees
Labels
no-issue-activity Discuss has gone quiet. Auto-tagging to encourage people to re-engage with the issue (or close it!). schema.org vocab General top level tag for issues on the vocabulary

Comments

@danbri
Copy link
Contributor

danbri commented Aug 5, 2020

This is a proposal from Google to improve schemas around JobPosting and Occupation so that we can explicitly indicate when degree-level qualification is not required. We would like to find a quick path to an initial approach, while simultaneously opening conversations around how to best model this (e.g. adding more granularity, country-specific details etc.). We believe that adding this basic expressivity could lead to improved Job search (in Google services and elsewhere) for job seekers with lower levels of education.

Details

With the COVID-19 response in mind, it would be good to find an immediate workaround for this gap in Schema.org:

We have https://schema.org/educationRequirements (on JobPosting and Occupation) which allows Text values, as well as EducationalOccupationalCredential to express what is needed for some job, but not what isn't. For example we allow:

{
  "@context": "http://schema.org/",
  "@type": "Occupation",
  "name": "Research Scientist",
  "qualifications": {
    "@type": "EducationalOccupationalCredential",
    "educationalLevel": "PhD or equivalent"
  }
}

However, if a job does not have such requirements, we can't express that. With millions experiencing unexpected unemployment due to the COVID situation, moving quickly here could have a significant impact.

Designs

Options include -

Use NO_DEGREE_REQUIRED within /educationalLevel

The simplest design is to overload a Text-valued /educationalLevel property with a known string such as NO_DEGREE_REQUIRED. This would not require any schema changes. However, it stretches the meaning of the field, is difficult to document, and works poorly when the rest of the JobPosting is written in a non-English language.

Add a /degreeRequired property with Boolean (i.e. True/False)

A simple boolean property could make this distinction, and potentially be phased out later for a more expressive design.

Add a /qualificationsNotRequired property with an Enumeration that includes (at least) Degree

This is similar but could potentially be extended more easily, e.g. following the same pattern as NonProfitType to support national/regional lists of qualifications.

Discussion

While there is value in moving quickly, if there are related initiatives or standards that address this problem - it would be good to know ASAP.

We should also be careful with wording to avoid confusion on whether jobs that might aspire to degrees but not absolutely require them would be marked up this way.

We should also stress that the open-ended nature of schema.org markup makes it inappropriate to assume negation purely by the absence of positive information. This is less the case in certain more controlled data systems and databases, where the mere absence of information about required qualifications could plausibly imply that those qualifications were not needed. In a Schema.org setting, missing information could just mean that the information was not there, or not published. This is why we may need to be more explicit than in other schema discussions.

We should also note that "degrees" can mean several things, both formally and in terms of social expectations, in different countries. For example https://en.wikipedia.org/wiki/Associate_degree vs https://en.wikipedia.org/wiki/Bachelor%27s_degree vs https://en.wikipedia.org/wiki/Master%27s_degree. Schemas distinguishing these could be developed, but there is probably value in answering the most basic question of "is a degree qualification expected" first.

See also

@danbri danbri added the schema.org vocab General top level tag for issues on the vocabulary label Aug 5, 2020
@danbri danbri self-assigned this Aug 5, 2020
@danbri
Copy link
Contributor Author

danbri commented Aug 5, 2020

I've also followed up in the TalentSignal thread.

@stuartasutton
Copy link

@danbri, not to change the subject but wouldn't it also be likely that no experience is required? Could the property be more open like "notRequired" with or without suggested enumeration?

@danbri
Copy link
Contributor Author

danbri commented Aug 5, 2020

@stuartasutton "no experience required" frames a job as something that might also be seen as "unskilled", or "school leavers". My understanding is that the "no degree required" formulation could encourage applicants to apply for very demanding and challenging roles that could draw on a great diversity of skills, ... just not require a degree.

@jonoalderson
Copy link

A degreeRequired property with a boolean value seems the easiest route, both in terms of definition and implementation. As you say, it could be refactored in the future when there's less urgency.

@windhamdavid
Copy link

NO_DEGREE_REQUIRED would be best suited for EducationalOccupationalCredential/educationalLevel

@philbarker
Copy link
Contributor

How about NO_DEGREE_REQUIRED as a value for the educationRequirements property? That way you're not co-opting educationLevel and don't need to add any new property. A defined term or enumeration might overcome the language issues.

I'm worried that a boolean degreeRequired property hits problems with scaling to the different level of degree (associate, bachelor, master) and other qualifications.

A new property (e.g. qualificationNotRequired) has advantages that it could be defined to clarify some of the question arising such as "is it not required only when you have some alternative experience"

[Aside, it would be good to sort out the distinction between educationRequirements and qualifications properties]

@siuc-nate
Copy link

siuc-nate commented Aug 6, 2020

+1 to Phil's suggestion, with emphasis on using a defined term or enumeration. Some known value for "Not Required" could potentially be used as the value for other properties to explicitly indicate when something isn't required.

Alternatively, would a value like false work? e.g.

{
  "qualifications": {
    "@type": "EducationalOccupationalCredential",
    "educationalLevel": false
  }
}

That may be too vague. I guess it depends partially on whether we're trying to say "No degree required, but something like a high school diploma or equivalent is" vs. saying "No education of any kind is required"

Perhaps some property like qualifications in terms of how it's used and the data it contains, but defined to mean "the things in here are all explicitly not required"? That would open the door to indicating when other kinds of things beyond just degrees aren't required using existing data structures:

{
  "@context": "http://schema.org/",
  "@type": "Occupation",
  "name": "Research Scientist",
  "nonQualifications": {
    "@type": "EducationalOccupationalCredential",
    "educationalLevel": "PhD or equivalent"
  }
}

@LloydFassett
Copy link

The loose use of the word 'not' is going to cause problems. I'd suggest adopting the words "Mandatory" and "Preferred, but not mandatory" as an expression of the entity described however it's implemented.

Over the decades Job Descriptions have used Required and Preferred to as a part of individual bullet points, so I assume something needs to be included in the markup to allow that organic expression that is quite normalized. 'Mandatory' to me is just more clear than 'Required', but they are synonymous

@siuc-nate
Copy link

Maybe a qualification "type" or "level" or some similar notion that could have values like "required" (or mandatory), "recommended" (or preferred), and "not required" to cover the use case for this thread?

{
  "@context": "http://schema.org/",
  "@type": "Occupation",
  "name": "Research Scientist",
  "qualifications": [
    {
      "@type": "EducationalOccupationalCredential",
      "educationalLevel": "PhD or equivalent",
      "qualificationLevel": "Not Required"
    },
    {
      "@type": "EducationalOccupationalCredential",
      "educationalLevel": "High school diploma or equivalent",
      "qualificationLevel": "Required"
    },
    {
      "@type": "EducationalOccupationalCredential",
      "educationalLevel": "Bachelor Degree or equivalent",
      "qualificationLevel": "Preferred"
    }
  ]
}

@github-actions github-actions bot added the no-issue-activity Discuss has gone quiet. Auto-tagging to encourage people to re-engage with the issue (or close it!). label Oct 6, 2020
danbri added a commit that referenced this issue Feb 2, 2021
…r formal qualifications.

(This design is a proposal from Google for review via Pending)

For #2681
@schemaorg schemaorg deleted a comment from github-actions bot Feb 25, 2021
@danbri
Copy link
Contributor Author

danbri commented Feb 25, 2021

FYI see https://schema.org/docs/releases.html#v12.0 release candidate currently out for review includes the commit made here 23 days back, https://webschemas.org/docs/releases.html#g2681

Issue #2681: Added vocabulary around JobPosting and Occupation so that we can explicitly indicate when degree-level qualification is not required. Added a boolean experienceInPlaceOfEducation property for JobPosting. Also added a new OccupationalExperienceRequirements type as an additional possible value for the existing experienceRequirements property. Added a number-valued property monthsOfExperience for use on OccupationalExperienceRequirements.

I believe this approach avoids the logical issues around negation in an RDF-based schema system, and leaves the door open for subsequent improvements.

A comment on the plurality of https://webschemas.org/OccupationalExperienceRequirements btw, it is in the spirit that https://schema.org/keywords is plural. A single instance of that type could touch on several "requirements". By contrast the type https://webschemas.org/EducationalOccupationalCredential has a singular name, reflecting the more discrete and enumerable situations it covers.

@BenRacicot
Copy link

BenRacicot commented Jul 2, 2021

As an aside, I arrived here while trying to understand why there isn't some form of skills prop within experienceRequirements.

We know that experienceInPlaceOfEducation:

Indicates whether a JobPosting will accept experience (as indicated by OccupationalExperienceRequirements) in place of its formal educational qualifications (as indicated by educationRequirements). If true, indicates that satisfying one of these requirements is sufficient.

But is a number of months sufficient for this? I would say absolutely not.
Time, unfortunately, does not correlate to skills and without skills explicitly listed then how could time relate to a matching skillset of general higher education items?

  • high school
  • associate degree
  • bachelor degree
  • professional certificate
  • postgraduate degree

@philbarker
Copy link
Contributor

@BenRacicot is it sufficient to specify skills separately to experienceRequirements rather than as part of them? (because as you say, time does not equate to skills). The skills property lets you do that for JobPosting.

@BenRacicot
Copy link

Yes! certainly, I just expected skills to exist within this defined place for them.
Since experienceRequirements exists at all then it would seem that skills would be part of that the same as generic experience, time or edu would. That's all.

I suppose tools that use this meta would look upwards to the root level skills if experienceInPlaceOfEducation:true?

@philbarker
Copy link
Contributor

@BenRacicot Perhaps it would be worth raising a separate issue concerning what should be properties of OccupationalExperienceRequirements

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no-issue-activity Discuss has gone quiet. Auto-tagging to encourage people to re-engage with the issue (or close it!). schema.org vocab General top level tag for issues on the vocabulary
Projects
None yet
Development

No branches or pull requests

8 participants