{
  "extensionId": "https://openworkid.org/v1/extensions/software-engineer",
  "extensionVersion": "1.0.0",
  "name": "Software Engineer",
  "nameDe": "Software Engineer",
  "category": "technical",
  "description": "Software Engineer profession extension used by the upstand.work reference implementation.",
  "professionGroups": [
    "IT & Software"
  ],
  "fields": {
    "primaryLanguages": {
      "type": "string[]",
      "required": false,
      "label": "Programming languages",
      "labelDe": "Programmiersprachen",
      "example": "TypeScript, Go, Rust",
      "vocabulary": "programmingLanguages"
    },
    "frameworks": {
      "type": "string[]",
      "required": false,
      "label": "Frameworks",
      "labelDe": "Frameworks",
      "example": "Next.js, FastAPI, Spring",
      "vocabulary": "frameworks"
    },
    "cloudProviders": {
      "type": "string[]",
      "required": false,
      "label": "Cloud",
      "labelDe": "Cloud",
      "example": "AWS, GCP, Azure",
      "vocabulary": "cloud"
    },
    "databases": {
      "type": "string[]",
      "required": false,
      "label": "Databases",
      "labelDe": "Datenbanken",
      "example": "PostgreSQL, Redis, MongoDB",
      "vocabulary": "databases"
    },
    "seniority": {
      "type": "string",
      "required": false,
      "label": "Seniority",
      "labelDe": "Seniorität",
      "enum": [
        "junior",
        "mid",
        "senior",
        "staff",
        "principal"
      ],
      "aggregate": "max"
    },
    "remotePreference": {
      "type": "string",
      "required": false,
      "label": "Remote",
      "labelDe": "Remote",
      "enum": [
        "remote-only",
        "hybrid",
        "on-site",
        "flexible"
      ]
    },
    "availableHours": {
      "type": "string",
      "required": false,
      "label": "Availability",
      "labelDe": "Verfügbarkeit",
      "enum": [
        "full-time",
        "part-time",
        "project-based"
      ]
    },
    "openSourceContributions": {
      "type": "string[]",
      "required": false,
      "label": "Open Source",
      "labelDe": "Open Source"
    },
    "githubUrl": {
      "type": "URL",
      "required": false,
      "label": "GitHub",
      "labelDe": "GitHub",
      "example": "https://github.com/username"
    },
    "aiTools": {
      "type": "string[]",
      "required": false,
      "label": "AI Tools",
      "labelDe": "AI Tools",
      "example": "GitHub Copilot, Claude, Cursor",
      "vocabulary": "aiTools"
    },
    "rateRange": {
      "type": "object",
      "required": false,
      "label": "Rate",
      "labelDe": "Honorar",
      "fields": {
        "min": {
          "type": "number"
        },
        "max": {
          "type": "number"
        },
        "currency": {
          "type": "string",
          "example": "EUR"
        },
        "unit": {
          "type": "string",
          "enum": [
            "hour",
            "day"
          ]
        }
      }
    },
    "languages": {
      "type": "string[]",
      "required": false,
      "label": "Languages (spoken)",
      "labelDe": "Sprachen (gesprochen)",
      "example": "de, en, fr",
      "vocabulary": "spokenLanguages"
    }
  }
}
