『実用Go言語』を読んだ
https://www.amazon.co.jp/dp/4873119693
実務レベルでGoを読み書きする際に考えるであろう様々な「問い」とその回答が体系的にまとまっている超良書でした。ぼくは最近Goを触り始めたペーペーなので、本書を読むと昨日自分が書いたコードを書き直したくなったり、CIの設定を直したくなったり、がいたるところで起こります。
本書が扱う領域が広いので、自分がまだGoでは経験していないテーマ(章単位でいうと9, 12, 15, 16章あたり)も多くありましたが、説明が分かりやすいため一通り読んで頭の中の引き出しに入れておくことが苦ではありませんでした。今後Goを読み書きするうえで、何度も読み返すような本の一冊です。
Goで書かれたコード(同僚が書いたコード、標準パッケージ、準標準パッケージ、サードパーティモジュール)が圧倒的に「読みやすく」なり、書く際の選択肢が理由付きで増えるため「書きやすく」なります。
もうちょい具体的な話でいうと、例えばGoの書き方だけでなくDockerfileのプラクティスにも言及があったり、クラウドストレージやオブザーバビリティの章があったりします。Dockerfileではベースイメージどれ選ぶのがオススメかが書かれていて、その中で「イメージサイズだけ考えてAlpine選ぶと〜」という記述があったりしてこの辺は運用まで含めて実務でGoを使い倒してるからこその現場感のある言及で「実用」みを感じました。
リフレクションと構造体のタグを理解することで、jsonパッケージやcsvパッケージが内部で何をしているのか想像できるようになりますし、HTTPサーバー、HTTPクライアントのところなんかも、標準パッケージをしっかり理解することでgo-chiやechoなどサードパーティモジュールが内部で何をやっているか想像できるようになる感覚は楽しかったです。
読んで良かった〜
『THE CULTURE CODE 最強チームをつくる方法』を読んだ
Amazonを見ると去年購入してたらしい。最近チーム関連の本をいくつか読んでたので、その流れでKindleのライブラリにあった本書を読みました。
主題としてはこんな感じ。
チーム力を醸成する文化は「安全な環境」「弱さの開示」「共通の目標」の3つに集約される。 p6
ぼくが本書で印象に残ったメッセージは「弱さを見せる(見せ合う)」と「小さなシグナルを送る」ですね。あぁ、こうやってチームを作るリーダーシップもいいじゃんと思えました。
チームで仕事をする = 集合知によって大きな成果を出すだと最近は思っていて*1、「集合知」という観点と結びつけて読むことですんなり頭に入ってきて読めた感覚があります。
事例もどれも面白くて、特に好きなのはピクサー・ディズニーの話とベル研究所の話かな。あとレッドバルーン・チャレンジの話。挙げたらキリがないです。
今度はリーダーシップについての本もいくつか読もうかなぁ。
*1:最近読んだ『多様性の科学 画一的で凋落する組織、複数の視点で問題を解決する組織』という本が本当に良かったので影響を受けた
『チームワーキング ケースとデータで学ぶ「最強チーム」のつくり方』を読んだ
kindle unlimitedだったので読んだ。
チームを動的なものと捉えて、成果を出すチームであるために「目標を握り続ける」「動きながら課題を探し続ける」「相互にフィードバックし続ける」という行動をとっていくと。
タイトルに「ケースとデータで学ぶ」とあるとおり、全体的にたくさんの実験結果が出てきました。
ふむふむと思いながら読みました。例えば目標にしろ戦略にしろ期初に一生懸命コストかけて立てたら一定仕事した感じになりますが、大事なのはその後継続的にその目標や戦略を検査しながら適応していくことですよね。最初にいくらコストかけてみんなで握った目標でも時間が経ってさまざまな要因によって「これって何のためにやってるんだっけ?」みたいなことを思ったりするのは至極当然のことです。
動的に捉えるというのは考えてみれば当たり前なのですが、こういう考え方を自分の引き出しに入れておかないと「最初にみんなで合意したじゃん!」と的外れなイライラに支配されたりしちゃうと思うので、意識したいですね。
『コンサル一年目が学ぶこと』を読んだ
コンサル1年目どころかエンジニア8年目ですが、kindel unlimited対象だったので読んでみました。
内容としては社会人においては普遍的に大事なことが整理されてリストアップされてるので、たしかに一年目にこれ読んで仕事をしていくと仕事の質が上がりそうな気がしました。
各テーマごとに、そのテーマの最後に参考図書が紹介されています。なので本書で網羅的につまんで、より深く興味がわいた部分は参考図書を読みにいく、みたいなことをするとたくさん楽しめそう。
以下本書とは関係ない話。
ぼくが社会人なりたての研修では、プロフェッショナルとは期待を超えることだ、と外部講師に言われたのを覚えています。あとは、なんか研修を終えて新入社員が研修の感想を一人ずつ喋っていったら、その外部講師が「研修に付き合ってくれた人たちへの感謝が出てこないような新入社員に育ててしまってごめんなさい」みたいなことを泣きながら言っていてトラウマになりました。その外部講師には、その夜ひらかれた飲みの場で他の人のお皿に餃子のタレをどう入れるかを教わりました。
「テスト駆動開発でGo言語を学びましょう」をやった
TDDをしながらGoの型や標準パッケージについて学べる教材です。対象としては他のプログラミング言語で一定経験があり、GoについてもA Tour of Goはやったことある以上の人かなという気がします。全くの未経験だとそもそもTDDやテスト、その他の概念についても理解しようと思うと頭がパンクしそうな気がしますし、Go見たことも書いたこともない人はまずA Tour of Goやりましょう。
良かった点は、章ごとのテーマに集中できることと、テストを書く筋肉も鍛えられるところです。章ごとに設定されているテーマ、例えば構造体の章にはポインタの説明が入ってこないのでシンプルな説明になってると思います。それからわりと厳密にTDDを回すので、Goでテストを書くにはどうしたらいいかも学べます。testing.Helperの使い方など知見も手に入ります。TDDなので、設計プロセスとしての楽しさもあります。TDD嫌いとかじゃなければ楽しめると思います。
微妙だった点は、日本語翻訳が不正確というか微妙なところが多かったです。機械翻訳だと思いますがさすがに質が悪いかな〜...。日本語版はforkされたリポジトリで動いているので、英語でもOKな人はオリジナルのほうを見るのをオススメします。それから日本語版はごく一部動かないテストコードがありました。
↓オリジナルのリポジトリ github.com
HTTPサーバーを扱う章もあるので、これからGoでWebアプリケーションを作るぞって人にもわりとオススメでし。
『リフレクション 自分とチームの成長を加速させる内省の技術』を読んだ
kindle unlimited対象だったので購入。
著者は「学習する組織」という組織論に影響されて本書を書いたとのこと。内省して過去の経験を未来に活かすために、メタ認知力を高めてこうぜって感じ。
ただあえて別のポイントを取り上げると、本書には多様性についての言及もあり、多様な意見は大事だよね、にとどまらずどうやってその意見を活かすか?にも踏み込んでいます。例えば、認知的多様性が高いと色々な価値観による意見が出てくるわけで、それ自体は良いことなのですが、合意形成をする難易度が上がりますよね。そこでリフレクションでいう「意見」の違いではなく背景にある「経験」「感情」「価値観」に焦点を当て共通の目的を実現するために優先すべき価値観を決めて融合させる、みたいな話が出てきます。
この辺はすぐにでも意識して実践できそうな考え方ですね。
人の話を聴くとき、多くの人が「相手の意見」に意識を集中させています。そして、その意見を理解するために、自分の経験と価値観を当てはめ、一生懸命、自分の解釈を加えながら、理解を深めようとしています。この聴き方を、永遠に続けていても、相手を理解することはできません。 p217
内省は自分の成長にも繋がるけど、他人との相互理解を促すツールにもなるので、チームでワークショップやっても面白そうです。
『多様性の科学 画一的で凋落する組織、複数の視点で問題を解決する組織』を読んだ
最近ぼくが所属するチームの人数がドカッと増える(と言ってもピザ2枚に収まる範囲)ので、「色んな人がいることのメリットってなんだっけ?」みたいなことを色んな角度から意識したいなと思って手に取った本です。
結果この本は最近読んだ本の中では抜群に面白かったです。Amazonにレビュー書こうかと思ったくらい(書いてない)。
そもそも多様性という言葉がすごく広いのであれなんですが、この本では「認知的多様性」が複雑な問題を解決するのにいかに重要か、逆に多様性がない画一的な集団だと何がマズいのか、を色々な事例・研究を引用しながら説明します。
著者は決して個人の優秀さを否定しているわけではないところもポイントです。「優秀かつ多様」であるから複雑な問題を解決できると。
5章エコーチェンバー現象、についてはエコーチェンバー現象について知ってる人、フィルターバブルとの違いを説明できる人なら飛ばしてもいいかもしれません。ただ書いてある事例はすごく面白かったです。
基本めちゃくちゃオススメなんですが、9.11事件や、いくつかの死亡事故の話も出てくるためそういった話が得意ではない人は飛ばし飛ばしになるかもしれません。