Slide 1

Slide 1 text

  エンジニアと「書く」こと 2022.10.28

Slide 2

Slide 2 text

  2 ・freee の Web アプリケーションエンジニア ・普段は Rails, たまに React ・本を読むのとスキューバダイビングが好きです。 ・最近はスプラトゥーン3やってます。 ・最近の悩みは仕事終わってもPCから離れないので妻に 仕事してるのかしてないのかわからないと言われることです ・ちなみに書いたり登壇したりするのは苦手です hachi(@hachiblog) Web アプリケーションエンジニア Hayao Kimura プロフィール画像の トリミング方法

Slide 3

Slide 3 text

今日のテーマはプロダクト開発の知見共有 3

Slide 4

Slide 4 text

自分がプロダクト開発で意識していることを話し ます 4

Slide 5

Slide 5 text

5 エンジニアは「書く」仕事である ・アプリケーションを書く ・テストコードを書く ・設計書を書く ・ドキュメントを書く ・ブログを書く

Slide 6

Slide 6 text

6 プロダクトの開発手順 ・ニーズ発見 ・課題整理 ・仕様定義 ・設計 ・実装 ・リリース ・分析

Slide 7

Slide 7 text

どの段階でも書くことが関わってくる 7

Slide 8

Slide 8 text

8 01 書くとは伝えること 02 書くとは考えること 03 書くとは種を蒔くこと 04 書くとは第二の脳を作ること 06 書くとはいいエンジニアであること 05 良く書くために 目次

Slide 9

Slide 9 text

書くとは伝えること

Slide 10

Slide 10 text

10 伝えるために書く ・ソフトウェアエンジニアが仕事する上で避けては通れない ・自分はどうしても苦手だった ・質の高い技術文書を書く方法 ・「文書から得られるアウトプットが明確で、読み手のレベルによらず一定に伝わること」 ・「型」が大事である。「型」を真似る、習得する。 ・cf. Google Engineering Practices Documentation

Slide 11

Slide 11 text

11 型の例 ・社内で使っている設計書フォーマット/設計がうまいひとのフォーマット ・PR description テンプレート ・世の中のいろいろなドキュメントなど

Slide 12

Slide 12 text

書くとは考えること

Slide 13

Slide 13 text

13 考えるために書く ・「悩む」と「考える」の違い ・下手の考えは「悩む」と一緒 ・脳は一度に4つぐらいのものしか覚えてられない。複雑な思考は脳だけではできない ・GTD(Getting Things Done)も、全てを書き出して脳のメモリを開ける手法 ・アウトプットとインプットを一人で高速で回せる(ex. 誰かと話す、ラバーダッキング) ・今の自分、更に未来の自分と一緒に考えられる ・特に、チームのチャットなどに書くと自分だけでなくメンバーも知恵を貸してくれる。

Slide 14

Slide 14 text

書くとは種をまくこと

Slide 15

Slide 15 text

15 種を蒔くために書く ・ブログのネタなんて書きたいときに出るものじゃない ・改善ネタなんてやりたいときにあるものじゃない ・日頃から種をまいているか?みつけているか? ・よかったこと、つらかったこと、面倒なことなど、毎日書いておく。 ・そういう意味で「見返せる」日報はとても大事。 ・💡第2の脳アプリObsidianを使って日次メモを書く方法

Slide 16

Slide 16 text

書くとは第二の脳をつくること

Slide 17

Slide 17 text

17 第二の脳を作るために書く ・外部記憶装置(+α)としてのノート ・Zetterkasten というノート手法がある ・有り体に言えば Linked Note だが、決まりがいくつかある(ex. 自分の言葉で説明する、一つの Note を Atmic にする ・決まりによって参照可能で保守性の高いノートが作られる ・自分も修行中 ・cf. 第二の脳とは?その特徴と作り方は?なぜ今必要なのか? ・jMatsuzaki さんのブログはよくある俗っぽい雰囲気を醸し出しつつちゃんと書いてあっていい。あと vimmer なので信用できる(?)。 ・cf. TAKE NOTES!――メモで、あなただけのアウトプットが自然にできるようになる ・Zetterkasten について日本語で書いてある唯一の書籍

Slide 18

Slide 18 text

書くとはいいエンジニアであること

Slide 19

Slide 19 text

19 いいエンジニアであるために書く ・書いて発表・発信し続けること自体がいいエンジニアになる方法の一つ ・cf. はてなのエンジニアに期待する「アウトプット」 ・ここに書いてある「アウトプットの効用」がとてもよい ・cf. エンジニアの信頼を得るには良質なアウトプットが必要な話

Slide 20

Slide 20 text

良く書くために

Slide 21

Slide 21 text

21 良く書くために自分がやってること ・毎日書く ・継続にまさるものなし ・できるだけ Public にする ・ブログやTwitterにかけるものは書く。社内チャットにかけるものは書く。どうしても公開できないものだけ 個人のメモにする(こうするとだいたいのものは社内チャットかTwitterになる) ・考えるときは書く ・頭の中を垂れ流すイメージで書く。「あー」とかも書く。全て書く。 ・フロー状態になると脳とキーボードと画面がつながっているような感覚におちいる時がある ・書いたら寝かせる ・これ以上なにもでないなと思ったら寝るか風呂に入る、遊ぶ ・大体これで全て解決する ・cf. 思考の整理学

Slide 22

Slide 22 text

どうせ書くなら楽しく書こう

Slide 23

Slide 23 text

23 資料集 ・質の高い技術文書を書く方法 ・Google Engineering Practices Documentation ・GTD(Getting Things Done) ・モーニングページ ・💡第2の脳アプリObsidianを使って日次メモを書く方法 ・第二の脳とは?その特徴と作り方は?なぜ今必要なのか? ・TAKE NOTES!――メモで、あなただけのアウトプットが自然にできるようになる ・はてなのエンジニアに期待する「アウトプット」 ・エンジニアの信頼を得るには良質なアウトプットが必要な話 ・思考の整理学