getmanfred / mac

Manfred Awesomic CV
Creative Commons Attribution Share Alike 4.0 International
576 stars 36 forks source link

careerPrefrences && manfredSpecificData #28

Open brauliodiez opened 1 year ago

brauliodiez commented 1 year ago

I've been playing around the schema and getmanfred.com site.

I've been trying to fulfill my profile usig getmanfred.com and obtain a JSON sample that contains the section careerPreferences but I haven't found the UI section to provide that info, is being used but getManfred?

On the other hand I have found a section called manfredSpecificData that seems not to be in the JSON Schema definition, is this something that will be kept out of the standard? Do you have plans to refactor this?

ydarias commented 1 year ago

Hello @brauliodiez. We are aware that we need to develop more documentation from Manfred's side about the export using MAC. We will be happy to answer any doubt.

First of all about the careerPreferences block. This is an excerpt from my own Manfred's profile export.

"careerPreferences": {
  "contact": {
    "publicProfiles": [
      {
        "URL": "https://linkedin.com/in/ydarias",
        "type": "linkedin"
      },
      {
        "URL": "https://twitter.com/ydarias",
        "type": "other"
      }
    ],
    "contactMails": [
      "****************"
    ],
    "phoneNumbers": [
      {
        "number": "63*******",
        "countryCode": "+34"
      }
    ]
  },
  "preferences": {
    "preferredCompetences": [
      {
        "name": "Hibernate",
        "type": "technology"
      },
      {
        "name": "JAVA",
        "type": "technology"
      },
      {
        "name": "NodeJS",
        "type": "technology"
      },
      {
        "name": "PostgreSQL",
        "type": "technology"
      },
      {
        "name": "Spring Boot",
        "type": "technology"
      },
      {
        "name": "TypeORM",
        "type": "technology"
      },
      {
        "name": "TypeScript",
        "type": "technology"
      },
      {
        "name": "nestJS",
        "type": "technology"
      }
    ],
    "discardedCompetences": [
      {
        "name": ".NET",
        "type": "technology"
      },
      {
        "name": "PHP",
        "type": "technology"
      }
    ],
    "preferredRoles": [
      "Backend Developer",
      "Engineering Management",
      "Software Architect",
      "Tech Lead"
    ]
  },
  "status": "notAvailable"
}

It doesn't come from just one place at Manfred's profile, I will try to describe the best as possible where each field can be found at Manfred's web page.

Now, about the manfredSpecificData section. These are values internal to Manfred that have no clear representation in the MAC schema. We decided to extend the MAC to include all this information to be able to recover when using GitHub synchronization. We know that we should have a document explaining the export/import rules, but we had no time yet.

We preferred extending the MAC which is something completely valid, instead of changing the schema. Changing the schema should be supported by solid reasons. We discussed and think about this topic, and decided to avoid changing the schema when something doesn't exactly map to Manfred, otherwise, it would be a terrible standard, since one company takes all decisions.

We've talked with other companies about how to extend the schema, or provide standard list of value objects, e.g. a list of roles. And we all agree that extension is the best way to do this, to keep the MAC schema as general and open as possible.