仕事に役立つ、素晴らしい書籍たち
これまで、技術書や雑誌や自己啓発書や小説や漫画など読んできましたが、その中でも仕事で役立ちそうな書籍をピックアップしてみました。誰かに「どんな本を読めばいいかな?」と聞かれたとき用の記事です。
タスク管理
自分の作業を管理するとき、ToDoリストや付箋を使うなど自分なりのやり方で管理していると思います。しかし、作業や課題がある分量を超えると、単純なリストでは管理しきれなくなります。そういう時に、これらの書籍が役に立つでしょう。
二見書房
売り上げランキング: 15,723
GTD(Getting Things Done = 仕事をやり遂げる)は、あなたのタスクやプロジェクトを整理して管理する仕組みです。現代では、仕事や私生活で多くのタスクが発生して、常に頭をパンクさせようとします。GTDは、あなたの頭に詰め込まれているタスク、課題、心配事を全て吐き出し、機械的なフローで整理する仕組みを提供します。具体的に、GTDは以下の手順でタスクを整理します。
- 収集…頭の中にあるタスク、課題、気になることを全て書き出す。
- 処理…書き出した内容を、手順に沿って分類、リスト化する。
- 整理…リストを、自分が使っているスケジューラーやToDoリストなどに入力する。
- 見直し…定期的にタスク状況をレビューする。
- 実行…現在の状況、場所、体力に応じて、できることを実行する。
特に 収集 が非常に強力で、これを実行するだけでも効果があります。
GTDはツールを選びません。手帳でも実践できますし、todoistなどのアプリケーションを使っても良いです。まずは手軽に始め、次第にツールにこだわると良いと思います。
技術評論社
売り上げランキング: 184,551
タスクシュートは、見積もり時間を入れたタスクを直列に並べ、順番にこなしていくタスク管理手法です。見積もり時間を入れるので、その日の仕事が何時に終わる予定か分かるところが面白いです。しかし、タスクシュートの真価は、 過去のタスク記録を基にした習慣化 にあります。
タスクシュートでは、ほとんどの仕事が「ルーチンワーク」であると考えます。ルーチンワークであるので、タスク実績を細かくつけていればデータが蓄積され、次のタスクの見積もりに活かせます。1週間前にやったタスクは、きっと今日もやるのです。そして、きっと同じだけ時間がかかるでしょう。そういった現実を踏まえて、どのようにタスクをこなしていくかをこの書籍から学ぶと、効果的な時間の使い方ができるかもしれません。
なお、タスクシュートは、TaskChuteというExcelベースのアプリケーション、たすくまというiOSアプリケーション、TaskChute CloudというWebサービスを使うと便利です。
思考手法
何か物事を考えるとき、「うーん」とうなっていても無駄に時間が過ぎるだけで良い考えは浮かびません。考える方法には、思考フレームワークと呼ばれるある種の型があります。どのような場合にどのような思考を行うと良いのかを知りたいとき、これらの書籍が役立つでしょう。
ダイヤモンド社
売り上げランキング: 4,218
「ザ・ゴール」シリーズの2冊目です。「ザ・ゴール」シリーズはビジネス小説の形態で、ビジネス上の危機に陥った主人公が 制約条件の理論 (制約理論、またはTOC(theory of constraintsとも))と呼ばれるサプライチェーン・マネージメント手法を用いて危機から脱出する物語です。
TOCは様々な業態に適用することが可能ですが、ここではTOCの 思考プロセス に注目したいです。組織やプロジェクトは様々な問題やステークホルダーの対立が発生します。思考プロセスは、様々な問題や対立から本質的な問題を発見し、それを解決したあるべき姿を描き、実現するための計画を策定する問題解決手法です。具体的には、以下の手法を用います。
- 何を変えるか
- 現状問題構造ツリー
- 何に変えるか
- 対立解消図
- 未来構造ツリー
- どのように変えるか
- 前提条件ツリー
- 移行ツリー
ダイヤモンド社
売り上げランキング: 12,838
マインドマップは、ある一つのテーマを中心に連想したことを枝を生やすように広げていく、発想法の一つです。人間の頭脳は、一つの物事から記憶が次々と連想されるようにできています。マインドマップはその働きを活かす手法を提唱しています。
マインドマップで検索するとカラフルな図が見つかりますし、この書籍でも色や絵で表現することを推奨していますが、単純に枝を広げていくだけでも有用な手法です。また、きれいな図ばかりが目につきますが、まずはガシガシ枝を広げて、書き直しながら枝を整理するという手法も有効です。
良い答えは良い質問から得られます。特に上流工程に近づくにつれて、本人すらも分かっていないようなことを導かなければならない場面が出てきます。この書籍では、さまざまな場合においてどのような質問をするべきか、質問をするときのコツなどを解説しています。
プログラミング
良いコードは品質に大きく影響し、良いアーキテクチャは工数や、何なら組織構造にも影響を及ぼします。コンウェイの法則によれば「組織はアーキテクチャに従う」ので、アーキテクチャやコードはよくあるべきです。より良いコード、より良いアーキテクチャを考えるとき、これらの書籍が役立つでしょう。
技術評論社
売り上げランキング: 26,129
WEB+DB PRESSシリーズは、技術系雑誌です。その時々に応じた様々な技術を実例付きで紹介しています。特に4月あたりに発刊されるWEB+DB PRESSシリーズには新卒向けの記事が掲載されることが多いので、目を通し手を動かすと良いでしょう。
オーム社
売り上げランキング: 14,762
単にコードをきれいにすることをリファクタリングと言ってしまうことがあるようですが、リファクタリングはインターフェイス仕様を変更せずにコードを改善するための体系的な手法です。書籍では、コードの良くない兆候とそれに対する対応方法が説明されています。また、リファクタリングを行うための前提となるプロジェクトの状態や、リファクタリングの進め方も重要となります。
オライリージャパン
売り上げランキング: 318
より良いコードを書くための手法を説明しています。理解しやすいコードとは何か?分かりやすい変数名とは?ロジックとはどう構成されるべきか?規模が大きいコードを書くための心得を知ることができます。
ソフトバンククリエイティブ
売り上げランキング: 5,223
デザインパターンとは、ここではプログラム設計のパターンのことを言います。可変長リストを繰り返し処理するパターン、ツリー構造を一つずつたどって処理するパターン、複雑な初期化処理が必要なオブジェクトを構築するパターン、などのさまざまなパターンが紹介されています。
なお、この書籍で説明されているデザインパターンはごく初期のパターンですが、現在では様々なパターンが考案されているため、それらも併せて調べると良いでしょう。
ソフトバンククリエイティブ
売り上げランキング: 39,847
よほど小さいプログラムでもない限り、意識的/無意識的にマルチスレッドで動作します。特にWebアプリケーションは、ほとんどフレームワークが頑張ってくれますが根底ではマルチスレッドで動作しています。この書籍では、マルチスレッドにおけるデザインパターンを解説しています。ただ、個人的にはデザインパターンよりもそこで解説している用語や考え方が非常に参考になりました。
データベース
現代ではリレーショナル・データベース(RDB)だけでなくNoSQLデータベースも活用されますが、やはり業務システムではRDBがまだまだ主役です。なんとなく使っているRDBをより効率的に使おうとしたときに、この書籍が役立つでしょう。
技術評論社
売り上げランキング: 16,449
SQLは非常に優れた問い合わせ言語で、正直、プアな書き方でも欲しいデータを得ることができなくもないです。しかし、良いコードを書くと良い効果があるように、良いSQLは良い効果があります。どのようなSQLを書くべきか、この書籍で学ぶことができるでしょう。
設計手法
SIerの現場では、ベンダー標準開発手法に基づいた設計書をただ量産することが多いかもしれませんが、ただ漫然と作業しているだけでは良い設計は生まれませんし、システムを理解することもできません。顧客が抱えている問題の本質は何かをとらえ、解決手段をシステムとして実現するときに、これらの書籍が役立つでしょう。
要求開発・要件定義のようないわゆる上流工程は、顧客が抱えている問題やステークホルダーの対立から、中核的な問題を発見したり、その解決手段を論理的に表現する必要があります。この書籍では、リレーションシップ駆動要件分析という非常に優れた手法で、問題を発見し要件として整理する方法を説明しています。リレーションシップ駆動要件分析とは、UMLが持つ豊富な図を駆使して、顧客の問題や現状の関連を表現し、業務フローやシステム構造など多角的に分析します。
翔泳社
売り上げランキング: 162,107
プロジェクトの成果物は、要件・設計・コードの全てがトレーサビリティを保つべきです。どの要件がどのように設計されどのコードで実現されているのかが分からないと、本当に要件が実現されたのかが分からなくなってしまいます。しかし、現実的にはそれぞれの工程で情報が断絶してしまい、トレーサビリティが失われてしまうことが少なくありません。
この書籍で紹介されているICONIXは、UMLを用いて要件定義と設計のギャップを埋める、軽量な方法論です。主にロバストネス分析を用いてユースケースから設計を導出しますが、やりようによってはコードにマッピングすることも可能です。
なお、筆者は、ステークホルダーの問題発見と解決手段特定に 思考プロセス 、要求の表現と要件の整理に リレーションシップ駆動要件分析 、要件から設計の導出に ICONIX を使用します(使用しようとしています)。
ピアソンエデュケーション
売り上げランキング: 666,243
UMLは非常に強力な分析ツールですが、仕様が大きいため把握が困難です。この書籍は、UMLの仕様や実例が掲載されています。
書籍ではありませんが、非常に有用な資料であるため紹介します。機能要件は顧客がやりたいことの表現であるため分かりやすい一面がありますが、非機能要件をどのように定義したらよいのかわからないというプロジェクトは少なくないと思います。非機能要求グレードは、非機能要件として定義すべき項目と、システムの重要度に応じた目安が掲載されています。
そのシステムがどこまで担保するべきか、それを担保するためにどうすべきか、この資料を基に議論すると建設的な議論になると思います。
どのシステムもセキュリティを考えなければなりませんが、Webサービスに対する代表的な脆弱性と対処法が説明されています。Webサービスを構築するのであれば、必須の資料といえます。
プロジェクト管理
大なり小なりプロジェクトは、様々なタスクや成果物で構成され、複雑で、リスクがあります。 プロジェクトは複雑性に支配される とも言えます。多くのプロジェクトが職人芸的なプロジェクト管理によりなんとかやっていますが、体系的なプロジェクト管理を学ぶことで安定度が増すかもしれません。その時、これらの書籍が役立つでしょう。
SBクリエイティブ
売り上げランキング: 447,687
プロジェクト管理の体系的な知識はPMBOKとして整理されていますが、この書籍はPMBOKの基本的な説明と実例を解説します。PMBOKを体系的に把握したいときに役立ちます。
ダイヤモンド社
売り上げランキング: 1,137
前述した「ザ・ゴール」シリーズの1冊目です。TOCは思考プロセスのほかに「組織のパフォーマンスを最大化する」手法も提供します。この書籍では、例によってビジネス上の危機に陥った主人公が、生産ラインのボトルネックを発見して ボトルネックを活用する 過程を小説として説明しています。
ダイヤモンド社
売り上げランキング: 19,222
この書籍も「ザ・ゴール」シリーズの1冊です。プロジェクトの最長作業パスを「クリティカル・パス」と呼びますが、複数プロジェクトを掛け持ちする場合をこの書籍では「クリティカル・チェーン」と呼び、対応過程を小説として説明しています。
「複数プロジェクトを掛け持ち」というとそのような機会はあまりないように聞こえますが、 プロジェクトの定義 によりますが実はこの状況は頻繁に発生します。いつの間にか切羽詰まった状況になる前に、この書籍を読むと良いかもしれません。
日経BP社
売り上げランキング: 78,460
人は簡単に「リスク」という言葉を言ってしまいますが、リスクとは何で、どのように管理すべきで、どのように対応すべきかを体系的に理解し実践している現場はあまりないように思います。この書籍では、それらを説明しています。
よくありがちな(あってはいけませんが)「リスク分として工数の20%をバッファとして考えている」のような考え方では、そもそも何がリスクなのか分かりませんし、20%をどのように使うつもりかもわかりません。リスクをちゃんと説明するためにも、チームやプロジェクトを管理する立場になる前に読むべき本といえます。
丸善出版
売り上げランキング: 13,830
非常に有名な本なので紹介するまでもないかもしれませんが、必読本です。この書籍はさまざまな教訓が説明されていますが、筆者は特に「人月の神話」「外科手術チーム」が印象に残っています。特に、意味も考えずに「人月」という単位を使ってしまっている場合、この書籍を読みましょう。100人月の作業に100人アサインしたら1か月で完了するわけではありません。
ワークスタイル
この業界で生きていくために、先達が様々な文章を残してくれています。人が経験したことをそのまま鵜呑みにはできませんが、ある時、ふと思い出すものです。そういった先達の経験を知りたいとき、これらの書籍が役立つでしょう。
オーム社
売り上げランキング: 126,375
翔泳社
売り上げランキング: 211,933
元マイクロソフト社員で、Stack Overflowの生みの親でもあるジョエル・スポルスキ氏のエッセイ集です。エンジニアの面接、なかなか集中できない、過剰な抽象化、など優秀なソフトウェア・エンジニアであるジョエル氏のエッセイが収録されています。筆者は特に、射撃しつつ前進と躍進を続けるアーキテクチャ宇宙飛行士たちが好みです。
オーム社
売り上げランキング: 3,049
ハッカーとは優秀なエンジニアのことを言いますが、ハッカーとはどのようなものか、ハッカーの文化、IT業界やコミュニティがどのようなものかを語っています。プログラミング、というかITシステムというものに興味があるのであれば、非常に面白い文章でしょう。
オーム社
売り上げランキング: 13,389
アスキー・メディアワークス
売り上げランキング: 211,784
達人プログラマー、Clean Coderはともに、エンジニアとして生きるための心得のようなものを語っています。達人プログラマーは中堅以上のプログラマーとしての心得、Clean Coderはエンジニア全般としての心得を語っています。セットで読むと良いでしょう。
Webサービス
技術的なことはいろいろな本が出ていますが、例えば自分でWebサービスを作りたいとなった場合、技術以外でもいろいろと考えなければならないことが出てきます。そういったことを知りたいとき、この書籍が役立つでしょう。
技術評論社
売り上げランキング: 49,634
みんなが読み飛ばしがちな利用規約やプライバシーポリシーですが、作る側としては非常に気を使う必要があります。なにせ、ビジネスモデルに直結するので。この書籍では、規約の作り方やその意味を説明します。
AI技術
勢いのあるAI技術ですが、それがいったい何のかを簡単に説明する本は意外と少ないです。エンジニアならば機械学習系SaaSでも触ってみれば良いかもしれませんが、入門的に知りたい場合に、この書籍が役立つでしょう。
現在のAI技術流行の前に出版された書籍ですが、非常に分かりやすくAI技術について説明しています。
おわりに
インターネットに情報があふれる現代では書籍を読むことが少なくなったかもしれません。しかし、コミュニケーションが媒体により効果が異なるように、情報源も媒体により効果が異なります。具体的には、インターネットでは最新情報が得られますが編纂されていない限定的な情報になり、書籍ではよく整理された情報が得られますが最新ではありません。どのような情報が欲しいかによってどの媒体を利用するかをよく考え、効果的に情報を入手しましょう。
ちなみに、なんとなくわかると思いますが、紹介文が長い書籍ほど個人的におすすめの書籍です。