📗

2022年にシェルフィーメンバーがお世話になった本

 
今年も早いもので、2022年が終わりますね。27日は毎年シェルフィーの最終出社日です。
今年も本当にたくさんの成長やイベントがありました。
渦中にいるときはゆるやかに変わってるように見えるものの、こうして節目に歩んだ道を振り返ってみると毎回変化の多さに驚くものです。
さて、そんな激動の2022年を過ごしたメンバーのみんなに今年お世話になった本や印象に残っている本を教えてもらいました!
 

☝️
今年お世話になった本や印象に残っている本を教えてください!
  • 本のタイトルとAmazonリンク
  • その本を選んだ理由(200〜300字程度で)
    • チームでうまくいったことや、個人でうまくいったことなど。仕事の話だと嬉しいです

ひゅーが @Hyuga

レガシーコード改善ガイド(マイケル・C・フェザーズ 著)

レガシーコード改善ガイド | 翔泳社
本書は、システム保守の現場でありがちな、構造が複雑で理解できないような コードに対する分析手法・対処手法について解説します。 つまり、「コードを理解し、テストできるようにし、リファクタリングを可能にし、 機能を追加できるテクニック」を紹介している書籍です。 本書には、以下のことが記載されています。 ●仕様が分からないコードの分析方法 ●仕様が分からないコードの修正方法、またテストコードの追加方法 ●コードの修正で、疎結合な設計に部分的に改善する方法 また、本書には、以下のことは記載されていません。 ●COBOLなどで記述されているメインフレーム上のアプリケーションの改修方法 【 対象読者】 ●現行のシステムが仕様が分からず保守作業に悩む、保守担当者 ●現行のシステムの修正作業は可能であるもののデグレーションに悩む、保守担当者 ●疎結合な設計手法を知りたい技術者 本書はJava、C、C++でサンプルを記述していますが、 記載されているテクニックは言語依存するものではないため、 他の言語(Delphi、Visual Basic、COBOL、FORTRAN)でも使えます。 第2部 ソフトウェアの変更 第6章 時間がないのに変更しなければなりません 6.1 スプラウトメソッド 6.2 スプラウトクラス 6.3 ラップメソッド 6.4 ラップクラス 6.5 まとめ 第7章 いつまで経っても変更作業が終わりません 7.1 理解すること 7.2 遅延時間 7.3 依存関係の排除 7.4 まとめ 第8章 どうやって機能を追加すればよいのでしょうか? 8.1 テスト駆動開発(TDD) 8.2 差分プログラミング 8.3 まとめ 第9章 このクラスをテストハーネスに入れることができません 9.1 いらだたしいパラメータ 9.2 隠れた依存関係 9.3 複雑な生成 9.4 いらだたしグローバルな依存関係 9.5 恐るべきインクルードの依存関係 9.6 玉ねぎパラメータ 6.7 別名のパラメータ 第10章 このメソッドをテストハーネスで動かすことができません 10.1 隠れたメソッド 10.2 言語の「便利な」機能 10.3 検出できない副作用 第11章 変更する必要がありますが、どのメソッドをテストすればよいのでしょうか? 11.1 影響の調査 11.2 前方向の調査

理由

  • シェルフィー初の輪読会を実施するきっかけにもなった本
  • チームでソフトウェアの変更理由の再認識や、良いテストコードと悪いテストコードの理解を揃えることができたなど、改めて共通言語を揃えることは開発において大切だと思えた一冊でした。
  • 実際この本を読んだ後のプロジェクトではテスト駆動を取り入れ、コードを通してメンバー内で仕様を共有するなどスムーズに進めることができました。
  • 悪いテストコードとして、速度が遅いことが一つありますが、既存テストコードはお世辞にも速いとはいえないものが多かったため、プロジェクトの触る周辺のテストコードをリファクタリングするなどの動きも生まれました。
 
 

石田氏 @石田佳佑

Googleのソフトウェアエンジニアリング

理由

  • 人と仕事をする上で大切なのは HRT(謙虚・尊敬・信頼)だと再認識できた & チームでこの本を読み合わせして行動が少し変わったと思う。
  • 組織では文化や風土が重要であると理解できるようになった。
 

システム運用アンチパターン

理由

  • 性格上、自動化を先延ばしにしがちだが、↓ を読んで、現在を最適化して、未来を最適化していない。ことにハッとさせられた。
“ツールの開発や自動化を行わないことは、時間の節約になると正当化されがちですが、これは実際には節約になるどころか逆効果です。今を最適化するために、未来の一瞬一瞬を犠牲にしているのです。”
抜粋: システム運用アンチパターン ―エンジニアがDevOpsで解決する組織・自動化・コミュニケーション Jeffery D. Smith

大佐 @Daisuke Suzuki

人はなぜ憎しみあうのか 上:「群れ」の生物学

理由

  • 「群れ」=「人間の集団」と捉えて読んでいて、チームや組織、It業界という軸と向き合う際に自分の認知をコントロールできるようになった。
 

とりさん @Takao

7つの習慣 人格主義の回復: Powerful Lessons in Personal Change

理由

  • 日々の学びや気付き(= メタ認知)をチームでも忘れずに大事にしているので、常にその時々に応じて、読み直すと常に学びがある本だと思ってます!
    • 特に、自身やメンバーに対しても言語化する上での助けになってます。
  • 個人的にも会社やチームを超えて、人生レベルで前進できるような前向きな気持をもらえるバイブルでもあるので、改めて今年もお世話になりました!
 

ともきさん @tomoki3

Off Topic #135 コンパウンドスタートアップとは何か?マルチプロダクトとの優位性

理由

  • 今年はあまり本は読めなかったので、よく聞いていたPodcastの中からおもしろかった回を紹介
  • 時々俯瞰していろんな会社の状況を見ることを大事にしているのですが、今年は歴史は繰り返すということを学びました
    • バンドルとアンバンドルが繰り返す話がとてもおもしろかったです
 

シェルフィーでは2022年も2023年も引き続き全方位で積極的に採用をしていきます!
「コンテック(Con-tech)って何?」「面白い?」「働き方は?」といった気になるご質問すべてに真摯にお答えいたします。
ぜひ一度お話しましょう!下記からご連絡ください!