Zum Inhalt springen
Michael BoimanFreiberuflicher Quality Engineer & KI-Architekt · Frankfurt am Main
KlassischMinimalFuturAbgleich

Projekt-Abgleich · mit Jev

Passt Michael zu Ihrem Projekt?

Fügen Sie eine Ausschreibung ein, laden Sie eine Datei hoch oder nehmen Sie ein Beispiel. Jev, ein Modell von TypeSafe, prüft jede Anforderung gegen den Lebenslauf und nennt den Beleg. Die Wertung rechnet danach der Code dieser Seite, nachvollziehbar und einstellbar.

Ausschreibung lesen
Freelance: Senior Test Automation Engineer (m/w/d) mit KI-Schwerpunkt
Energieversorger, Kundenportal, Start ab sofort, 6 Monate, überwiegend remote

Ihre Aufgaben:
- Aufbau einer End-to-End-Testautomatisierung mit Playwright und TypeScript für unser Kundenportal
- Automatisierte API-Tests für die REST-Schnittstellen zu Abrechnung und Vertragsverwaltung
- Integration der Testläufe in Azure DevOps Pipelines, inklusive Berichten für das Team
- Einsatz von KI zur Erzeugung und Pflege von Testfällen aus Anforderungen
- Analyse von Testfehlschlägen und Incidents, auch mit Unterstützung durch LLMs
- Coaching des Entwicklungsteams in Teststrategie und Testpyramide

Ihr Profil:
- Mindestens 5 Jahre Erfahrung in der Testautomatisierung von Webanwendungen
- Sehr gute Kenntnisse in Playwright oder vergleichbaren Frameworks
- Erfahrung mit CI/CD, idealerweise Azure DevOps
- Praktische Erfahrung mit LLMs in der Qualitätssicherung
- Kenntnisse in Lasttests sind ein Plus
- Sehr gute Deutschkenntnisse

Ein Beispiel spielt eine gespeicherte Messung ab. Aus Ihrem Browser geht dabei keine Anfrage hinaus.

So entsteht die Wertung

Jev schreibt keinen Text. Es beantwortet kleine, feste Fragen mit einer Wahrscheinlichkeit, einer Auswahl oder einer Stufe. Die Wertung setzt der Code dieser Seite daraus zusammen.

  1. 01

    Code zerlegt

    Die Ausschreibung wird in Zeilen zerlegt: jeder Listenpunkt eine Zeile, ein Absatz ohne Liste in Sätze. Überschriften fallen weg, höchstens 16 Zeilen gehen hinaus.

  2. 02

    Jev urteilt

    Je Zeile eine Anfrage mit dem ganzen Lebenslauf: Ist das eine Anforderung, ist sie Pflicht, zu welchem Bereich gehört sie, welcher Eintrag belegt sie und wie gut, von 0 bis 3. Eine weitere Anfrage sagt, wie zentral jeder Bereich für das Projekt ist.

  3. 03

    Code rechnet

    Deckung, Muss-Kriterien und Themen-Passung sind Arithmetik über diese Antworten. Wer die Gewichte verschiebt, ändert die Rechnung, nicht die Urteile.

Die Rechnung

  • Deckung = Summe aus Gewicht × Stufe/3, geteilt durch die Summe der Gewichte. Eine Pflichtzeile wiegt doppelt.
  • Themen-Passung = je Bereich die mittlere Deckung seiner Zeilen, gewichtet damit, wie zentral der Bereich für das Projekt ist.
  • Gesamt = 70 % Deckung + 30 % Themen-Passung, auf 100 Punkte gerundet. Ab 85 sehr gut, ab 70 gut, ab 50 in Teilen.
  • Als belegt gilt eine Zeile ab Stufe 1,5, also näher an „in einer Rolle gemacht“ als an „verwandt“.

Grenzen

  • Jev sieht nur den öffentlichen Lebenslauf dieser Seite. Was dort nicht steht, kann es nicht belegen.
  • Die Fragen an Jev sind englisch, die Texte meist deutsch.
  • Jede Zeile wird einmal gefragt. Ein zweiter Lauf kann bei einzelnen Stufen leicht abweichen.
  • Die Wertung ist eine Maschinenschätzung über Textstellen, kein Urteil über Menschen und keine Zusage.

Eine Anfrage an Jev, gekürzt

Die Einträge des Lebenslaufs stehen einmal im Zustand, die Auswahl verweist per Pfad auf sie.

POST https://api.typesafe.ai/v1/systemone
{
  "model": "jev-latest",
  "state": {
    "requirement": "Aufbau einer End-to-End-Testautomatisierung mit Playwright und TypeScript für unser Kunden …",
    "cv": {
      "x-profile": "Freiberuflicher Quality Engineer & KI-Architekt. Quality Engineer und KI-Architekt. Qualit …",
      "s-tu-darmstadt": "Impulsvortrag: KI-gestützte Software-Entwicklung in der Praxis, TU Darmstadt (04/2026): Im …",
      "…": "…"
    }
  },
  "questions": {
    "must": {
      "type": "noul",
      "instructions": "Is `requirement` phrased as mandatory rather than optional or nice to have?"
    },
    "evidence": {
      "type": "choice",
      "instructions": "Which entry of `cv` best shows that the candidate meets `requirement`?",
      "criteria": {
        "x-profile": "`cv.x-profile`",
        "s-tu-darmstadt": "`cv.s-tu-darmstadt`",
        "…": "…",
        "none": "No entry of `cv` shows it"
      }
    },
    "level": {
      "type": "score",
      "instructions": "How well does `cv` show that the candidate has done what `requirement` asks for?",
      "criteria": [
        "Not at all",
        "Adjacent or transferable experience",
        "Done in at least one role or project",
        "Done repeatedly, across several roles or projects"
      ]
    },
    "…": "…"
  }
}