# How a job search goes from resume to offer

> A process map exported from forks.world (https://forks.world). Author: Brian. Source: https://forks.world/p/cmv21y515000hif06fq5gyzvm
> It describes who does what, in what order, and with which technology. Read the plain-language sections first; the JSON at the end is the exact, complete data.

## Summary

- 16 steps across 2 layers
- Persona: You, Recruiter, Hiring manager, Interview team

## Pain points

Where this process hurts, worst first:

- **Negotiate pay and start date** (How a job search goes from resume to offer; painful): Many people accept the first number and leave money on the table

## How to read this file

- A process is made of **layers**. The main layer is the top level; any step of kind `subprocess` opens a detail layer with its own lanes and steps.
- **Lanes** are either persona (people/roles) or technology (systems). Each step belongs to one lane; `using` lists tools a person uses for that step.
- Step kinds: `start`, `task`, `decision` (its arrows carry the answer as a label), `subprocess`, `end`.

## How a job search goes from resume to offer

Lanes:
- You: person / role (id `you`)
- Recruiter: person / role (id `recruiter`)
- Hiring manager: person / role (id `manager`)
- Interview team: person / role (id `team`)

Steps, in the order they run:

1. **Update the resume and profile** [start; You; id `j1`]
   - then Apply and message people who work there
2. **Apply and message people who work there** [task; You; id `j2`]
   - then Screens resumes against the job
3. **Screens resumes against the job** [task; Recruiter; id `j3`]
   - then Is it a match?
4. **Is it a match?** [decision; Recruiter; id `j4`]
   - if "Yes" go to Phone screen; if "No" go to Tailor the resume and apply to more roles
5. **Phone screen** [task; Recruiter; id `j5`]
   - then Interview about the work
6. **Interview about the work** [task; Hiring manager; id `j6`]
   - then Panel interviews and a skills test
7. **Panel interviews and a skills test** [subprocess; Interview team; id `j7`], opens the detail layer "Inside the interview day"
   - then Meet to compare notes
8. **Meet to compare notes** [subprocess; Interview team; id `j8`], links to the published process "Hire the right person" (https://forks.world/p/cmv0iebws0045jw06sld30qze; full text at https://forks.world/api/public/cmv0iebws0045jw06sld30qze/export)
   - then Do they make an offer?
9. **Do they make an offer?** [decision; Hiring manager; id `j9`]
   - if "Yes" go to Negotiate pay and start date; if "No" go to Tailor the resume and apply to more roles
10. **Negotiate pay and start date** [task; You; id `j10`] ⚠ PAIN POINT (painful): Many people accept the first number and leave money on the table
   - then Accept and give notice
11. **Accept and give notice** [end; You; id `j11`]
12. **Tailor the resume and apply to more roles** [task; You; id `j2a`]
   - then Apply and message people who work there

```mermaid
flowchart LR
  subgraph l_you["You"]
    n_j1(["Update the resume and profile"])
    n_j2["Apply and message people who work there"]
    n_j2a["Tailor the resume and apply to more roles"]
    n_j10["Negotiate pay and start date"]
    n_j11(["Accept and give notice"])
  end
  subgraph l_recruiter["Recruiter"]
    n_j3["Screens resumes against the job"]
    n_j4{"Is it a match?"}
    n_j5["Phone screen"]
  end
  subgraph l_manager["Hiring manager"]
    n_j6["Interview about the work"]
    n_j9{"Do they make an offer?"}
  end
  subgraph l_team["Interview team"]
    n_j7[["Panel interviews and a skills test"]]
    n_j8[["Meet to compare notes"]]
  end
  n_j1 --> n_j2
  n_j2 --> n_j3
  n_j3 --> n_j4
  n_j4 -->|"Yes"| n_j5
  n_j4 -->|"No"| n_j2a
  n_j2a --> n_j2
  n_j5 --> n_j6
  n_j6 --> n_j7
  n_j7 --> n_j8
  n_j8 --> n_j9
  n_j9 -->|"Yes"| n_j10
  n_j9 -->|"No"| n_j2a
  n_j10 --> n_j11
```

### Inside the interview day (detail of step "Panel interviews and a skills test")

Lanes:
- You: person / role (id `you`)
- Interview team: person / role (id `team`)

Steps, in the order they run:

1. **Prepare stories about past work** [start; You; id `i1`]
   - then Ask the same questions of every candidate
2. **Ask the same questions of every candidate** [task; Interview team; id `i2`]
   - then Ask questions of your own
3. **Ask questions of your own** [task; You; id `i3`]
   - then Score the answers right away
4. **Score the answers right away** [end; Interview team; id `i4`]

```mermaid
flowchart LR
  subgraph l_you["You"]
    n_i1(["Prepare stories about past work"])
    n_i3["Ask questions of your own"]
  end
  subgraph l_team["Interview team"]
    n_i2["Ask the same questions of every candidate"]
    n_i4(["Score the answers right away"])
  end
  n_i1 --> n_i2
  n_i2 --> n_i3
  n_i3 --> n_i4
```

## Full data (JSON)

```json
{
  "title": "How a job search goes from resume to offer",
  "maps": {
    "m_loop": {
      "id": "m_loop",
      "lanes": [
        {
          "id": "you",
          "name": "You",
          "type": "person"
        },
        {
          "id": "team",
          "name": "Interview team",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "i1",
          "kind": "start",
          "lane": "you",
          "next": [
            {
              "to": "i2"
            }
          ],
          "uses": [],
          "label": "Prepare stories about past work"
        },
        {
          "id": "i2",
          "kind": "task",
          "lane": "team",
          "next": [
            {
              "to": "i3"
            }
          ],
          "uses": [],
          "label": "Ask the same questions of every candidate"
        },
        {
          "id": "i3",
          "kind": "task",
          "lane": "you",
          "next": [
            {
              "to": "i4"
            }
          ],
          "uses": [],
          "label": "Ask questions of your own"
        },
        {
          "id": "i4",
          "kind": "end",
          "lane": "team",
          "next": [],
          "uses": [],
          "label": "Score the answers right away"
        }
      ],
      "title": "Inside the interview day",
      "parent": {
        "map": "m_root",
        "step": "j7"
      }
    },
    "m_root": {
      "id": "m_root",
      "lanes": [
        {
          "id": "you",
          "name": "You",
          "type": "person"
        },
        {
          "id": "recruiter",
          "name": "Recruiter",
          "type": "person"
        },
        {
          "id": "manager",
          "name": "Hiring manager",
          "type": "person"
        },
        {
          "id": "team",
          "name": "Interview team",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "j1",
          "kind": "start",
          "lane": "you",
          "next": [
            {
              "to": "j2"
            }
          ],
          "uses": [],
          "label": "Update the resume and profile"
        },
        {
          "id": "j2",
          "kind": "task",
          "lane": "you",
          "next": [
            {
              "to": "j3"
            }
          ],
          "uses": [],
          "label": "Apply and message people who work there"
        },
        {
          "id": "j3",
          "kind": "task",
          "lane": "recruiter",
          "next": [
            {
              "to": "j4"
            }
          ],
          "uses": [],
          "label": "Screens resumes against the job"
        },
        {
          "id": "j4",
          "kind": "decision",
          "lane": "recruiter",
          "next": [
            {
              "to": "j5",
              "label": "Yes"
            },
            {
              "to": "j2a",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Is it a match?"
        },
        {
          "id": "j2a",
          "kind": "task",
          "lane": "you",
          "next": [
            {
              "to": "j2"
            }
          ],
          "uses": [],
          "label": "Tailor the resume and apply to more roles"
        },
        {
          "id": "j5",
          "kind": "task",
          "lane": "recruiter",
          "next": [
            {
              "to": "j6"
            }
          ],
          "uses": [],
          "label": "Phone screen"
        },
        {
          "id": "j6",
          "kind": "task",
          "lane": "manager",
          "next": [
            {
              "to": "j7"
            }
          ],
          "uses": [],
          "label": "Interview about the work"
        },
        {
          "id": "j7",
          "kind": "subprocess",
          "lane": "team",
          "next": [
            {
              "to": "j8"
            }
          ],
          "uses": [],
          "child": "m_loop",
          "label": "Panel interviews and a skills test"
        },
        {
          "id": "j8",
          "kind": "subprocess",
          "lane": "team",
          "link": {
            "id": "cmv0iebws0045jw06sld30qze",
            "scope": "public",
            "title": "Hire the right person"
          },
          "next": [
            {
              "to": "j9"
            }
          ],
          "uses": [],
          "label": "Meet to compare notes"
        },
        {
          "id": "j9",
          "kind": "decision",
          "lane": "manager",
          "next": [
            {
              "to": "j10",
              "label": "Yes"
            },
            {
              "to": "j2a",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Do they make an offer?"
        },
        {
          "id": "j10",
          "kind": "task",
          "lane": "you",
          "next": [
            {
              "to": "j11"
            }
          ],
          "pain": {
            "note": "Many people accept the first number and leave money on the table",
            "level": 2
          },
          "uses": [],
          "label": "Negotiate pay and start date"
        },
        {
          "id": "j11",
          "kind": "end",
          "lane": "you",
          "next": [],
          "uses": [],
          "label": "Accept and give notice"
        }
      ],
      "title": "How a job search goes from resume to offer",
      "parent": null
    }
  }
}
```
