ITトリオの日常は エンジニアとして 働く3人が集まって ダッターミーティング
する番組です 毎週月曜日に更新 するこのポッドキャストは 東京
のスタートアップでフルスタック エンジニアとして働く小倉くんと
名古屋でエンジニアとして働く 元デザイナーチーズと
動画投稿が趣味のフルスタック エンジニアのラベちゃんでお届け
しています 今回は公式ドキュメント を読めばすべてが解決するんですか
っていう話について展開していこう と思います よろしくお願いします
よろしくお願いします エンジニア っぽい話ね
最近ツイッターでそういうつぶやき を見つけて どなたのツイートか
忘れたんですけど 新しいライブラリー を使うときとかで だいたいその
ライブラリーの公式ドキュメント 1から10まで全部読んでおけば 結構
理解度が進むし 1から10まで読んでる 人って意外と多数派ではないっぽい
から それ読んでおくだけで他の 人と差がつくよっていう話とツイート
してるのを見かけたりとか あとは ツイッターにいるような強い
エンジニアの人って分かんない ことがあっても 公式ドキュメント
全部読んだら分かるでしょっていう 強いエンジニアばっかりだから
あんまり参考にならないよみたいな ことを言ってるような人もいて
公式ドキュメントを全部読むっていうこと についてちょっと話せるかなと思
って その話を持ってきた次第ですね
これは議論が繰り広げられる感じ か
個人的にはね 概ね同意なんだよね これは
まあ概ねは同意だね 私も
概ね同意
できてるかっていうとできてない けど
それもあるなと思って 公式ドキュメント を0から10まで読むことが理解度
めっちゃ進むっていうことも分か ってるし たまにちょくちょくそういう
ことはやるんだけど やるし 自分のそもそも興味がある
プロダクトとかライブラリーの ものだったら僕の場合読めるんですけ
ど あんまりそのライブラリー自体
に興味が湧かないときとか なんか割と一緒に働く中でも
遠いチームが違う人とかが違う 文脈で選定されたライブラリー
について理解を含めなきゃいけない っていうときには割とその読む
スピードもちょっと興味が低い から遅くなってしまってちょっと
全部読めねえみたいなのが よくあったりするなーっていうこと
思って ちょっとどうですかお二人は
私は目的次第だと思う 何の目的でドキュメント読むかっていう
ところにおいてよって多分その ドキュメントをどう読むかが変わ
ってくると思ってるんだよね まずライブラリーを選定するって
意味では結構片っ端から広く浅く 読む必要があると思っててそれを
利用する上でこういう課題を解決 したいみたいな部分があったら
そこに焦点開けてそこの部分の ドキュメントを読み進んだりとか
逆にリポジトリのイシューであった りとかそういう内部のコードを
読んでいくとかの方が実は深ま ったりするケースもあったり
するかなと思っててなんだろう 公式ドキュメントが全てせいっていう
わけではなくてケースバイケース 目的次第かなと思ってるそれこそ
個人開発か会社で使うかとかでも 全然違うと思うし
そうだね公式ドキュメントをまず 最初は何にするにしても目的とか
運のにせよ何にせよ最初は絶対 読んだ方がいいかなと思ってて
なんか全部用意してはないけど それを使うのであればまず公式
ドキュメントに一応どういう概念 で作られてどういう思いで作られた
かとかも入ってあったりする しあとはどういうふうに使うの
が基本的なパターンでこういう ふうに使うべきみたいなのがある
のでそこら辺もやっぱり最初は まずは語音に従うというかそっち
やってたほうがそれと設計になり づらいというか正しい設計になり
やすいのでやっぱりそれに従って やるべきかなと思うのでつまんで
来ちゃうと部分部分では正しい けど部分部分では俺流が入ってる
みたいな感じで思想部分は良くない 設計になっちゃったりするから
そういう意味では一応全体は一目 は通したほうがいいのかなとは
思う目的運とかはよりかはまず それを使うのであればって感じ
かな
最初のセットアップだけとかだ ったら最初のゲティングスタート
とかチュートリアルとか読むだけで 最初のところ読むだけなら何て
言うんだろうハウは分かるんだよ ねハウはでもアプリケーション
に組み込んでそのライブラリを 正しい使い方で設計した上で使い
こなしたいってなるとやっぱその ライブラリーのライブラリー
自体の設計思想とか哲学を理解 しないといけないからそういった
ライブラリーのwhyなぜを理解する ためにはドキュメントを全部読ま
なきゃいかんなっていうのがすごい 感じますね
なんか私はどちらかというと全部 って言う必要はないかなと思って
て情報の枝端がドキュメントって 結構枝端幹がバラバラしてる
なって印象はあってその思想部分 って根幹の部分だからそこを手
厚く読むほうでその枝端例えば ライブラリーに派生したなんか
オプション機能的な部分もある じゃんねそういうところは使う
ときに読むくらいでいいのかな って思っててなんか最初のハードル
がそれですごく重くなるのもなんだ かなって感じはするからその思想
のところだけちゃんとキャッチ してそこからは手を動かしていって
自分が必要そんなときに必要な 情報を得るぐらいがちょうどいい
のかなって思った
なんかね難しいのがそこの判断 ができるかどうかなんだよね
思った
最初に見たときここが大事なんだろう なっていうのをなんとなく分かる
かもしれないけどそのなんとなく があってんのかなとか例えば
なるほどじゃあ結構みんなもう 本当に時間かけて公式ドキュメント
全部洗ってから着手するって感じ な
それができてるかっていうのは また別なんだけどね
どうしたほうがいいんだって感じ なんだ
うんそうそうそう
なるほどね
本当そうしたいなっていう気持ち っていう
なんか一緒に働いてて自分より もうちょっとテックリードとか
してるような人とか話してると 割とライブラリの思想とかでも
割とちゃんと細かいレベルですごい 理解度がすごい高いなと思って
話してるとやっぱそれはなんか ドキュメント全部読んでいるから
こそ来るものなのかなっていう のを感じることがあって例えば
なんか僕もその同じドキュメント の思想の部分と自分が使うAPIの
部分だけは読んだんだけどその 人はちゃんと他のその瞬間プロダクト
では必要ないかもしれないAPIの ところもちゃんと全部読んでて
よく聞いてるとこのライブラリ ってこういうところにこういう
APIがあってそういうAPI他の種類 も含めて見てみると大体こういう
オプションを受け付けるようにな ってるんでその共通点があるって
いうことはあんまりその分で細かく は言われてないけどこういう考え
があるはずなんですよねみたいな そういうところもすごい理解度
がめちゃくちゃ高くてどのレベル まで行きたいかみたいなのもあるん
ですけどその同じ立場というか そこまで行くためにはやっぱなんか
僕とかなんか若いエンジニアという かから見た枝端の部分であった
としてもそこにも滲み出る思想 っていうのを理解できたほうが
まあそれはベターなのかなっていう できないですけど
なるほどねそう言われてみると わかるわ確かにその作りたいもの
よりも事前に全ての引き出しが ある状態で作りたいものがあった
ときに正しい選択をできるのは それは全部知ってるまあそれは
全部知ってることはあのとても大事 だとは思う
これはそうっていうねそれはそう それは正論であるがそれが本当に
何だろうスピードであったりとか やっぱハードルの高さはあると思う
からケースバイケースだよね本当 その早く作らなきゃいけないとき
にその言語へのインプットとか ライブラリへのインポットに時間
がかけすぎて完成物がないです みたいなそういうケースにも落ちる
可能性もあるじゃんねでなると 何だろうその根幹だけ作れるように
根幹だけ理解するっていうのも まあ大事な選択かなと思うから
本当に何だろう場面によるなって 思った場面とその人がどうなり
たいかとか うんそうだと思う本当にねケース
バイケースはマジでそうだと思う いやー私多分最初公式ドキュメント
全部頭入れてくださいみたいな 感じだったら心折れちゃうから
ちょっと私はねできないんですよ まだできないレイヤーのエンジン
やっすね その感覚もさ結構人によるかな
と思って僕も結構そういう感覚 を持つことがあるんだけどでも
なんか世の中見てみるとそういう 感覚が持たない人も結構いるドキュメント
を読むこと自体が割と面白く感じ たりとか別に苦に感じたことない
ですみたいなでなんで読まないん ですか逆にみたいな読めばわかる
から全部読んでくださいみたいな 人もいたりして結構むずいなと思って
なんならさ公式ドキュメントだけ じゃなくてさコードまで見る人
も全然いっぱいいるじゃん そうだね
いやうんなんか公式ドキュメント よりなんかコードの方がせいな
気がするなんか僕的にはコード の方が読むの簡単だなっていう
気はしてそうなんだコード読みたい 時って割と評理会っていうより
かはこのライブラリーのドキュメント に書いてない挙動を見つけに行く
形で読むことが多くて僕そうだね なんか見に行きたい場所がわか
ってるじゃんこのAPIのこのオプション なんかドキュメントに書いていない
引数があるんだけどこれなんだ っていう時にどこで見に行けば
いいかってライブラリーの習熟度 関係なくコード見に行けばまあ
なんとなく言語の読み方がわか ればわかってると思うんだけど
さ
はいはい
ドキュメント読む場合はなんか 読んで理解進めながら自分の中で
その思想をちゃんと落とし込んで ちゃんとこう自分が使えるレベル
で自分の中で整理して記憶する 必要があって僕的になんかドキュメント
全部読むのはなんかそういった 意味でコード読むよりもなんか
むずいなっていう感じが
確かになんかドキュメントを読む っていう行為の何だろう質の高さ
は人によって全然違いそうだな っていう話聞いてて思ったわ
大倉君はそこまで深めそのドキュメント を読むっていうことに対してまあ
そこまで深め切ろうって言って いるからまあだいぶ深く学べている
状態かなって思うんだけどただ 読んだだけの人もなんかいそうだ
な感はあるじゃんね
うんうんそうだね
うんうんだから浅い部分だけなんか ここ聞いたことあるよドキュメント
に書いてたよぐらいしかさらって なくていざ使ってみると意外と
使えないみたいな人もなんかいて もおかしくないなって思ってて
そうだね
うん
なんか百聞は一気にしかずなんか 全然聞くと見ると全然違うけど
そんな感じがするな
そうねあとさこういうドキュメント とかの話とかってさ経験値あれば
あるほど多分読むの早くなるよね 理解度が早くなる
ああ確かにそれはね
だから多分本当に公式ドキュメント 全部読むって言ってる人は多分
読まれの経験からいろんなドキュメント 読んだことがあって知識のネットワーク
が多分できてるから多分新しく 読むにしてもああここはこういう
のと似てるからとかって多分頭 の中で全部ひもつけられて多分
同じものを読んでも読む時間が 段違いすぎるから多分ハードル
とかも全然違うと思うしっていう のは絶対あると思う
そうだね
だから言語のインプットってそういう ところよねはいはいこいつはこういう
思想ねみたいなところが過去の 経験からあって
そうそうそう他でも理解している ような哲学とか方法がそのまんま
横転できるみたいなのがだんだん 多くなってくる感覚はあるよね
ね
かっけーなー正直言うとそこまで 行けてないからまずは日本語で
書かれた売っている本のなんか 簡単に始められるやつから入る
私は
うんうんわかるわかる最初から もう
そういうところからなんか解像度 が上がってきてドキュメントも
読めるかもみたいなときになんか 読んでいくくらいで正直そこまで
読めてるものは少ないけど
ITトリオ
うんあとは最近はその公式ドキュメント のリンク加わせてチャットgptに
聞いたりはしちゃうもう頼っちゃう
僕もさなんかやってたんだけど さあ
これやるとさ知らないぐらいの 細かい使い方は覚えるんだけど
結局なんか全体感やっぱ理解は 使ってても進まないなっていうの
を最近すごい感じて逆に使わない 方がいいのかなとかいうのをちょっと
最近悩んだりしている
それはね思う
思うな
なんか結果聞いてみてその場の 課題解決はするんだよね
うんうんうん
そうだね
その場限りの課題解決だからなんか もう一回アウトプットしたりとか
なんかもう一回自分の言葉で表現 とかしないとそれが自分のもの
になったかは怪しくて今ちょうど 私今までフロントエンドしかやって
こなかったけどバックエンドで しかもコトリンっていう今まで
触れたことのない言語をやって るんだけど本当に忘れる
あーなるほどね
そうだよね
本当に忘れるすぐチャットGPT に聞くけど本当に忘れる
チャットGPTはあくまでこう80%とか 60%ぐらいかなまあ60%ぐらい理解
で使ってあとファクトチェック ちゃんと自分でやるぐらいの方
使い方が一番効果的なのかなって 個人的には
うんなんかファクトチェックどうこう まあ多分リンク壊したら結構正しい
情報がくるかなと思っててなんか ファクトチェックというよりかは
なんかもう自分に身についてるか いい中身差がすごいあるんだよね
なんか結果チャットGPTの知識の ものっていう感じになっちゃう
から
グーグルのとそれってあんま変わらん くないでも
でもあれじゃないググるときは 公式ドキュメント以外にも結構なんか
いろんな人が書いてブログ記事 とか参照するその場合は結構その
情報自体の正しさをさらに確認 っていうのがより重要だと思う
けどチーズが言ってたのはその 今チャットGPTだとURL食わせて
ウェブページ自体から返答を作る ことができるからこうして非ドキュメント
の特定のページを読み込ませて 返答を作ってもらう
そのケースだとまあなんかファクト チェックは楽というかかなっていう
分かったわなんかそれってドキュメント を読むのと一緒じゃないっていう
のは違うのはそのドキュメント って主体的に自分が欲しい情報
その大量の情報から探しに行く から周辺の情報も一旦頭に入れる
じゃんね
チャットGPTに聞くやつって最後の 知りたい結論にすぐたどり着いて
必要最低限の情報しかもらえなくて しかもわりかし答えに近いような
情報をくれちゃうから
そうだね
そうだから意外と脳の何だろう 使う割合的なものがなんか調べ
て情報を探しに行ったりとかドキュメント 読んだりとかよりチャットGPTを
使った方が使わないから身につかないん だなって今話し出て結論づいた
自分の中でなんかすげえ踏み落ち たわ
なるほどねチャットGPTの返答を 使うのに理解する必要はないもん
ね
そう
そう自分で探して使う場合はその ドキュメントの周辺とかを理解
してから使うっていう段階が含 まれるけど多分チャットGPTに聞いて
コピペっていうのだと理解する 必要もあんまないという
うんやめよう
やめよう
GPT一旦やめるかちょっと別の方法 でアウトプット自分の言葉で表現
する工夫をしてみるようにしない と私は一生コトリン書けねえわ
スポットスポットではチャットGPT 使ったほうが早いってなるんだけど
割となんか自分のキャリアとか 長期的に見た場合は使わないは
行き過ぎかもしれないけどちゃんと その物事について自分が理解する
時間を取らないといつまで経って もチャットGPTがないと働けない
みたいになってちょっと危うい 感じがするよね
なんかアイデンティティー失い そうだよね
アイデンティティー失って私じゃ なくてもいいよなみたいな
正規表現とかシェルスクリプト とかの簡単なやつとかはもう
そうね
楽だよねそういう単純作業やって もらうのが一番いいなとはすごい
思って
テストコード自ら書きたくない
ねそれもそうだしテストコード も結構書いてもらってるんだけど
それも一応今までテストコード 書いてるから出てきたチャットGPT
のテストコードのアウトプット を自分でその場で読んで理解できる
し正しいかどうか修正カツが箇所 があるかどうかを確認できるから
そうねなんだかんだテスト書く ときにドメイン的な知識も必要
だしそうなるとそこの頭を使う 部分は大事だよねなんだかんだ
書き直すよね
そこのテストコードはチャットGPT よりコパイロットくんが大活躍
ですよ
まあでもそうだねそれも正しい か正しい自分がアウトプットしたい
ものかどうかっていうことを考える ときにちゃんとフィルタリング
したものを使えるようにならない とねダメですよね
そのためにはねそのためにはやはり ドキュメントを読んだほうがいい
という方向になっていく
なんか読むだけじゃダメだから もうドキュメントになろうみたいな
そうドキュメントに私たちがなり ましょう
そうそれは読むドキュメントを 全部読むっていうのは読むことが
目的じゃなくて理解することが 目的っていうなんか僕前まで臨
読会があんまり魅力に感じなかったん だけど今回みたいな全部のドキュメント
を読むにしても人によって理解度 が違うとか大変さが違うって
いうことを考えると臨読会って すごいそういう意味である一定
のチームの理解度を一定度まで 深められやすいっていうのが臨
読会にはメリットがあるのかな っていうのを話しながら思って
確かに臨読会って臨読会から生まれる コミュニケーションであったり
共通認識をつくる部分っていう 意味ではねそれはただ読むだけ
とはまた違う話になるもんね
なんかどのまで読むか読むのを 宿題にするかはいろいろあるけど
読んだ後にその章の内容について ちょっと理解が深まるためにディスカッション
するみたいなディスカッション することでたぶん業句も定着する
して理解度も深まるっていう そういうことを考えると割とチーム
で新しい何かを使うときにちょっと 時間をかかるかもだけど臨読会
する時間を挟むっていうのは
うんめっちゃいいと思う
ちゃんと全体としての理解度を 揃えたりできるからすごいいいん
だなっていうのを話しながら思い ましたね
いいねいやなんか思ったわ
確かに確かに
あとなんかエンジニアってさ思 えばさなんか一人で切磋琢磨する
よりやっぱ周りに強いエンジニア がいてなんか相互で情報交換して
いってアップデートされる生き物 だなってなんか今話聞いてて思
ったわ
うんうんうん
まあ一人でできる人もいるとは 思うんだけどなんだろうそういう
思想の違いだったり例えばまあ 最近私はなんかモデリング的な
業務もしてるんだけどさ
はいとメイン
なんかモデリングってやっぱ人によって
なんか考え方が異なっちゃう部分 とかあるけどそういうところを
ちゃんと発信してなんかそのチーム 内の思想であったりとかチーム
内というかそういう思想の違い とかを交換し合って互いに理解
し合ってであればここがいいよね みたいなことを考える
うん
こともなんだろエンジニアの成長 の一つかなと思ってなんか一人で
ずっとエンジニア力勉強してて オレオレがたくさん作れたとして
いいプロダクトが作れるかもしれない けどなんだろうオレって本当に
強いんだっけみたいなことをなんか 考えちゃった
確かに成長の面でもそうだけど さなんかチームでちゃんとお互い
の考えていることがわかるっていう のも大事かなっていうのを思って
好きなのは一つだよね
そう全部ドキュメントを読む話を ツイッターで見たときになんか
要はバランスでしょみたいなこと を言ってる人がいてそれはそうだ
なとは思ったんだけどいろんな 面でベストプラクティスってある
特定のケースではベストプラクティス だけどプロダクトとか場面が違い
がそれはベストプラクティスじゃない っていうのはよくある話じゃん
銀の弾丸がないって言われるとおり でもさじゃあそのいろいろ選択肢
がある中でどこに重点を置いて バランスを取るかっていうのは
やっぱ人それぞれでただやっぱ チームで開発するってなるとその
要はバランスのどこに重点を置く かっていうのはちゃんとチーム
で認識揃えておいたほうがなんか 開発継続していく上ではスムーズ
なのかなと思ってそういった面 でも輪読会だけじゃないと思うん
だけどなんかちゃんとそれぞれの 各メンバーの各言語とか各ライブラリー
に対する理解度とかその理解度 とかを得た上でのそれぞれの行動
の書き方とかの理想像とか好み っていうのをできるだけ理解する
とかチームでの共通認識持って おくほうがなんか共通でコード
管理するにはスムーズだと思う しプロジェクトのレビューする
ときも多分レビューするときに 相手の書いたコードの意図が分かり
やすいと思うし他の人が書いた コードを後から変更するときでも
意図が分かっているからこそ設計 を破綻せずに追加の機能を開発
できるとかいろいろあると思う からなんかそういった面でもお互い
コミュニケーションをちゃんと とった上で孤独に陥らずに開発
していくっていうのは意味がある のかなっていうのを改めて話し
ながら感じましたね
そういう意味で私が今会社でそういう 新しい言語を学ぶときに先輩から
言われたのはチーム内の教科書 としてこの情報ちゃんと見てる
からここはキャッチアップして ねって言われてやっぱ教科書
的なものがあると話しやすいこの 教科書でここに書いてあったような
ことを実現したいみたいなそれが 公式ドキュメントであったりする
のかなって思った
確かにね
確かにねそれが一つの言語を呼び 聞かす言語的な概念になるのかな
って
そうだよねそういう思想みたいな ものがないとさ多分みんなの中で
それぞれの基準が生まれていっちゃ うもんね
そうだよねなんか絶対的な善が 存在しないからこそそこの目線
を合わせておく必要があるっていう
そういう意味ではいいねチーム 内の公式ドキュメント輪読会は
めっちゃ価値あるなって
ねそうね思想をものにぶつけ合う 場面だもんね輪読会って多分
めっちゃいいわやりたいわ
いいね確かに
あと一人だと読み切らんから
それもあるそうそうそう確かに 確かにある程度強制力があるから
こそね進むってのあるよね
そうそうそう
そういうなんか思想ぶつけ合う みたいなところでなんかやっぱ
心理的安全性みたいな話がまた 出てくるんかねちゃんとその自分
の思っていることとかを主張できる 反対意見であっても主張できる
みたいな土台がないとそういう 場もないってことじゃないのかな
って思うからなんかいろいろ工夫 する必要があるのかなっていう
納得ですわ
いやーまあでもそれでも倒れ られずにドキュメントが全部読める
体力と知的好奇心を保っていきたい けどなそういう理想論があるの
かな
理想論ね
それは本当にそう
あとは時間をくれもう少し前に 時間をくれ
チーズ土日全部埋まってて平日 も結構埋まってるもんな
そうだ今週平日フルで夜に予定 がある時間がない土日ももう
もうな
俺もちょっと副業決まったから さ時間なくなっちゃうわなんで