天の月

ソフトウェア開発をしていく上での悩み, 考えたこと, 学びを書いてきます(たまに関係ない雑記も)

Ask Me Anything! t-wadaさんに何でも聞いてみよう!に参加してきた

Ask Me Anything! t-wadaさんに何でも聞いてみよう! - connpass

こちらのイベントに参加してきたので、会の様子と感想を書いていこうと思います。

会の概要

タイトルの通り、t-wadaさんが視聴者から寄せられる質問に対して何でも答えてくれるというイベントです。

会の様子

タイトルの通りひたすら質問に答えてくれるイベントだったので、以下に質問と回答を箇条書きで記載していきます。

仕事関連の情報を仕入れるときどのメディアを利用しているか?情報収集にどれくらいの時間をかけているのか?

Web、本、Podcast、Xのリストなど。隙間時間で情報収集することが多い。本屋に行って背表紙を見ることが多い。Misreading ChatのPodcastは必ずチェックする。

misreading.chat

20代、30代にやっておけばよかったと後悔していることは?

運動習慣がつけられなかったこと

テストが過剰かのジャッジはどうしているのか?書かないほうがいいケースはあるか?

直感は大切にしている。また、個人的研究として、テストケースごとにカバレッジ機械的に見るようにしている。
テストケースは増やすのは簡単で減らすのは難しいので、テストに付帯情報をつけておくことが大切。

最近読んだ技術書で面白かったのは?

普段と違うトップダウンでの学びを経験できたので以下の書籍は面白かった。

www.oreilly.co.jp

上長や経営層に自動テストやリファクタリングなど外から見えにくい施策をどう提案するか?

開発速度という「時間」で表現する。

テスト周りで一番解くのが難しいと思っているテスト周りの課題は?

AI全盛の時代となり、AIをテストする難しさを実感している。

テストコードの書き方や品質に対する考え方に関して開発メンバー内で出ている差は勉強や経験以外だとどう解消するのか?

ドキュメント整備や手本となるテストコードの充実。「真似をしてください」を作り出す。

引用文献はどう選んでいるのか?引用文献を覚えているのか?

コンサルタントとして仕事していることもあり、印象をなんとなく覚えている。ただ、今後年齢を重ねると難しくなってくるような気もしており、対策は練らなくてはと思っている。

コーディング前のフェーズとしての設計書はどの粒度のものが最適だと思うか?

WhyやWhatに関する設計書が最適。
CSの歴史として、コーディングをしなくていいような何かをやることは失敗し続けているので、その点は注意。

テストが如何に大事なのかをどう伝えていくのか?

変更は何度もやる時代だという話をして、そのために何回もテストするしかないなら自動化したテストを作っていきましょうね、という話をする。

仕事がつまらなかったり腐りかけたときにどう克服したのか?

つまらないとかやりがいがないとかはない。ただ、打ちのめされた経験はあって、リーマンショックで案件が全部なくなったとかはあった。
その後は、自社製品を作ったり自分で根付けをするようにした。

また、いい肉をゆっくり焼いてゆっくり食べることを良くしている。

今課金しているAIサービスは?

Gemini, GitHub Copilot, Copilot Chat, ChatGPT

自動テストを導入する際にまずどこから着手するとよいか?アクション単位の結合テストを考えている

テストコードがないと想定しているなら、動作が安定していて不確実さがないところからテストしていくのがおすすめなので、中の実装に強く依存していないことを考えると良い案だと思う。

テストカバレッジの計測は基本的にやったほうがいいのか?

基本的にやったほうがいい。ただ、評価に使うのだけはやめてほしい。マネジメントにもし使うなら、傾きを見る。

子育てで忙しかったときにキャッチアップの工夫としてやっていたことは?

子育てのときは諦めていた。キャッチアップは致命的に遅れることはないので、割り切っていた。あとは時々早起きしたり耳だけのキャッチアップをしていた。

テストを書かない人を前にしたらどうなってしまうのか?

そういう人のために自分がいると思っているので、テストの書き方を教えたりペアプロする。

発表会形式の輪読会はつらいのだがどういう方法が読書会としては良いのか?

負荷が重いので、3色コメント(引用、質問、コメント)でその場で読むような形式にしている。あとは定時中にやる。

テストを書かない人間に喝を入れて欲しい

喝をいれるキャラでは実はない。テストって楽をしたいから書くものなので、テストもさぼるために書きたいと思えるか。

保守性の高いコードを書くためにクラスは必須なのか?

違う。クラス指向に合わせてコードを書こうとするとどうしてもそういう発想になってしまうので注意。

GitHubでコードを探してみるといい。

技術的登壇で大事にしていることは?

聞いている人の明日を変えること。こんなことしたんですよ、だけを話さないようにしている。
実は登壇支援もすることが多いのだが、一番多くそこでする指摘が聞いている人の行動を変えるような内容にしよう、だったりもする。

会全体を通した感想

個人的には講演よりもQ&Aのほうが面白いなあと多くのイベントで思っているので、ひたすらQ&Aするイベントは最高でした。

テスト以外の質問も多くあって、その点でも良い意味で期待を裏切られたのでよかったです。