Open Job Letterを公開しました
転職活動を始めたので、Open Job Letterを公開しました。
直近は何をしてたか、転職活動の目的、何ができそうかなどをまとめています。 ページの最下部にあるフォームから連絡できるので、興味がある方はよろしくお願いします。
Open Job Letterとは
Open Job Letterは、いわゆる求職記事のことで、転職活動の目的や自分自身を紹介する記事です。 この名前は自分が適当に決めたものなので、一般的な名前ではありません。 要約をしてないフリーフォーマットのカバーレター/レジュメみたいなイメージです。
2018年にOpen Job Letterを公開してたので、 今回は便宜上Open Job Letter v2としています。
Openとついてるのは、Publicに公開しているためです。 Publicにしているのは、いくつか理由があります。
- オープンソース活動などもしているので、Publicの方が一貫性がある気がした
- 公開を前提に書くことで、公平性を持って書きやすい
- URLでアクセスできるので、使いやすくて便利
自分は所属とかは特に公開しないタイプなので、読むとわかりますが会社名とかは特に出さないで抽象化して書いています。 これはブログ書く時とかもそうですが、ある程度抽象化した方が読みやすいし、自分にとっては自然なのでそうしています。 面談とかでは、もっと具体的な話をするので、公開する文章としてはそういうスタイルをとっています。
Open Job Letterの作り方
今回のOpen Job Letter v2は、NotionとTallyというフォームサービスを使って作成しています。 TallyはNotionのページに埋め込みやすいGoogle Form的なサービスです。ConditionなどのロジックやNotionに結果を送る機能があるので、Notionと相性が良いです。
次のページに、今回のOpen Job Letterのテンプレートを公開しています。
Open Job Letterは、次の3つで構成されています。
- Open Job Letter本体
- Tallyで作成したフィードバックフォーム
- Tallyの結果を入れるデータベース
使い方
- Notionテンプレートを複製
- Open Job Letterを書く
- Tallyのテンプレートを複製
- https://tally.so/templates/open-job-letter/m6ePAn のフォームをテンプレートとして利用できる
- TallyのフォームをOpen Job LetterにEmbedする
- Tally → NotionのIntegrationを設定する
- 参考: Sync form responses to Notion
- Tallyの回答内容をデータベースのプロパティに紐づける
あとは、Open Job Letterのページだけを公開すれば完成です。
自分の場合は、SEO的なことは特に気にしてなかったので、<user>.notion.site
で公開しています。
ちゃんとしたい場合は、静的サイトとして公開できるサービスを使うと良いと思います。
notion.site
はSSRをちゃんとやってくれないので、<title>
やOGPなどの情報がちゃんと出ません。
また、アーカイブ系のサービスやはてなブックマークなどは<meta>
を参照する機能があるので、notion.site
だとこういうのは制御できません。
書き方
Open Job Letterのサンプルページに書くことを空欄で用意しているので、基本的にはそれを書いていくだけです。ただ、ちゃんとやるとかなり大変なので、目的に合わせて項目は調整してください。
“提供できる価値”という4つの項目からなるテーブルは、やりたい方向性を整理する場所としておいています。 これ自体は、自分用のメモでもあるので、別に公開する必要はないと思います。自分の場合は、素直に書くことを優先してそのまま公開しました。
- ターゲット: 想定している企業
- ターゲットの需要: 想定している企業が求めているニーズ(想像)
- 私が提供できる価値: 企業へ提供できそうな価値、強み
- 私が期待すること(見返り): 企業に期待する見返り
この項目の元ネタはストラテジック・キャリアという本です。 PVP(Personal Value Proposition)をベースにして、自分が提供できそうな価値をターゲットごとに並べて書きます。 この本自体は、そこまで分かりやすくはないので、次のIndeedの記事の方がわかりやすいかもしれません。
スキルマップは、MermaidのQuadrant Chartを使って、Notionのテーブルから半自動で生成できるようにしています。
- スキルマップテーブルにデータを入れていく
- スキルマップMermaidテーブルの”Mermaid構文”にquadrantChart内容ができるのでコピー
mermaid
ブロックに貼り付ける
そうすると、できない ↔ できる 、嫌い ↔ 好きの4象限のスキルマップが自動で生成されます。
これを自動生成しつつ、点ができるだけ重ならないようにするために、かなり無理したformulaを書いています。 Notionのformulaにはループがないので、10段階にするために10回書いています。 点が重なった場合は手動で調整してください。
"%%{init: {\"quadrantChart\": {\"quadrantPadding\": 40, \"chartWidth\": 800, \"chartHeight\": 800 }, \"themeVariables\": {\"quadrant1Fill\": \"#E18841\", \"quadrant1TextFill\": \"#ffffff\", \"quadrant3Fill\": \"#4169e1\", \"quadrant3TextFill\": \"#ffffff\"} }}%%"+" \n" +
"quadrantChart" + "\n" +
" title スキルマトリクス" + "\n" +
" x-axis \"嫌い\" --> \"好き\"" + "\n" +
" y-axis \"できない\" --> \"できる\"" + "\n" +
" quadrant-1 \"Ⅰ:好きかつ得意\"" + "\n" +
" quadrant-2 \"Ⅲ:好きではないが得意\"" + "\n" +
" quadrant-3 \"Ⅳ:好きでも得意でもない\"" + "\n" +
" quadrant-4 \"Ⅱ:好きだができない\"" + "\n" +
join(map(filter(prop("スキルマップ"), current.prop("できる(10段階)") ==10), "\"" + current.prop("名前") +"\"" + ":[" + max((current.prop("好き(10段階)") - (index /1)) / 10, 0) + "," + max((current.prop("できる(10段階)") - (index /1)) / 10, 0) +"]"), "\n") + "\n" +
join(map(filter(prop("スキルマップ"), current.prop("できる(10段階)") == 9), "\"" + current.prop("名前") +"\"" + ":[" + min((current.prop("好き(10段階)") + (index /2)) / 10, 1) + "," + min((current.prop("できる(10段階)") + (index /2)) / 10, 1) +"]"), "\n") + "\n" +
join(map(filter(prop("スキルマップ"), current.prop("できる(10段階)") == 8), "\"" + current.prop("名前") +"\"" + ":[" + max((current.prop("好き(10段階)") - (index /3)) / 10, 0) + "," + max((current.prop("できる(10段階)") - (index /3)) / 10, 0) +"]"), "\n") + "\n" +
join(map(filter(prop("スキルマップ"), current.prop("できる(10段階)") == 7), "\"" + current.prop("名前") +"\"" + ":[" + min((current.prop("好き(10段階)") + (index /4)) / 10, 1) + "," + min((current.prop("できる(10段階)") + (index /4)) / 10, 1) +"]"), "\n") + "\n" +
join(map(filter(prop("スキルマップ"), current.prop("できる(10段階)") == 6), "\"" + current.prop("名前") +"\"" + ":[" + max((current.prop("好き(10段階)") - (index /5)) / 10, 0) + "," + max((current.prop("できる(10段階)") - (index /5)) / 10, 0) +"]"), "\n") + "\n" +
join(map(filter(prop("スキルマップ"), current.prop("できる(10段階)") == 5), "\"" + current.prop("名前") +"\"" + ":[" + min((current.prop("好き(10段階)") + (index /6)) / 10, 1) + "," + min((current.prop("できる(10段階)") + (index /6)) / 10, 1) +"]"), "\n") + "\n" +
join(map(filter(prop("スキルマップ"), current.prop("できる(10段階)") == 4), "\"" + current.prop("名前") +"\"" + ":[" + max((current.prop("好き(10段階)") - (index /7)) / 10, 0) + "," + max((current.prop("できる(10段階)") - (index /7)) / 10, 0) +"]"), "\n") + "\n" +
join(map(filter(prop("スキルマップ"), current.prop("できる(10段階)") == 3), "\"" + current.prop("名前") +"\"" + ":[" + min((current.prop("好き(10段階)") + (index /8)) / 10, 1) + "," + min((current.prop("できる(10段階)") + (index /8)) / 10, 1) +"]"), "\n") + "\n" +
join(map(filter(prop("スキルマップ"), current.prop("できる(10段階)") == 2), "\"" + current.prop("名前") +"\"" + ":[" + max((current.prop("好き(10段階)") - (index /9)) / 10, 0) + "," + max((current.prop("できる(10段階)") - (index /9)) / 10, 0) +"]"), "\n") + "\n" +
join(map(filter(prop("スキルマップ"), current.prop("できる(10段階)") == 1), "\"" + current.prop("名前") +"\"" + ":[" + min((current.prop("好き(10段階)") + (index /10)) / 10, 1) + "," + min((current.prop("できる(10段階)") + (index /10)) / 10, 1) +"]"), "\n")
運用の仕方
フォームで送信された内容は、Notionのデータベースに保存されるので、そこから確認できます。 Tally自体には返信する機能がないのがいまいちですが、Notionのデータベースにメールアドレスが入っているので、そこから連絡することができます。 (ここをもっといい感じにできるウェブサービスがあると良さそう)
また、Notionだとゲストとしてアクセス権限を絞ったりできるので、一部のページだけを特定の人に公開とかもできます。
Notionとのシームレスさを考えて、Tallyを使いましたが、Google Docs + Google Formとかでも似たようなことはできると思います。 最初は、それ用のウェブサービスを作ろうとしましたが、Notionで書いているうちにNotionのままでいいかなと思って、こうなっています。
まとめ
転職活動を始めたので、Open Job Letter v2を公開しました。 興味がある方は、ぜひご連絡ください。
返事がメールになってるのでちょっと気軽な質問的なことはしにくいですが、なんかもっとこうした方が良いとかあれば教えてください。
Open Job Letterのテンプレートページも公開しています。
特にNotionにこだわりがなければ、別のツール/ブログ/GitHubでもなんでも良いと思います。
公開しなくても良いので、自分用に書いてみると後で振り返る時などに便利だと思うので、書いてみると面白いかもしれません。 公開するときは、素直に書くというのが書く上では大事なポイントだと思いました。
参考
- 前回のOpen Job Letter
- 久々に見てみると、フォーマットとしてよくまとまっていたなと思った
- 一から書いていたけど、途中から前回のフォーマットをベースにして書いていった
- ストラテジック・キャリア | PRESIDENT STORE (プレジデントストア)
- PVPの書き方を参考にしています
- 途中でターゲットを一つに絞らないで、それぞれで書けばいいと思えてきたのが結構ブレイクスルーだった気がする
- リサーチのはじめかた ――「きみの問い」を見つけ、育て、伝える方法 | 筑摩書房
- 問いや解釈は点でしかないので、点を記録していき線を見つけようという話
- この本はかなり難しいことをやっているのでリサーチする人はすごいと思った
- 点を置いていって線を書くというのは、Open Job Letterを書くときに結構意識した
- NO FLOP! 失敗できない人の失敗しない技術
- “応募”のフォームがやや複雑にしてあるのは、この本の”身銭ポイント”を意識してる
- Notion + Wraptas + Tally で作るカジュアル面談募集ページ|宮本 純弥|LayerX
- Tallyはここで知りました
- 【2023年版】Notion最新料金プランは?無料・有料版の違いを解説 - Notionラボ
- Notionの料金プランのまとめ
- 昔から使ってる人は”パーソナル Pro プラン”がプラスプランに置き換わった謎のプランになってる
- 【Notion】同期ブロックとアクセス権について
- 同期ブロックと権限を組み合わせると色々できる
- 今回は特につかってない
お知らせ欄
JavaScript Primerの書籍版がAmazonで購入できます。
JavaScriptに関する最新情報は週一でJSer.infoを更新しています。
GitHub Sponsorsでの支援を募集しています。