├── LICENSE.md ├── README.md ├── bower.json ├── package.json └── schema └── fresh-resume-schema_1.0.0-beta.json /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License 2 | =============== 3 | 4 | Copyright (c) 2016-18 FRESH Standard (https://freshstandard.org) 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | The FRESH Resume Schema 2 | ====== 3 | *A rational schema for your résumé or CV. Based on [FRESH][f].* 4 | 5 | The [FRESH résumé schema][fresh] is an open source, standards-friendly, 6 | JSON/YAML-driven format for résumé / CVs and other employment artifacts. 7 | 8 | - [**View the official FRESH schema document.**][schema] 9 | - [**View a sample FRESH resume.**][exemplar] 10 | 11 | FRESH is supported natively by [HackMyResume][hmr] and can be trivially 12 | converted to and from the [JSON Resume][jrs] format. 13 | 14 | ## What It Does 15 | 16 | FRESCA establishes an optimized, human-readable, computer-friendly 17 | representation for your résumé and career data based on JSON or equivalent 18 | YAML... 19 | 20 | ```js 21 | // Pared-down FRESH/FRESCA resume representation (JSON) 22 | { 23 | "name": "Jane Doe", 24 | "info": { /* Basic info */ }, 25 | "contact": { /* Contact information */ }, 26 | "location": { /* Location / address */ }, 27 | "meta": { /* Resume metadata */ }, 28 | "employment": { /* Employment history */ }, 29 | "projects": [ /* Project history */ ], 30 | "skills": [ /* Skills and technologies */ ], 31 | "education": { /* Schools, training, certifications */ }, 32 | "affiliation": { /* Clubs, groups, and associations */ }, 33 | "service": { /* Volunteer, military, civilian service */ }, 34 | "disposition": { /* Disposition towards work, relocation, schedule */ }, 35 | "writing": [ /* Writing, blogging, and publications */ ], 36 | "reading": [ /* Books and publication a la StackOverflow Careers */ ], 37 | "speaking": [ /* Writing, blogging, and publications */ ], 38 | "governance": [ /* Board memberships, committees, standards groups */ ], 39 | "recognition": [ /* Awards and commendations */ ], 40 | "samples": [ /* Work samples and portfolio pieces */ ], 41 | "social": [ /* Social networking & engagement */ ], 42 | "references": [ /* Candidate references */ ], 43 | "testimonials": [ /* Public candidate testimonials */ ], 44 | "extracurricular": [ /* Interests & hobbies */ ], 45 | "interests": [ /* Interests & hobbies */ ], 46 | "languages": [ /* languages spoken */ ] 47 | } 48 | ``` 49 | 50 | ...which you can use to generate resumes and other career artifacts in specific 51 | concrete formats (HTML, LaTeX, Markdown, PDF, etc.) as well as enable 52 | 21st-century analysis of your resume and career data in a way that's not 53 | possible with traditional, 20th-century resume tools and formats. 54 | 55 | ## Anatomy of a FRESH Resume 56 | 57 | FRESH resumes are: 58 | 59 | - Text-based. 60 | - Versionable. 61 | - Standards-compliant. 62 | - Human-readable/editable. 63 | - Computer-friendly / easily parsable by tools. 64 | - Built from JSON or equivalent YAML. 65 | - Used to generate specific formats like HTML, PDF, or LaTeX. 66 | - Free from proprietary structures or site- and/or tool-specific lock-in. 67 | 68 | ## License 69 | 70 | The FRESH resume schema is licensed under MIT. Go crazy. 71 | 72 | [f]: https://freshstandard.org 73 | [hmr]: https://fluentdesk.com/hackmyresume 74 | [fresh]: https://resume.freshstandard.org 75 | [schema]: schema/fresh-resume-schema.json 76 | [cli]: https://www.npmjs.com/package/fluentcv 77 | [fluentcv]: https://fluentdesk.com/fluentcv 78 | [jrs]: http://jsonresume.org 79 | [exemplar]: https://github.com/fluentdesk/jane-q-fullstacker/blob/master/resume/jane-resume.json 80 | [npm]: https://www.npmjs.com/package/fluentcv 81 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fresh-resume-schema", 3 | "version": "1.0.0-beta", 4 | "homepage": "https://github.com/fresh-standard/fresh-resume-schema", 5 | "authors": [ 6 | "hacksalot " 7 | ], 8 | "description": "The FRESH schema for resumes and CVs.", 9 | "main": "schema/fresh-resume-schema_1.0.0-beta.json", 10 | "keywords": [ 11 | "resume", 12 | "résumé", 13 | "CV", 14 | "FRESCA", 15 | "FRESH", 16 | "HackMyResume", 17 | "FluentCV", 18 | "schema", 19 | "JSON", 20 | "employment" 21 | ], 22 | "license": "MIT", 23 | "ignore": [ 24 | "**/.*", 25 | "node_modules", 26 | "bower_components", 27 | "test", 28 | "tests" 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fresh-resume-schema", 3 | "version": "1.0.0-beta", 4 | "description": "The FRESH schema for resumes and CVs.", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/fresh-standard/fresh-resume-schema.git" 8 | }, 9 | "keywords": [ 10 | "resume", 11 | "résumé", 12 | "CV", 13 | "FRESCA", 14 | "FRESH", 15 | "HackMyResume", 16 | "FluentCV", 17 | "schema", 18 | "JSON", 19 | "employment" 20 | ], 21 | "author": "hacksalot (https://indevious.com)", 22 | "license": "MIT", 23 | "bugs": { 24 | "url": "https://github.com/fresh-standard/fresh-resume-schema/issues" 25 | }, 26 | "main": "schema/fresh-resume-schema_1.0.0-beta.json", 27 | "homepage": "https://resume.freshstandard.org", 28 | "ignore": [ 29 | "**/.*", 30 | "node_modules", 31 | "bower_components", 32 | "test", 33 | "tests" 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /schema/fresh-resume-schema_1.0.0-beta.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "FRESH Resume Schema", 4 | "type": "object", 5 | "additionalProperties": true, 6 | "properties": { 7 | 8 | 9 | 10 | "name": { 11 | "type": "string", 12 | "description": "The candidate's name as it should appear on the resume.", 13 | "required": true 14 | }, 15 | 16 | 17 | 18 | "meta": { 19 | "type": "object", 20 | "additionalProperties": true, 21 | "required": true, 22 | "description": "The 'meta' section contains metadata information for the resume, including the resume version, schema, and any other fields required by tools.", 23 | "properties": { 24 | "format": { 25 | "type": "string", 26 | "description": "The canonical resume format and version. Should be 'FRESH@0.1.0'.", 27 | "required": true 28 | }, 29 | "version": { 30 | "type": "string", 31 | "description": "The semantic version number for this resume." 32 | } 33 | } 34 | }, 35 | 36 | 37 | 38 | "info": { 39 | "type": "object", 40 | "additionalProperties": true, 41 | "description": "The 'info' section contains basic summary information for the candidate, including an optional label or job title, candidate photo, summary, and quote.", 42 | "properties": { 43 | "label": { 44 | "type": "string", 45 | "description": "A label for this resume, such as 'Full-Stack Developer'." 46 | }, 47 | "class": { 48 | "type": "string", 49 | "description": "Profession type or 'character class'." 50 | }, 51 | "image": { 52 | "type": "string", 53 | "description": "URL or path to your picture in JPEG, PNG, GIF, or BMP format." 54 | }, 55 | "brief": { 56 | "type": "string", 57 | "description": "A short description or summary of yourself as a candidate." 58 | }, 59 | "quote": { 60 | "type": "string", 61 | "description": "Candidate quote or byline." 62 | } 63 | } 64 | }, 65 | 66 | 67 | 68 | "disposition": { 69 | "type": "object", 70 | "additionalProperties": true, 71 | "description": "The disposition section describes the candidate's overall attitude towards new employment opportunities including: travel, relocation, schedule, desired type of work, and the like.", 72 | "properties": { 73 | 74 | "travel": { 75 | "type": "integer", 76 | "description": "Percentage of time willing to travel (0 to 100)." 77 | }, 78 | 79 | "authorization": { 80 | "type": "string", 81 | "description": "Work authorization: citizen, work visa, etc." 82 | }, 83 | 84 | "commitment": { 85 | "type": "array", 86 | "additionalItems": false, 87 | "description": "Types of work commitment desired: contract, perm, seasonal, etc.", 88 | "items": { 89 | "type": "string", 90 | "description": "One of: contract, permanent, part-time, seasonal, full-time." 91 | } 92 | }, 93 | 94 | "remote": { 95 | "type": "boolean", 96 | "description": "Open to remote employment opportunities." 97 | }, 98 | 99 | "relocation": { 100 | "type": "object", 101 | "additionalProperties": true, 102 | "properties": { 103 | 104 | "willing": { 105 | "type": ["string","boolean"], 106 | "description": "Willingness to relocate." 107 | }, 108 | 109 | "destinations": { 110 | "type": "array", 111 | "description": "Preferred destinations for relocation", 112 | "additionalItems": false, 113 | "items": { 114 | "type": "string", 115 | "description": "City or area of relocation." 116 | } 117 | } 118 | } 119 | } 120 | } 121 | }, 122 | 123 | 124 | 125 | "contact": { 126 | "type": "object", 127 | "additionalProperties": true, 128 | "description": "The 'contact' section contains the candidate's contact information, including phone numbers, emails, websites, IMs, and custom contact types.", 129 | "properties": { 130 | 131 | "email": { 132 | "type": "string", 133 | "description": "Primary contact email.", 134 | "format": "email" 135 | }, 136 | 137 | "phone": { 138 | "type": "string", 139 | "description": "Primary phone number." 140 | }, 141 | 142 | "website": { 143 | "type": "string", 144 | "description": "Website, blog, or home page.", 145 | "format": "uri" 146 | }, 147 | 148 | "other": { 149 | "type": "array", 150 | "additionalItems": false, 151 | "items": { 152 | "type": "object", 153 | "additionalProperties": true, 154 | "properties": { 155 | 156 | "label": { 157 | "type": "string", 158 | "description": "A label for this contact information." 159 | }, 160 | 161 | "category": { 162 | "type": "string", 163 | "description": "Type of contact information: email, phone, url, postal, or IM." 164 | }, 165 | 166 | "value": { 167 | "type": "string", 168 | "description": "Phone number, email address, website, etc." 169 | } 170 | } 171 | } 172 | } 173 | } 174 | }, 175 | 176 | 177 | 178 | "location": { 179 | "type": "object", 180 | "description": "The 'location' section, when present, contains the candidate's location and address info.", 181 | "additionalProperties": true, 182 | "properties": { 183 | 184 | "address": { 185 | "type": "string", 186 | "description": "Your full postal address." 187 | }, 188 | 189 | "code": { 190 | "type": "string", 191 | "description": "Postal or other official routing code." 192 | }, 193 | 194 | "city": { 195 | "type": "string", 196 | "description": "Your home city." 197 | }, 198 | 199 | "country": { 200 | "type": "string", 201 | "description": "Two-digit country code (US, AU, UK, IN, etc.)." 202 | }, 203 | 204 | "region": { 205 | "type": "string", 206 | "description": "Your state, region, or province." 207 | } 208 | } 209 | }, 210 | 211 | 212 | 213 | "employment": { 214 | "type": "object", 215 | "description": "The 'employment' section describes the candidate's formal employment history.", 216 | "additionalProperties": true, 217 | "properties": { 218 | 219 | "summary": { 220 | "type": "string", 221 | "description:": "Summary of overall employment." 222 | }, 223 | 224 | "history": { 225 | "type": "array", 226 | "additionalItems": false, 227 | "items": { 228 | "type": "object", 229 | "additionalProperties": true, 230 | "properties": { 231 | 232 | "employer": { 233 | "type": "string", 234 | "description": "Employer name.", 235 | "required": true 236 | }, 237 | 238 | "position": { 239 | "type": "string", 240 | "description": "Your position or formal job title." 241 | }, 242 | 243 | "url": { 244 | "type": "string", 245 | "description": "Employer website.", 246 | "format": "uri" 247 | }, 248 | 249 | "start": { 250 | "type": "string", 251 | "description": "Date you began work, in YYYY, YYYY-MM, or YYYY-MM-DD format.", 252 | "format": "date" 253 | }, 254 | 255 | "end": { 256 | "type": "string", 257 | "description": "Date you finished work, in YYYY, YYYY-MM, or YYYY-MM-DD format.", 258 | "format": "date" 259 | }, 260 | 261 | "summary": { 262 | "type": "string", 263 | "description": "A summary of your achievements and responsibilities under this employer." 264 | }, 265 | 266 | "highlights": { 267 | "type": "array", 268 | "description": "Noteworthy achievements and/or highlights.", 269 | "additionalItems": false, 270 | "items": { 271 | "type": "string", 272 | "description": "For ex, 'Led 5-person development team, increasing profits by 50% year-over-year'." 273 | } 274 | }, 275 | 276 | "location": { 277 | "type": "string", 278 | "description": "Freeform location of the job or position, e.g., 'San Francisco, CA' or 'Tokyo'." 279 | }, 280 | 281 | "keywords": { 282 | "type": "array", 283 | "description": "Keywords associated with this position.", 284 | "additionalItems": false, 285 | "items": { 286 | "type": "string", 287 | "description": "For example, C++, HTML, HIPAA, etc." 288 | } 289 | } 290 | } 291 | } 292 | } 293 | } 294 | }, 295 | 296 | 297 | 298 | "projects": { 299 | "type": "array", 300 | "additionalItems": false, 301 | "description": "The 'projects' section describes the candidate's project history -- not the jobs the candidate has worked but the specific projects and enterprises the candidate has created or been involved in, whether paid or unpaid.", 302 | "items": { 303 | "type": "object", 304 | "additionalProperties": true, 305 | "properties": { 306 | 307 | "title": { 308 | "type": "string", 309 | "description": "Project name or code-name.", 310 | "required": true 311 | }, 312 | 313 | "category": { 314 | "type": "string", 315 | "description": "Project type: open-source, private, side project, etc." 316 | }, 317 | 318 | "description": { 319 | "type": "string", 320 | "description": "Project description or summary." 321 | }, 322 | 323 | "summary": { 324 | "type": "string", 325 | "description": "A summary of your achievements and responsibilities on the project." 326 | }, 327 | 328 | "role": { 329 | "type": "string", 330 | "description": "Your role on the project: Contributor, Creator, etc." 331 | }, 332 | 333 | "url": { 334 | "type": "string", 335 | "description": "Project URL.", 336 | "format": "uri" 337 | }, 338 | 339 | "media": { 340 | "type": "array", 341 | "additionalItems": false, 342 | "description": "Media associated with this project.", 343 | "items": { 344 | "type": "object", 345 | "additionalProperties": true, 346 | "properties": { 347 | "category": { 348 | "type": "string", 349 | "description": "Media category: image, thumbnail, screenshot, MP3, download, etc.", 350 | "required": true 351 | }, 352 | "name": { 353 | "type": "string", 354 | "description": "Friendly media name." 355 | }, 356 | "url": { 357 | "type": "string", 358 | "description": "Media link, path, or location." 359 | } 360 | } 361 | } 362 | }, 363 | 364 | "repo": { 365 | "type": "string", 366 | "description": "Repo URL.", 367 | "format": "uri" 368 | }, 369 | 370 | "start": { 371 | "type": "string", 372 | "description": "Date your involvement with project began, in YYYY, YYYY-MM, or YYYY-MM-DD format.", 373 | "format": "date" 374 | }, 375 | 376 | "end": { 377 | "type": "string", 378 | "description": "Date your involvement with project ended, in YYYY, YYYY-MM, or YYYY-MM-DD format.", 379 | "format": "date" 380 | }, 381 | 382 | "highlights": { 383 | "type": "array", 384 | "description": "Noteworthy project-related achievements and/or highlights.", 385 | "additionalItems": false, 386 | "items": { 387 | "type": "string", 388 | "description": "For ex, 'Led 5-person development team, increasing profits by 50% year-over-year'." 389 | } 390 | }, 391 | 392 | "location": { 393 | "type": "string", 394 | "description": "Freeform location of the job or position, e.g., 'San Francisco, CA' or 'Tokyo'." 395 | }, 396 | 397 | "keywords": { 398 | "type": "array", 399 | "description": "Keywords associated with this project.", 400 | "additionalItems": false, 401 | "items": { 402 | "type": "string", 403 | "description": "For example, C++, HTML, HIPAA, etc." 404 | } 405 | } 406 | } 407 | } 408 | }, 409 | 410 | 411 | 412 | "skills": { 413 | "type": "object", 414 | "description": "A description of the candidate's formal skills and capabilities.", 415 | "additionalProperties": true, 416 | "properties": { 417 | 418 | "sets": { 419 | "type": "array", 420 | "additionalItems": false, 421 | "optional": true, 422 | "items": { 423 | "type": "object", 424 | "additionalProperties": true, 425 | "properties": { 426 | 427 | "name": { 428 | "type": "string", 429 | "description": "Name of the skillset: 'Programming' or 'Project Management' etc.", 430 | "required": true 431 | }, 432 | 433 | "level": { 434 | "type": "string", 435 | "description": "Level of mastery of the skill." 436 | }, 437 | 438 | "skills": { 439 | "type": "array", 440 | "additionalItems": false, 441 | "required": true, 442 | "items": { 443 | "type": "string", 444 | "description": "Title or ID of a skill from the skills list." 445 | } 446 | } 447 | } 448 | } 449 | }, 450 | 451 | "list": { 452 | "type": "array", 453 | "additionalItems": false, 454 | 455 | "items": { 456 | "type": "object", 457 | "additionalProperties": true, 458 | "properties": { 459 | 460 | "name": { 461 | "type": "string", 462 | "description": "The name or title of the skill.", 463 | "required": true 464 | }, 465 | 466 | "level": { 467 | "type": "string", 468 | "description": "A freeform description of your level of mastery with the skill." 469 | }, 470 | 471 | "summary": { 472 | "type": "string", 473 | "description": "A short summary of your experience with this skill." 474 | }, 475 | 476 | "years": { 477 | "type": ["string", "number"], 478 | "description": "Number of years you've used the skill." 479 | } 480 | } 481 | } 482 | } 483 | 484 | } 485 | }, 486 | 487 | 488 | 489 | "service": { 490 | "type": "object", 491 | "description": "The 'service' section describes the candidate's overall service history in the true sense of the word 'service': volunteer work, military participation, civilian core, rescue and emergency services, and the like.", 492 | "additionalProperties": true, 493 | "properties": { 494 | 495 | "summary": { 496 | "type": "string", 497 | "description": "Summary of overall service/volunteer experience." 498 | }, 499 | 500 | "history": { 501 | "type": "array", 502 | "additionalItems": false, 503 | "items": { 504 | "type": "object", 505 | "additionalProperties": true, 506 | "properties": { 507 | 508 | "category": { 509 | "type": "string", 510 | "description": "The type of service work, such as volunteer or military." 511 | }, 512 | 513 | "organization": { 514 | "type": "string", 515 | "description": "The service organization, such as Red Cross or National Guard.", 516 | "required": true 517 | }, 518 | 519 | "position": { 520 | "type": "string", 521 | "description": "Your position or formal service role." 522 | }, 523 | 524 | "url": { 525 | "type": "string", 526 | "description": "Organization website.", 527 | "format": "uri" 528 | }, 529 | 530 | "start": { 531 | "type": "string", 532 | "description": "Date you joined the organization, in YYYY, YYYY-MM, or YYYY-MM-DD format.", 533 | "format": "date" 534 | }, 535 | 536 | "end": { 537 | "type": "string", 538 | "description": "Date you left the organization, in YYYY, YYYY-MM, or YYYY-MM-DD format.", 539 | "format": "date" 540 | }, 541 | 542 | "summary": { 543 | "type": "string", 544 | "description": "A summary of your achievements and responsibilities at this organization." 545 | }, 546 | 547 | "highlights": { 548 | "type": "array", 549 | "description": "Noteworthy achievements and/or highlights.", 550 | "additionalItems": false, 551 | "items": { 552 | "type": "string", 553 | "description": "For ex, 'Served on board of directors of national non-profit organization with 20,000 members.'." 554 | } 555 | }, 556 | 557 | "keywords": { 558 | "type": "array", 559 | "description": "Keywords associated with this service.", 560 | "additionalItems": false, 561 | "items": { 562 | "type": "string", 563 | "description": "For example, C++, HTML, HIPAA, etc." 564 | } 565 | }, 566 | 567 | "location": { 568 | "type": "string", 569 | "description": "Freeform location of the position, e.g., 'San Francisco, CA' or 'Tokyo'." 570 | } 571 | } 572 | } 573 | } 574 | } 575 | }, 576 | 577 | 578 | 579 | "education": { 580 | "type": "object", 581 | "additionalProperties": true, 582 | "description": "The 'employment' section describes the candidate's formal education, including college and university, continuing education, and standalone programs and courses.", 583 | "properties": { 584 | 585 | "summary": { 586 | "type": "string", 587 | "description:": "Summary of overall education." 588 | }, 589 | 590 | "level": { 591 | "type": "string", 592 | "description": "Highest level of education obtained (none, diploma, some-college, degree).", 593 | "required": true 594 | }, 595 | 596 | "degree": { 597 | "type": "string", 598 | "description": "Your degree, if any (BSCS, BA, etc.)." 599 | }, 600 | 601 | "history": { 602 | "type": "array", 603 | "additionalItems": false, 604 | "items": { 605 | "type": "object", 606 | "additionalProperties": true, 607 | "properties": { 608 | 609 | "title": { 610 | "type": "string", 611 | "description": "A freeform title for this education stint. Typically, this should be the short name of your degree, certification, or training." 612 | }, 613 | 614 | "institution": { 615 | "type": "string", 616 | "description": "College or school name.", 617 | "required": true 618 | }, 619 | 620 | "area": { 621 | "type": "string", 622 | "description": "e.g. Arts" 623 | }, 624 | 625 | "studyType": { 626 | "type": "string", 627 | "description": "e.g. Bachelor" 628 | }, 629 | 630 | "start": { 631 | "type": "string", 632 | "description": "Date this schooling began, in YYYY, YYYY-MM, or YYYY-MM-DD format.", 633 | "format": "date" 634 | }, 635 | 636 | "end": { 637 | "type": "string", 638 | "description": "Date this schooling ended, in YYYY, YYYY-MM, or YYYY-MM-DD format.", 639 | "format": "date" 640 | }, 641 | 642 | "grade": { 643 | "type": "string", 644 | "description": "Grade or GPA." 645 | }, 646 | 647 | "curriculum": { 648 | "type": "array", 649 | "description": "Notable courses, subjects, and educational experiences.", 650 | "additionalItems": false, 651 | "items": { 652 | "type": "string", 653 | "description": "The course name and number or other identifying info." 654 | } 655 | }, 656 | 657 | "url": { 658 | "type": "string", 659 | "description": "Website or URL of the institution or school.", 660 | "format": "uri" 661 | }, 662 | 663 | "summary": { 664 | "type": "string", 665 | "description": "A short summary of this education experience." 666 | }, 667 | 668 | "keywords": { 669 | "type": "array", 670 | "description": "Keywords associated with this education stint.", 671 | "additionalItems": false, 672 | "items": { 673 | "type": "string", 674 | "description": "For example, C++, HTML, HIPAA, etc." 675 | } 676 | }, 677 | 678 | "highlights": { 679 | "type": "array", 680 | "description": "Noteworthy achievements and/or highlights.", 681 | "additionalItems": false, 682 | "items": { 683 | "type": "string", 684 | "description": "For ex, 'Graduated *summa cum laude*'." 685 | } 686 | }, 687 | 688 | "location": { 689 | "type": "string", 690 | "description": "Freeform location of the education, e.g., 'San Francisco, CA' or 'Tokyo'." 691 | } 692 | } 693 | } 694 | } 695 | } 696 | }, 697 | 698 | 699 | 700 | "social": { 701 | "type": "array", 702 | "description": "The 'social' section describes the candidate's participation in internet and social networking services and communities including GitHub, FaceBook, and the like.", 703 | "additionalItems": false, 704 | "items": { 705 | "type": "object", 706 | "additionalProperties": true, 707 | "properties": { 708 | 709 | "network": { 710 | "type": "string", 711 | "description": "The name of the social network, such as Facebook or GitHub.", 712 | "required": true 713 | }, 714 | 715 | "user": { 716 | "type": "string", 717 | "description": "Your username or handle on the social network.", 718 | "required": true 719 | }, 720 | 721 | "url": { 722 | "type": "string", 723 | "description": "URL of your profile page on this network.", 724 | "format": "uri", 725 | "required": true 726 | }, 727 | 728 | "label": { 729 | "type": "string", 730 | "description": "A friendly label." 731 | } 732 | } 733 | } 734 | }, 735 | 736 | 737 | 738 | "recognition": { 739 | "type": "array", 740 | "description": "The 'recognition' section describes the candidate's public or professional plaudits, kudos, awards, and other forms of positive external reinforcement.", 741 | "additionalItems": false, 742 | "items": { 743 | "type": "object", 744 | "additionalProperties": true, 745 | "properties": { 746 | 747 | "category": { 748 | "type": "string", 749 | "description": "Type of recognition: award, honor, prize, etc." 750 | }, 751 | 752 | "title": { 753 | "type": "string", 754 | "description": "Title of the award or recognition.", 755 | "required": true 756 | }, 757 | 758 | "date": { 759 | "type": "string", 760 | "description": "Date awarded, in YYYY, YYYY-MM, or YYYY-MM-DD format.", 761 | "format": "date" 762 | }, 763 | 764 | "from": { 765 | "type": "string", 766 | "description": "Name of the awarding company, insitution, or individual." 767 | }, 768 | 769 | "summary": { 770 | "type": "string", 771 | "description": "A brief description of the award and why you received it." 772 | }, 773 | 774 | "url": { 775 | "type": "string", 776 | "description": "A webpage or other associated URL.", 777 | "format": "uri" 778 | } 779 | } 780 | } 781 | }, 782 | 783 | 784 | 785 | "writing": { 786 | "type": "array", 787 | "description": "The 'writing' section describes the candidate's writing and publication history, from blogs and essays to novels and dissertations.", 788 | "additionalItems": false, 789 | "items": { 790 | "type": "object", 791 | "additionalProperties": true, 792 | "properties": { 793 | 794 | "title": { 795 | "type": "string", 796 | "description": "Title of the article, essay, or book.", 797 | "required": true 798 | }, 799 | 800 | "category": { 801 | "type": "string", 802 | "description": "One of 'book', 'article', 'essay', 'blog post', or 'series'." 803 | }, 804 | 805 | "publisher": { 806 | "type": ["object","string"], 807 | "description": "Publisher of the article, essay, or book.", 808 | "optional": true, 809 | "additionalProperties": true, 810 | "properties": { 811 | 812 | "name": { 813 | "type": "string", 814 | "description": "Publisher of the article, essay, or book." 815 | }, 816 | 817 | "url": { 818 | "type": "string", 819 | "description": "Publisher website or URL." 820 | } 821 | } 822 | }, 823 | 824 | "date": { 825 | "type": "string", 826 | "format": "date", 827 | "description": "Publication date in YYYY, YYYY-MM, or YYYY-MM-DD format." 828 | }, 829 | 830 | "url": { 831 | "type": "string", 832 | "description": "Website or URL of this writing or publication." 833 | }, 834 | 835 | "summary": { 836 | "type": "string", 837 | "description": "A brief summary of the publication." 838 | } 839 | } 840 | } 841 | }, 842 | 843 | 844 | 845 | "reading": { 846 | "type": "array", 847 | "description": "The 'reading' section describes the candidate's reading habits and is intended to demonstrate familiarity with industry-relevant publications, blogs, books, or other media that a competent industry candidate should be expected to know.", 848 | "additionalItems": false, 849 | "items": { 850 | "type": "object", 851 | "additionalProperties": true, 852 | "properties": { 853 | 854 | "title": { 855 | "type": "string", 856 | "description": "Title of the book, blog, or article.", 857 | "required": true 858 | }, 859 | 860 | "category": { 861 | "type": "string", 862 | "description": "The type of reading: book, article, blog, magazine, series, etc." 863 | }, 864 | 865 | "url": { 866 | "type": "string", 867 | "description": "URL of the book, blog, or article.", 868 | "format": "uri" 869 | }, 870 | 871 | "author": { 872 | "type": ["string","array"], 873 | "additionalItems": false, 874 | "description": "Author of the book, blog, or article.", 875 | "items": { 876 | "type": "string", 877 | "description": "Author name." 878 | } 879 | }, 880 | 881 | "date": { 882 | "type": "string", 883 | "format": "date", 884 | "description": "Publication date in YYYY, YYYY-MM, or YYYY-MM-DD format." 885 | }, 886 | 887 | "summary": { 888 | "type": "string", 889 | "description": "A brief description of the book, magazine, etc." 890 | } 891 | 892 | } 893 | } 894 | }, 895 | 896 | 897 | 898 | "speaking": { 899 | "type": "array", 900 | "additionalItems": false, 901 | "section": "The 'speaking' section describes the candidate's speaking engagements and presentations.", 902 | "items": { 903 | "type": "object", 904 | "additionalProperties": true, 905 | "properties": { 906 | "title": { 907 | "type": "string", 908 | "description": "Speaking engagement title." 909 | }, 910 | "event": { 911 | "type": "string", 912 | "description": "Event at which you presented.", 913 | "required": true 914 | }, 915 | "location": { 916 | "type": "string", 917 | "description": "Freeform location of the event, e.g., 'San Francisco, CA' or 'Tokyo'." 918 | }, 919 | "date": { 920 | "type": "string", 921 | "description": "Presentation date.", 922 | "format": "date" 923 | }, 924 | "highlights": { 925 | "type": "array", 926 | "description": "Noteworthy achievements and/or highlights.", 927 | "additionalItems": false, 928 | "items": { 929 | "type": "string", 930 | "description": "An array of specific highlights such as 'Won 'Best Speaker' award at 2012 E3 expo'." 931 | } 932 | }, 933 | "keywords": { 934 | "type": "array", 935 | "description": "Keywords associated with this speaking engagement.", 936 | "additionalItems": false, 937 | "items": { 938 | "type": "string", 939 | "description": "A list of keywords such as 'TED', 'E3', 'mathematics', 'Big Data', etc." 940 | } 941 | }, 942 | "summary": { 943 | "type": "string", 944 | "description": "A description of this speaking engagement." 945 | } 946 | } 947 | } 948 | }, 949 | 950 | 951 | 952 | "governance": { 953 | "type": "array", 954 | "additionalItems": false, 955 | "description": "The 'governance' section describes the candidate's leadership, standards, board, and committee roles.", 956 | "items": { 957 | "type": "object", 958 | "additionalProperties": true, 959 | "properties": { 960 | 961 | "summary": { 962 | "type": "string", 963 | "description": "Summary of your governance at this organization." 964 | }, 965 | 966 | "category": { 967 | "type": "string", 968 | "description": "Type of governance: committee, board, standards group, etc." 969 | }, 970 | 971 | "role": { 972 | "type": "string", 973 | "description": "Governance role: board member, contributor, director, etc." 974 | }, 975 | 976 | "organization": { 977 | "type": "string", 978 | "description": "The organization.", 979 | "required": true 980 | }, 981 | 982 | "start": { 983 | "type": "string", 984 | "description": "Start date.", 985 | "format": "date" 986 | }, 987 | 988 | "end": { 989 | "type": "string", 990 | "description": "End date.", 991 | "format": "date" 992 | }, 993 | 994 | "keywords": { 995 | "type": "array", 996 | "description": "Keywords associated with this governance stint.", 997 | "additionalItems": false, 998 | "items": { 999 | "type": "string", 1000 | "description": "For example, C++, CRM, HIPAA." 1001 | } 1002 | }, 1003 | 1004 | "highlights": { 1005 | "type": "array", 1006 | "description": "Noteworthy achievements and/or highlights.", 1007 | "additionalItems": false, 1008 | "items": { 1009 | "type": "string", 1010 | "description": "For ex, 'Increased company profits by 35% year over year'." 1011 | } 1012 | } 1013 | 1014 | } 1015 | } 1016 | }, 1017 | 1018 | 1019 | 1020 | "languages": { 1021 | "type": "array", 1022 | "description": "The 'languages' section describes the candidate's knowledge of world languages such as English, Spanish, or Chinese.", 1023 | "additionalItems": false, 1024 | "items": { 1025 | "type": "object", 1026 | "additionalProperties": true, 1027 | "properties": { 1028 | 1029 | "language": { 1030 | "type": "string", 1031 | "description": "The name of the language: English, Spanish, etc.", 1032 | "required": true 1033 | }, 1034 | 1035 | "level": { 1036 | "type": "string", 1037 | "description": "Level of fluency with the language, from 1 to 10." 1038 | }, 1039 | 1040 | "years": { 1041 | "type": ["string","number"], 1042 | "description": "Amount of time language spoken?" 1043 | } 1044 | } 1045 | } 1046 | }, 1047 | 1048 | 1049 | 1050 | "samples": { 1051 | "type": "array", 1052 | "description": "The 'samples' section provides an accessible demonstration of the candidate's portfolio or work product to potential employers and co-workers.", 1053 | "additionalItems": false, 1054 | "items": { 1055 | "type": "object", 1056 | "additionalProperties": true, 1057 | "properties": { 1058 | 1059 | "title": { 1060 | "type": "string", 1061 | "description": "Title or descriptive name.", 1062 | "required": true 1063 | }, 1064 | 1065 | "summary": { 1066 | "type": "string", 1067 | "description": "A brief description of the sample." 1068 | }, 1069 | 1070 | "url": { 1071 | "type": "string", 1072 | "description": "URL of the sample (if any).", 1073 | "format": "uri" 1074 | }, 1075 | 1076 | "date": { 1077 | "type": "string", 1078 | "description": "Date the sample was released in YYYY, YYYY-MM, or YYYY-MM-DD format.", 1079 | "format": "date" 1080 | }, 1081 | 1082 | "highlights": { 1083 | "type": "array", 1084 | "description": "Noteworthy achievements and/or highlights for this sample.", 1085 | "additionalItems": false, 1086 | "items": { 1087 | "type": "string", 1088 | "description": "For ex, 'Implemented optimized search algorithm dervied from Slices of Pi'." 1089 | } 1090 | }, 1091 | 1092 | "keywords": { 1093 | "type": "array", 1094 | "description": "Keywords associated with this work sample.", 1095 | "additionalItems": false, 1096 | "items": { 1097 | "type": "string", 1098 | "description": "For example, C++, HTML, game." 1099 | } 1100 | } 1101 | 1102 | } 1103 | } 1104 | }, 1105 | 1106 | 1107 | 1108 | "references": { 1109 | "type": "array", 1110 | "description": "The 'references' section describes the candidate's personal, professional, and/or technical references.", 1111 | "additionalItems": false, 1112 | "items": { 1113 | "type": "object", 1114 | "additionalProperties": true, 1115 | "properties": { 1116 | 1117 | "name": { 1118 | "type": "string", 1119 | "description": "The full name of the person giving the reference.", 1120 | "required": true 1121 | }, 1122 | 1123 | "role": { 1124 | "type": "string", 1125 | "description": "The occupation of this reference, or his or her relationship to the candidate." 1126 | }, 1127 | 1128 | "category": { 1129 | "type": "string", 1130 | "description": "The type of reference, eg, professional, technical, or personal." 1131 | }, 1132 | 1133 | "private": { 1134 | "type": "boolean", 1135 | "description": "Is this a private reference?" 1136 | }, 1137 | 1138 | "summary": { 1139 | "type": "string", 1140 | "description": "Optional summary information for this reference." 1141 | }, 1142 | 1143 | "contact": { 1144 | "type": "array", 1145 | "additionalItems": false, 1146 | "items": { 1147 | "type": "object", 1148 | "additionalProperties": true, 1149 | "properties": { 1150 | 1151 | "label": { 1152 | "type": "string", 1153 | "description": "Friendly label for this piece of contact info." 1154 | }, 1155 | 1156 | "category": { 1157 | "type": "string", 1158 | "description": "Type of contact information (phone, email, web, etc.)." 1159 | }, 1160 | 1161 | "value": { 1162 | "type": "string", 1163 | "description": "The email address, phone number, etc." 1164 | } 1165 | } 1166 | } 1167 | } 1168 | } 1169 | } 1170 | }, 1171 | 1172 | 1173 | 1174 | "testimonials": { 1175 | "type": "array", 1176 | "description": "The 'testimonials' section contains public testimonials of the candidate's professionalism and character.", 1177 | "additionalItems": false, 1178 | "items": { 1179 | "type": "object", 1180 | "additionalProperties": true, 1181 | "properties": { 1182 | 1183 | "name": { 1184 | "type": "string", 1185 | "description": "The full name of the person giving the reference.", 1186 | "required": true 1187 | }, 1188 | 1189 | "quote": { 1190 | "type": "string", 1191 | "required": true, 1192 | "description": "A quoted reference, eg, 'Susan was an excellent team leader, manager, and operations specialist with a great eye for detail. I'd gladly hire her again if I could!'" 1193 | }, 1194 | 1195 | "category": { 1196 | "type": "string", 1197 | "description": "Type of reference: personal, professional, or technical." 1198 | }, 1199 | 1200 | "private": { 1201 | "type": "boolean", 1202 | "description": "Public reference (testimonial) or via private contact?" 1203 | } 1204 | } 1205 | } 1206 | }, 1207 | 1208 | 1209 | 1210 | "interests": { 1211 | "type": "array", 1212 | "additionalItems": false, 1213 | "description": "The 'interests' section provides a sampling of the candidate's interests and enthusiasms outside of work.", 1214 | "items": { 1215 | "type": "object", 1216 | "additionalProperties": true, 1217 | "properties": { 1218 | 1219 | "name": { 1220 | "type": "string", 1221 | "description": "The name or title of the interest or hobby.", 1222 | "required": true 1223 | }, 1224 | 1225 | "summary": { 1226 | "type": "string" 1227 | }, 1228 | 1229 | "keywords": { 1230 | "type": "array", 1231 | "additionalItems": false, 1232 | "description": "Keywords associated with this interest.", 1233 | "items": { 1234 | "type": "string", 1235 | "description": "A keyword relating to this interest." 1236 | } 1237 | } 1238 | } 1239 | } 1240 | }, 1241 | 1242 | 1243 | 1244 | "extracurricular": { 1245 | "type": "array", 1246 | "description": "The 'extracurricular' section describes the candidate's involvement with industry-related events and enterprises outside of work. For example: attending conferences, workshops, or meetups.", 1247 | "additionalItems": false, 1248 | "items": { 1249 | "type": "object", 1250 | "additionalProperties": true, 1251 | "properties": { 1252 | "title": { 1253 | "type": "string", 1254 | "description": "Title of the extracurricular activity.", 1255 | "required": true 1256 | }, 1257 | "activity": { 1258 | "type": "string", 1259 | "description": "The extracurricular activity.", 1260 | "required": true 1261 | }, 1262 | "location": { 1263 | "type": "string", 1264 | "description": "City, state, or other freeform location." 1265 | }, 1266 | "start": { 1267 | "type": "string", 1268 | "description": "Start date.", 1269 | "format": "date" 1270 | }, 1271 | "end": { 1272 | "type": "string", 1273 | "description": "End date.", 1274 | "format": "date" 1275 | } 1276 | } 1277 | } 1278 | }, 1279 | 1280 | 1281 | 1282 | "affiliation": { 1283 | "type": "object", 1284 | "additionalProperties": true, 1285 | "description": "The 'affiliation' section describes the candidate's membership in groups, clubs, organizations, and professional associations whether at the collegiate, corporate, or personal level.", 1286 | "properties": { 1287 | 1288 | "summary": { 1289 | "type": "string", 1290 | "description": "Optional summary of overall affiliation and membership experience." 1291 | }, 1292 | 1293 | "history": { 1294 | "type": "array", 1295 | "additionalItems": false, 1296 | "items": { 1297 | "type": "object", 1298 | "additionalProperties": true, 1299 | "properties": { 1300 | 1301 | "category": { 1302 | "type": "string", 1303 | "description": "The type of affiliation: club, union, meetup, etc." 1304 | }, 1305 | 1306 | "organization": { 1307 | "type": "string", 1308 | "description": "The name of the organization or group.", 1309 | "required": true 1310 | }, 1311 | 1312 | "role": { 1313 | "type": "string", 1314 | "description": "Your role in the organization or group." 1315 | }, 1316 | 1317 | "url": { 1318 | "type": "string", 1319 | "description": "Organization website.", 1320 | "format": "uri" 1321 | }, 1322 | 1323 | "start": { 1324 | "type": "string", 1325 | "description": "Date your affiliation with the organization began, in YYYY, YYYY-MM, or YYYY-MM-DD format.", 1326 | "format": "date" 1327 | }, 1328 | 1329 | "end": { 1330 | "type": "string", 1331 | "description": "Date your affiliation with the organization ended, in YYYY, YYYY-MM, or YYYY-MM-DD format.", 1332 | "format": "date" 1333 | }, 1334 | 1335 | "summary": { 1336 | "type": "string", 1337 | "description": "A summary of your achievements and responsibilities during this affiliation." 1338 | }, 1339 | 1340 | "highlights": { 1341 | "type": "array", 1342 | "description": "Noteworthy achievements and/or highlights.", 1343 | "additionalItems": false, 1344 | "items": { 1345 | "type": "string", 1346 | "description": "For ex, 'Served on board of directors of national non-profit organization with 20,000 members.'." 1347 | } 1348 | }, 1349 | 1350 | "keywords": { 1351 | "type": "array", 1352 | "description": "Keywords associated with this affiliation.", 1353 | "additionalItems": false, 1354 | "items": { 1355 | "type": "string", 1356 | "description": "For example, C++, CRM, HIPAA." 1357 | } 1358 | }, 1359 | 1360 | "location": { 1361 | "type": "string", 1362 | "description": "Freeform location of the position, e.g., 'San Francisco, CA' or 'Tokyo'." 1363 | } 1364 | } 1365 | } 1366 | } 1367 | 1368 | } 1369 | } 1370 | 1371 | } 1372 | } 1373 | --------------------------------------------------------------------------------