おすすめの書籍を紹介します。ぜひ目を通してみてください。
みなさん、技術書読んでいますか? 最近はGoogle検索でだいたいのことはわかるようになってきましたが、やはりストックの知識(体系的な知識)は書籍のほうが便利だと思います。 そこでこの記事では、私が読んだことのある本の中でプログラマ、ITエンジニアにオススメの書籍を紹介してみたいと思います。新人さんや初心者から中級者向けの本をメインに取り上げて行きます。
面白そうな本があれば、実際の書店でてにとってパラパラと内容を確認してみてくださいませ。お近くに書店がない場合は、出版社やAmazonの書籍紹介欄の目次だけでも眺めてみてくださいませ。なんとなく本の内容がわかるかなと思います。
また、わかる範囲で各本の紹介の末尾に「著者情報はこちら」としてTwitterアカウントおよびサイトも記載しています。こちらもあわせてご参照くださいませ。
C言語
C言語 ポインタ完全制覇
中級者向けの本です。この本を読めば下記のような複雑なポインタの宣言もさらっと読めるようになります。
| |
また、文章がブログのような柔らかい語り口調なので読みやすいです。
たとえば p[i] が *(p + i)
のシンタックスシュガーであるという説明のところでは下記のようにポイントが示されています。
| |
ポインタの話だけでなく、スタックやヒープなどの解説もあり、C言語全体の理解にとても役立ちます。さらに、普通の書籍ではあまり触れられることのない、現場で使われるC言語の定石も書かれていて、現場の空気を垣間見ることができます。 「ヘッダファイルには多重インクルードガードを」は当然として「ヘッダファイルはパブリックなものとプライベートなものにわけろ」などある程度の規模の開発では必須の ことを教えてくれます。 また、「アサーション assert を有効につかえ」のような基本的なことや「0と\0とNULLのちがい」といった超マニアックな話題もあります。特にNULL周りの話は、わかっているつもりでもわかっていないことを思い知らされます。 また、下記のように書いたコードがどのようにふるまうかなんてこともわかります。マニアックですね。
| |
ポインタがなんとなくしかわかっていない人、C言語中級を目指す人にはお勧めの本です。現場の息遣いが感じられる良著です!
著者情報はこちら
C言語改訂版 2 はじめて学ぶCの仕組み
C言語には列挙型 enumがあります。整数マクロの代わりに使われている場合が多いですが、enumの真価はそこではありません。
enumの理想(と哀しい現実)をここまでわかりやすく説明した本はほかに見たことがありません。
enumをただの連番を作ってくれる型だとおもっているかたにぜひぜひ読んでほしい本です。目からうろこ間違いなしです。
enumのためだけに買っても損はないと思います。
エキスパートCプログラミング―知られざるCの深層
残念ながらいま(2022年03月時点)は絶版なのですが、もし本屋で見かけたら即買いです。 読んでいて面白いしC言語の深いところを知ることができます。インターポジショニングなんてこの本くらいしか説明ないのではないでしょうか。 リンカを使って既存の関数をおきかえる方法ですが、これを知っているとリンカのくせのある挙動が理解できます。 その他にもいっぱい面白い項目があって、なんでこれが絶版なのか、ほんとうに惜しい。C言語の本で間違いなくダントツでナンバーワンです。
C言語デバッグ完全解説
書籍名の通り、C言語に特化したデバッグの解説本です。バグを難易度で「初級」「中級」「上級」に分けて、それぞれのレベルでのよくあるバグを例示しています。 そしてそのバグの原因と修正方法を解説しています。デバッグとバグの起きにくいコーディングについて書かれた良書です。デバッグで困っている、コードレビューでよく指摘される、そのような方にオススメの本です。 初級について例を挙げると、下記のようなあるあるバグが例示されています。
| |
freeした後にNULLを入れて安全にする、ということがしたかったコードですね。
ですがこれは下記のようにプリプロセッサで展開されます。いわゆるぶら下がり文のバグを思っ切り踏んでいます。
| |
解決方法はベテランの方はすぐに思いつくと思いますが、下記の例が挙げられていました。マクロ関数は
do-while(0)で囲め、という古の戒め通りですね。
| |
他にも中級、上級になると、バッファーオーバーランや乱数の精度、割り込み(シグナル処理)でのバグを解説しています。 複雑なのでここでは例示できませんが、書籍を手に取ってみて確認してみてください。
後半はデバッグの方法(パラメータの振り方など)やバグの出にくいコーディングの方法を解説しています。気をてらったような記述はなく、現場でも口を酸っぱくして言われるだろう至極真っ当なことが書かれています。 ひとまずC言語の文法は覚えてコードはかけるけどデバッグに時間が取られている。コードレビューでバグの可能性をよく指摘される。そういう初級者から中級者の方にオススメの一冊です!
C言語 入門書の次に読む本
題名の通り、初心者が次のステップに進むための本です。 入門書にありがちがなリファレンス的な内容ではなく、どちらかというとプラクティスを説明している本です。 ヘッダファイルには何をかけばいいのか、ライブラリはどうするのか、などなど。入門書を一冊読み終えたひとにおすすめしたい本です。
プログラミング言語C
説明、いりますかね?いらないですよね。みんなご存知C言語のバイブル。 少なくともANSI Cの範囲ではもし何かあっても「K&Rの本に書いてある!」といえば相手を黙らせられます。
ただ難易度は少し高いです。Unixを知っていること前提な感じなので全くの初心者には向きません。情報系の大学生にちょうどいいかな、という感じです。 C言語をやるならとりあえず持っておくべき本でしょう。
組込み開発者におくるMISRA‐C:2004―C言語利用の高信頼化ガイド
自動車業界のひとたちが守っているコーディングルール MISRAの説明の本です。 自動車はうっかりバグっちゃいましたテヘペロではすまないのでけっこうルールが厳しいです。 他の業界がそこまでやる必要があるかというと微妙ですが、部分的に取り入れるのはありだと思います。 意地でもバグを出したくないぜ!そのためなら自由を捨てるぜ!という方はぜひ。
CERT Cセキュアコーディングスタンダード
こちらはセキュリティ関係のひとが守るコーディングルールですね。うっかり脆弱性を作り込まないための本です。ほほう、そんなところに脆弱性が……?となるような項目がたくさんです。
CプログラミングFAQ Cプログラミングのよく尋ねられる質問
ちょっと古いのですがこれも名著です。C初心者がつまづくところをFAQ形式で説明しています。 多次元配列のポインタなんかぜったいつまづくよね、とおもったり。 対象にしているCのバージョンが古いのでたまに今の規格とあっていないところもありますが、けっこうそのまま使えます。
プログラミング診断室
これも名著ですね。やばいコードが盛りだくさんです。 世の中って広いんだなぁと思わせてくれます。
ハッカーのたのしみ
書籍名だけみると、ネットワークの脆弱性の本かと思ってしまいますが、実際の内容は異なります。 たとえばもっとも簡単な例だと、1Word中の1のBitを数えるような、ビット演算レベルのアルゴリズムを紹介している本です。
こういうと「コンパイラが最適化してくれる」という意見もあるかもしれませんが、アルゴリズムレベルで異なるものは最近のコンパイラと家でもなかなか勝てません。たとえば最初に例をあげた「1Word中の1のBitを数える」というコードですが、本書では下記のようなコードを挙げています。配列も使わないし繰り返しどころか条件分岐すらない、ビット演算と加減算のみの高速なコードです。 なぜこれでビットの数え上げができるのか、本書では数学的な丁寧な解説があります。理論好きなかたにはたまらない一冊でしょう。
| |
このような簡単な例からはじまり、ビット並び替え、整数の乗算除算、平方根や行列反転、ヒルベルト曲線など高度な話もでてきます。下記の記事もこの書籍を参考にしています。 C言語で2の累乗(2^n)への切り上げ&切り捨て
組込みシステムがリッチになってきたとはいえ、ブートローダのようにまだまだ1Byte単位で戦わざるを得ない場面もあります。 カーネルを触る人なら、ディスパッチャを1命令でも少なくしたいという要求もあると思います。 そのような限界へ挑戦するプログラマにうってつけの名著です。
RTOS, 組込みシステム
リアルタイム組込みOS基礎講座
基礎講座の題名に反してちょっと内容がむずかしいですが、これをよめばRTOSのことをひととり解ると思います。セマフォやメッセージキュー、同期やデッドロックなど避けて通れない話題がたくさんです。ひとまず読んでほしい本。
組み込みソフトウェアの設計&検証
タスク設計の勘所なんかを学べる本です。RTOSだと設計といえばタスクスケジューリングの設計が主ですが、その方法を解説しています。 破綻しない方法、デッドロック市内方法など。説明がわかりやすいのでおすすめです。後半はモデルを使った数学的な話がでてきて難易度が上がります。
μITRON準拠TOPPERSの実践活用
TOPPERS/JSPの本です。網羅的な内容ではないですが、いろんな各アーキテクチャへのポーティングの話があってカーネル理解の勉強になりますね。
CとGNU開発ツールによる組み込みシステムプログラミング
隠れた名著だと思います。もっと売れていていいと思うんですけどねぇ……。 コンパイルやリンク、ロードなどの説明から始まってDMAやLEDなどを制御するRTOSのデバドラの作り方、最後にRTOSの説明をしています。普通の教科書では概念だけで済ませるところをちゃんと説明してくれるのでホント助かりました。おすすめです。
組込みI/Oインタフェース基礎講座
組み込み関係の本ってさも当然のようにSPIやらUARTやらI2Cの話が出てきますが、それらを説明した本ってなかなかないんですよね。これはそういうI/Oを説明した本です。かなり珍しい本なので、そこらへんの話が苦手なひとはぜひ読んでおくといいと思います。
30日でできる! OS自作入門
おそらくこの本が OS自作本のはしりじゃないかと思います。 組み込みというより普通のPCのハードで動かす本です。ただ内容は組み込みにも応用できる話題がたくさんです。RTOS というより汎用OSのカーネルとかに興味があるひとが向いている気がします。
ARM, Cortex, プロセッサ
CPUの創りかた
言わずとしれた名著。これを超える本は出てこないのでは。CPUの作り方をまなびながらハードの基本が学べます。プルダウン?なにそれ?というレベルでも読めます。とにかくまず読んで。これをよまなきゃハードは始まらないぜ。
ARM組み込みソフトウェア入門
Cortexより前の、クラシックARMのときの本。ちょっと古いんですが、ARM系の組み込みソフト屋としては知っていて損はないことばかり。
開発プロセス, マネジメント
アジャイルサムライ
アジャイルの入門書といえばアジャイルサムライ!といえるくらい有名ですね。 マスターセンセイが、軽妙な語り口でわかりやすくも厳しくアジャイルについて教えてくれます。
絵などが豊富でとても読みやすいです。そして内容も濃いです。アジャイルの根本的な考え方からはじまり、アジャイル的なチーム作り、見積もりのやり方、プロジェクトの進め方、そしてプログラミングの仕方まで説明があります。 出てくる用語をざっと挙げると「エレベータピッチ」「インセプションデッキ」「イテレーション(スプリント)」「スタンドアップミーティング」「ベロシティ」「ふりかえり」「WIP」など、アジャイルに欠かせないものをきっちりおさえてあります。
他の本だと難しく書かれている説明も、現場にそった説明がされていて、とても理解しやすいですね。まずはこの本から始めるのがいいと思います。チケット駆動開発をするにもこれを読んでおくと導入しやすそうです。 ただ、唐突に「ファーンファーンウィーヒッダステーッステー」とか書かれていたのは笑ってしまいました。楽しくアジャイルを学べる本です。
人月の神話
古典的名著。人を増やせば早く終わるってもんじゃねーぞというのを指摘した本。読んでないと話にならないくらいの名著です。必読。
Redmineによるタスクマネジメント実践技法
おそらくチケット駆動開発 TiDDの最初の本ではないでしょうか。いまでこそ当たり前になっているチケットによる開発ですが当時はまだ浸透していませんでした。おすすめプラクティスものっていて、これも必読。
Linux, Unix, シェルスクリプト
UNIXという考え方
Unix/Linuxを使うならこれはよんでおかないと話にならないですね。Unixがどういうポリシーで作られているかを述べた本です。 1つのコマンドには1つのことをやらせる、データはテキストであつかう(だからパイプなどでどんどんコマンドをつないでいける)など、基本をぎゅっと抑えられます。
動くメカニズムを図解&実験! Linux超入門
隠れた名著です。題名からはわかりづらいですが、組み込みLinux向けだと思います。対象読者はRTOSなどで組み込みシステムの基本を抑えた人向けかなと思います。RTOSからの移行組にぜひおすすめしたい。
入門UNIXシェルプログラミング
シェルプログラミングといえばまずはこの本!という名著。シェルとはなにかから始まり段階を追シェルってシェルスクリプトに向かいます。
途中には避けては通れないsedなどの使用法も解説もあります。後半には豊富なサンプルがあり学習しやすいです。
bashの拡張機能などは載っていませんが、この本の書き方ならどこの環境でもまず動くと思うので、何はともあれこの本を読んでから拡張機能にi手を出すのがいいと思います。
私はどのようにしてLinuxカーネルを学んだか Device Tree編
おそらく唯一のDevice Tree専門の本です。 最近の組込み業界はARM一色ですが、組込みLinuxも例外ではありません。そしてARM(だけに限りませんが)をLinuxで動かすためにはDevice Treeの知識がかかせません。 結構最近できた、ハードの差異を吸収する仕組みなんでが、こいつがなかなかに難しい……。そして情報もすくない。そんな八方塞がりの状態をなんとかしてくれる良書です!
Git
独習 Git
ソフトエンジニア向けのGitの解説本です。これ一冊あればひとまずOKでしょう。 対象としては「いつもなんとなくpushとかpullとかしてるけどなんなのかはよくわからん」「環境がLinuxなのでSourceTreeとかの素敵なGUIツールが使えない」「コマンドラインでやらざるを得ない」というような、 ちゃんとGitを真面目に理解したい、理解しないといけないエンジニア向けの本です。
最近は非エンジニア向けに書かれた解説書や、GUIツール前提の本なども多く、それはそれでわかりやすいです。 確かにルーチンな作業はそれで十分なのですが、大規模開発でブランチを多用したり、開発リーダとしてGitの運用ルールを考えたりするような場合は少し心もとないです。 「rebaseって何?」とか言ってるようだと、あとあと詰んでしまいます。 この本は最初は易しいところから、少しづつコマンドを学んでいく形になっています。 最終的にはブランチを生やしたり、それを分岐元に追随されたり、マージしたりということを自在にできるようになります。
400ページ超あり、なかなかの分量ですが、その分ていねいに書かれています。 Gitの入門書を読んだけどいまいち何をしているかわからない人、コマンドラインでGitを操作したい人にはうってつけの本です!!
実用 Git
オライリーのGit本です。オライリーだけあってけっこう高度です。 Git初心者がいきなり読むのはおすすめできません、先に独習Gitを読んでからこの本に進むことをおすすめします。
たとえばGitの得意ないい感じにマージするってのはこんなにむずかしいことやっているのか、と感心しました。
技術系その他
Docker&Kubernetesのきほんのきほん
これはわかりやすい。Docker 最初の一冊におすすめです。Docker をこれから始める人向け。フルカラーで図もたくさんでとても親切。これ読んでわからなかったら、正直もう無理だと思う。それくらいわかりやすいです。
暗号技術入門
数学ガールで有名な結城先生による暗号の解説書です。 最近は IoTの広まりにより組込み機器もネットにつながる時代です。そのため組込みエンジニアも、暗号処理や公開鍵基盤などのセキュア技術も知っておく必要が出てきています。 しかし専門書はアルゴリズムがムスカしい数式で説明されており、その道の人でなければ理解するのが難しいです。
いっぽうこの本では、暗号の処理をおもにデータフローのような図解で説明してあり、また、実際のどのように使われるのか、なぜその暗号が必要なのかをアリスとボブのようなキャラクターで例示してくれるのでとてもわかりやすいです。
さらに、専門家なら常識すぎてあまり言及されないようなこともちゃんと教えてくれます。 例えば「どんな暗号もいつかは解読される」「この製品は絶対に解読できない暗号をつかっている、などの宣伝文句は疑ってかかろう」という旨の注意喚起もあります。
内容としては、暗号の歴史的背景(シーザー暗号やエニグマなど)から始まり、対象暗号(DES、AESなど)、公開鍵暗号(RSAなど)について解説されています。 さらにハッシュ(SHAやKeccakなど)やメッセージ認証(MAC)、デジタル署名、さらに電子証明書、公開鍵基板(PKI)の解説と続きます。さらに鍵とはなにか、乱数とは、などすこし高度な内容がつづき、 最後に「暗号技術を組み合わせる職人芸」であるPGPとそのGNU実装のGPG(Gnu Privacy Guard)の解説があります。
補足として、仮想通貨やビットコイン、また、最近の暗号のトレンドである楕円曲線暗号についても少しですが触れられています。 いきなり暗号の専門書をよんでも挫折することうけあいなので、一歩一歩わかりやすく解説されているこの本でまずは基本を押さえるのがよいかと思います!
著者情報はこちら
暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書
暗号を解説した本です。図や例がおおくわかりやすいです。また新しい本なので最近の暗号についての説明や技術について説明があるのも嬉しいです。内容もしっかりしています。
序盤は初心者向け、中盤は高校〜大学学部くらいのレベルの話があります。後半はビジネスロジックに近いところのお話。充実した内容でかなりおすすめです。
ITエンジニアとして生き残るための指南書。 自分を守りアップデートするための18のテクニック
技術書や研修などで学ぶような知識でなく、現場でしかも休憩時間なんか同僚や先輩との会話で出てくるような話題が多い稀有な書籍ですね。 ソフトウェア開発のことももちろん書いてありますが、それよりもふと現場で交わされる話題が多いです。そういうのってなかなか文書で読むことはない、現場で伝承されるある種の口伝です。 例えば「休日出勤の方が邪魔入らないよね」てのはよく聞くことがですが「代休取ればいいしね!お賃金ももらえるし!」まで書いてある本は見たことがない。職場ではよく聞く話題ですが。あとは「タバコ休憩」「トイレでの居眠り」なんかも現場ではよく出る話題ですね。 あとは「バグを市場に出してしまったとき、果たしてバグを入れてしまった開発者個人に責を求めるのは正しいのか?」というような話題もあります。 あまり書くとネタバレになってしまうのでここら辺にしておきますが、読者によって下記のような反応になるでしょう。 ・若手(5年未満くらい) → ほえー。まじかそうなのか! ・中堅(20年未満くらい)→ あるある笑 ・ベテラン(20年以上)→爆笑(著者談) ゴリゴリの技術書といよりはエッセイに近い雰囲気でとても読みやすいです。電車内とかでも読めるのでおすすめです。 ITエンジニアとして生き残るための指南書
ターミナルソフトTera Termガイドブック
みんなご存知Tera Termのガイドブックです。 前半はTera Termの使い方、後半はTera Termの開発、メンテについてです。
前半のTeraTermの使い方は、メンテナのかたが書いてあるだけあって細かい機能なども書いてあります。 透過ウィンドウ設定ができるとか、10年以上使っている私もしりませんでした。
他にもマクロやショートカットなどの説明があります。 いつも通り使う分には困ってなくても、より便利に使うために役立ちそうな情報がたくさんあります。 前半のTera Termの機能の使い方もいいのですが、個人的におすすめなのは後半のTera Termの開発についてです。
OSSとしてTera Termのメンテが行われていった経緯などがつぶさに書いてあります。 Tera Term をアップデートすべく、オリジナルの作者である寺西氏に著者がコンタクト取ろうとする様子などが、実体験として書かれています。
世の中にはたくさんの素敵なOSSのソフトがあり、変更履歴やイシュー管理などされていますが、メンテナの心情や動機までは記録されていません。 この本は、そのようないわゆる「中の人」の心情が書かれています。これから先、OSSに関わってみたいという人にぜひともおすすめです!!
ちなみにですが、不肖私この本の帯を書かせてもらいました。でも大丈夫です、何部売れてもわたしは一銭もはいりませんのでそこは安心してお買い求めください!!
簿記, 財務
会社は利潤追求を旨とする組織である以上、会社員はお金や資産について最低限は知っておかなければなりません。 そのお金について学ぶ方法の一つとして「簿記」を勉強することが挙げられます。 特に日商簿記検定は公的資格とみなされ、本屋に行けば大量の参考書がありますし、さらに履歴書にもかけてお得です。 また、IT系の資格試験に比べ受験料も大変リーズナブルでお財布に優しい。
簿記を少しだけでもかじっておくと、世の中のお金の話が全く異なって見えてきます。 あまり技術を知らない他業種の方がIT製品やサービスに触れるのと、私たちエンジニアがそれらに触れるのとでは見えるものが違うのと同様に、 簿記を知らない人が見る社会のお金に関することと簿記を知っている人が見る社会のお金に関することは見え方が全く異なります。
わかりやすい例で言えば「借金(負債)」ですね。簿記を知らない人は「負債(借金)→悪いこと!」と短絡してしまいますが、 ちょっとでも簿記をかじっていれば「負債(借金)→現金が増える→それを投資して機材買ったりしてより利益を出せる(かも)」と考えることができるわけです。 お小遣い帳の発想から抜けられるんですね。
ゲーテだか昔の偉い人が「複式簿記は人類の偉大な発明の一つ」という旨の発言をしたといわれていますが、確かにその通りかもしれません。 お小遣い帳から複式簿記への進歩は、運動方程式や微積分の発見に匹敵する、というと大げさかもしれませんが、オブジェクト指向のパラダイムシフトより大きな変化だったのかもしれません。
また、よく転職市場では「ポータブルなスキルを持て」と言われます。つまり社外でも通用するスキルを持っていると転職で有利だよ、ということです。 例えば特定のプログラミング言語は他社に行くと使えないかもしれません。 まあプログラミング言語は比較的どこの現場でも使えますが、特定の開発ツールだと使えない危険性はもっと高まります。
エンジニアの技術は可搬性がない場合があるんですね。比較して簿記などのお金のスキルはどの会社でも必須です。 業界も関係ありません。貸借対照表B/Sや損益計算書P/Lのない会社はないでしょう。どこでも使える簿記。多分50年後も使える簿記。すごい。
ということで、エンジニアなわれわれも簿記の初歩くらいは知っておかないといけないので、そのための良書をご紹介します。
とある会社の経理さんが教える楽しくわかる!簿記入門
パンダさんたちが、軽妙なボケツッコミをしながら簿記の基本を教えてくれる本です。 漫画と文章の2種類の解説で、簿記の本とは思えないくらいスラスラと読めちゃいます。
ときどき唐突にマッチョになって簿記の重要性を説くパンダさんとかいい味出しています。 もちろん日商簿記3級に役立ちますが、試験対策というよりも、簿記の本質基本を現場の人が丁寧に教えてくれる本だと思います。
著者情報はこちら
とある会社の経理さんが教える楽しくわかる!原価計算入門
原価計算は日商簿記2級の範囲(工業簿記)ですので、これから簿記を始める人向けでなく簿記3級を取得したくらいんレベルの人向けの本です。 これまたパンダさんたちが、軽妙なボケツッコミをしつつ難しいはずの工業簿記の原価計算を教えてくれます。
今回も漫画と文章の2種類の解説で、簿記の本とは思えないくらいスラスラと読めちゃいます。 パンダさんに加え、友人からカネをちょろまかしようとするサルさんとかいい味出しています。
もちろん日商簿記2級に役立ちますが、試験対策というよりも、これも簿記の本質基本を現場の人が丁寧に教えてくれる本だと思います。 マンガで原価簿記なんて説明できるのか?といぶかしがる方もいらっしゃるかもしれませんが、大丈夫です。 やはり現場の人の書いた本は本質を抑えています。いきなり簿記2級の工業簿記をやるのではなく、先のこの本を読んでからの方がスムーズに進められると思います!
パブロフ流でみんな合格 日商簿記3級 テキスト&問題集
簿記検定界の愛されキャラ、パブロフくんの簿記3級編です。 4コマ漫画と文書での説明とでわかりやすく解説してくれます。このパブロフくんが意外とシュールで、持っている株(売買目的有価証券)が上がるようお祈りしたり、株価が下がれば株券を破っちゃったり、従業員に給与を払うのを嫌がったり、可愛さ大爆発です。 パブロフくんとなら頑張れる気がします!
下記では、この記事を書いている時点での最新版へのリンクを貼っていますが、数年に一度改訂版が出されるのでねんために改訂されてないか確認してくださいね。
著者情報はこちら
ビジネス, 自己啓発系
職場の問題地図
職場の「あるある!」な問題を取り上げ、その対策案を示している本です。 「無駄な会議」「作業の属人化」「報連相の不備」「仕事しない人がいる」など、どこの職場でもありがちな問題を大きく11つ取り上げてあります。
この本の特徴は、ベテランなら「経験則」わかっているこれらの問題の対策を、「場」と「プロセス」に焦点を当て言語化してシステマチックに説明してあることです。 例えばわかりやすい例として無駄会議をあげます。私の方で要約すると「目的の明確化」「出席者の厳選」「議事録容易化」「決定事項、宿題事項、次回予告の3点確認」の5つの対策が挙げられていました。 それらの対策と得られる効果らを星取り表にして説明してあります。
単に対策をつらつら場当たり的に書いているのでなく、ちゃんと体系的にまとめられているのでとてもわかりやすいです。 また、各個人向けの仕事術的なことも書いてあります。基本的なことを抜粋すると「仕事とはインプットを成果物に変換すること」と定義し、 「インプット」「アウトプット」「目的」「関係者」「効率」の5つの要素に分解しています。いわゆる仕事がデキる人はこんなの当たり前だと思うかもしれませんが、 案外これを意識していない人は多いものです。特にこれから経験を積んでいこうとする若手は、これらに気づくまでにそれなりの時間を要する可能性があります。
これを体系的に言語化して理解できるのはメリットが大きいと感じます。 また、これら5つの要素をフレームワークとして、それぞれの職場の問題に当てはめ解決策を提示していきますので、解決のフローが明確となっています。 とてもわかりやすく書籍の構成、まとめかた自体が参考になります。 職場をマネジメントするマネージャ層だけでなく、これから仕事を覚えていく若手にもオススメの名著です!
著者情報はこちら
武器がないエンジニアは肯定を続けることで、武器を手にする
インフラ勉強会の立ち上げ人の佐々木康介さんの処女作です。 「技術的な強みがないエンジニアがどうすれば戦っていけるか」を佐々木さんの視点で書いた本です。その内容は、一貫して「肯定しよう」というメッセージです。
一般的に、技術書の著者というのは難関大学出身だったり有名企業の研究開発部門の人だったりということが多いですが、佐々木さんは「大学文系→商社営業→インフラエンジニア」という経歴の持ち主です。 理系バカ(私含め)が多いIT業界において、独特な経歴からの視点でIT業界を観察し生き抜いていく心得がたくさん書かれています。
イケてるプログラミング言語や流行りの分野の話などは出てきません。着実に、日々の業務を成し遂げ成長していくか、その視点で実体験をもとに書かれています。題名にもなっている「肯定」の力で物事を捉え、やるべきことやれるべき事を実行していこうというスタンスですね。 何かと後ろ向きに物事を捉えがちな我々理系エンジニアとしては、新しい視点を教えてくれる良書です。もちろん得意不得意があるので、そのまま真似はできないかもしれませんが、自分の今の強みとミックスさせていけば必ずや前に進めると思います。 「20分で読めるシリーズ」とのことで分量は多くないので、通勤時間などでサクッと読めると思います。自分は後ろ向きだなあ、実行力がないなぁ、などと悩んでいるエンジニアに、ぜひ読んでもらいたい本です。
残酷すぎる成功法則
成功するためのハウツー本は巷にあふれていますが、どれもだいたい作者の体験談とかで「それってアナタの主観ですよね?」といいたくなるようなものばかりです。しかしこの本は、あらゆる法則にエビデンス付きで考察しています。つまり科学的なのです。すべてに論文などのエビデンスをもとに書いてあります。 よくある成功者の自慢話ではなく、真に客観的な成功法則を知りたいかたにぜひおすすめしたい本です!
ドキュメント作成
エンジニアのためのWord再入門講座
「くたばれ!Excel方眼紙!」という章があったりして過激な感じをうけますが、内容はとても真摯な本です。 MS Wordの「スタイル」という機能をつかって、見栄えよくかつメンテナンス容易にできるようにしてくれる本です。
筆者の「ドキュメントの内容は当たり前品質」という考え、つまりプロなら内容はちゃんとしていて当たり前という考えが随所にでています。 内容がちゃんとしているのは当たり前という考えのもと「1に見栄え、2にメンテナンス性」という最初の段階と断言しています。
こう書くとなんか見栄え重視の薄っぺらい本かと思うかもしれませんが、さにあらず。まるでソースコードを書くように「設計」や「DRY原則」を重視しています。 むしろ、見栄えに時間をとられたくない硬派なITエンジニアのための本といえます。 そのためのMS Word のほんとうの実力を引き出してくれる本です。
伝わるデザインの基本
題名からしてデザイナーさん向けの本に見えますが、そうではありません。 むしろ非デザイナー向けの本です。もともとが「研究発表のユニバーサルデザイン」というサイトがベースになっており、オシャレな広告を作るというようなものではありません。 わかりやすい表やグラフ、図を作るためのものです。それらのコツを伝授してくれます。
文字を詰め込みすぎるなとかフォントの選び方などの超ベーシックなところから、グラフのみやすい作り方、見やすい表の枠組みの作り方、さらに配色や余白、ベクター形式がいいかビットマップがいいかなどの細かいところまで網羅しています。 これさえ読んでおけば、普通にエンジニアが資料を作るには十分すぎると思います。
著者情報はこちら
考える技術・書く技術―問題解決力を伸ばすピラミッド原則
古典的名著といえる本です。よくある「結論から書け」などという曖昧模糊とした方法論ではなく、もっと具体的な方法を教えてくれます。 その原則さえ抑えておけば、メールでもドキュメントでも、文章を書くのが随分と楽になります。仕事で文章を書くのに詰まったときはいつもこれを引っ張り出しています。
ただ惜しむらくは、文化的背景の違いなのか、なぜか本書はわかりづらいということです。 例文が難しすぎる気がします。ただ、書いてある原則自体はシンプルなので、ちょっと辛抱して読んでみてみると良いかと思います!
「分かりやすい表現」の技術 意図を正しく伝えるための16のルール
こちらも古典的名著といえる本です。 どういうものがわかりづらいのかの実例をあげ、それが何故わかりづらいのかを解説し、改善版を示してくれます。 非常にわかりやすい本です。また新書サイズなのでいつでも読めるのも嬉しいところです。 「考える技術書く技術」を読む前にこちらを読んでおくといいかもしれません。これも必読の本です。