【上流を目指したいエンジニアへ】オススメの技術書5選
こんにちは!
(株)スーパーソフトウエア東京オフィス 広報です。
エンジニアとして上流工程をできるようになりたいという人も多いと思います。
弊社へご応募いただく方にも「今は詳細設計や実装を行っているけど、今後は上流を含めてスキルを伸ばしていきたい」という方がたくさんおられます。
ただ、上流はプログラミングの延長ではない別の知識・観点が必要になってきます。そのため、何から始めていいのか分かりにくいというのも事実…
そこで現役エンジニアでもある船木代表に、これから上流を目指して頑張りたい人向けの本をチョイスしていただきました!
(本の虫である船木代表に関するお話は下記のリンクよりご覧ください。)
難易度順に5冊掲載していますので、自分に合った技術書を選んで読んでみてください♪
①スクラム 仕事が4倍速くなる世界標準のチーム戦術
【難易度 ☆☆】
Q.この本で学べることは?
A.
ITエンジニアに馴染みのあるウォーターフォールとなにが違い、なぜウォーターフォールが上手くいかないのか。
プロジェクトで問題が発生する際に個人の責めにするのではなく、それを取り巻くシステムの問題、チームの問題としていかに解決していけばいいのかを学べる。
例えば、「仕事量を減らすと成果が倍増する」「自分は計画的に行動し、他人は性格的な傾向が行動を左右していると考える誤り」「いくら計画を立てたところで結果と10倍以上の差が生まれる」など、チームに対する行動経済学のような視点を得られる。
Q.この本を読むべき理由は?
A.
アジャイル開発のスクラムを生み出したジェフ・サザーランド氏の著書。
スクラムの方法論ではなく、なぜスクラムが生まれたか、導入すると何が起こり、なぜ導入すべきかなどの思想、考え方、意義を説明している。
メンバー個人の力量に依存して生産性を上げるより、チームに着目して自律的なチームにした方が莫大に効果がある、という内容。
Q.どんなエンジニアにおすすめ?
A.
アジャイル開発、スクラムについて名前は聞いたことあるけどこれから学ぼうというエンジニアにおすすめ。
スクラムがなぜ生まれて、どういう考え方で取り組めばいいのかが分かる。
アジャイルは形式やフォーマットとして手順通り行えば結果が伴うといったものではなく、アジャイルな状態をキープして改善していくことが重要なため、基本的な考え方から学ぶことは有益なこと。
この本の概要
②システム設計の面接試験
【難易度 ☆☆☆】
Q.この本で学べることは?
A.
世の中によくあるシステム、一度は使ったことあるようなシステムのハイレベルアーキテクチャが学べる。
各アーキテクチャの特性に応じて求められるキーワード、例えば、URL短縮システムではBase62(Base64から記号を除いて扱いやすくしたもの)、レートリミッターではトークンバケットアルゴリズムなどが分かるので、本書をきっかけに自分で深掘りする勉強もやりやすくなる。
Q.この本を読むべき理由は?
A.
数百万人ユーザが使う負荷分散、レートリミッター、Webクローラ、チャットシステム、YouTubeなど実践的なシステムを実現するためのアーキテクチャを解説しているため、完成像がイメージしやすい形でアーキテクチャを学べる。
Q.どんなエンジニアにおすすめ?
A.
「上流のアーキテクチャ基本設計に興味があって、AWSなどのクラウドを多少はさわっている」「これからより設計も行っていきたい」というエンジニアにおすすめ。
個別要素技術の経験をいくら積み上げてもアーキテクチャ設計能力は上がらないので、ゴールから逆算したようなパターンでたくさん学んでいったほうが効率がよいため。
この本の概要
③システムを作らせる技術 エンジニアではないあなたへ
【難易度 ☆☆☆】
Q.この本で学べることは?
A.
システム発注者として何を考え、何を洗い出し、何を決めないといけないのか。上流のさらに先にある顧客側が何を決めているのかの話だけど、エンジニアの立場で考えれば、決めているべきなのか。
Q.この本を読むべき理由は?
A.
「作らせる」という高圧的なタイトルで一部エンジニアから反発を生んでいる本書ですが、悪い意味で「作らせる」と言っているのではなく、作らせるためにこういう情報や意思決定が必要になりますよという意味で、発注者側を対象にしたシステム開発の良書。SEじゃない人向けに書かれているのでわかりやすい。
システムは顧客とベンダーが同じゴールを目指していく必要がある一方で、情報を簡単にそろえることができず、不確実性だらけなので、そういった不確実性を埋める情報を主体的に決めるという部分も専門技術に近く、それが大切だという内容が書かれている。
Q.どんなエンジニアにおすすめ?
A.
もちろんSEではなく発注者側を対象に書かれた本であり、開発エンジニア向けではないが、逆にプロジェクトで必要な情報を誰がどこまで決めるべきかという役割の範囲を整理するためにエンジニアにも役立つ。
上流で顧客を相手にしていこうと思った場合、顧客の話をどうシステムに反映していくべきか、そうではなくシステムよりもっと前の話なので対応する前にやることがある、などの判断軸を養うことができる。
この本の概要
④Web世代が知らないエンタープライズシステム設計
【難易度 ☆☆☆☆】
Q.この本で学べることは?
A.
業務に対する分析的視点から要件定義、外部設計へのつなぎ込みといった業務システム上流工程で必須となる観点が養える。
Webサービスシステムとはドメインが異なるが、エンタープライズ系のシステムでは重要なポイントで具体的な設計観点が学べる。
「アクターの視座からみた複数の情報構造を統合してデータモデリングへ」といった企業の情報システム設計で考えるべきことが学べる。
Q.この本を読むべき理由は?
A.
それほど有名ではない本かもしれないが、実は他人に内緒にしておきたいブックリストのうちの1つ、というくらい実用的な上流観点が身につく濃い本。
特に、Webサービスシステムを開発しているエンジニアにとっては同じ業界なのかというくらい馴染みのない部分もあるはずだが、本書で書かれているような堅い話を知っていると知らないとではスキルの差が生まれる。
あえて言うなら、WebエンジニアではなくSEのための本。
冒頭の「花束問題」に表されるように、一見簡単そうに聞こえる顧客からのシステム化の話でも、上流工程として業務やデータモデリングを1つ1つ考えていくと実は相当複雑な話だったとなり、その情報探求と分析的観点を学ぶことこそが企業情報システムでの上流を担当していくことだとわかる本。
Q.どんなエンジニアにおすすめ?
A.
今は受託開発で製造工程や運用保守を行っていて、将来的には上流へ進みたいと考えている方におすすめ。
また、情報構造がシンプルでアクター数が少ない傾向にあるWebサービスシステムしか扱ってこなかった人が活躍の幅を広げるための視点を得るためにもおすすめ。
すぐに理解して習得しようというとするには難しい内容なので、考えるべき・見るべきポイントってこういうところなんだ、と知っておくだけでも将来役立つはず。
この本の概要
⑤外資系コンサルが教える難題を解決する12ステップ プロジェクトリーダーの教科書
【難易度 ☆☆☆☆☆】
Q.この本で学べることは?
A.
網羅的体系的にプロジェクトの管理・実行の視点や原理原則が学べる、プロジェクトマネジメントの本。
「プロジェクトは今までやったことない取り組みをするわけですから、全てのプロジェクトは成功の可能性ゼロ%から始まります」「判断と決断は異なる、意思決定は何も一人で抱え込まなくて良い」「メンバーは能力と意欲で4つに分類」など経験に裏打ちされた優れた考え方が参考になる。
Q.この本を読むべき理由は?
A.
プロジェクトでの実践的な考え方と、生々しい失敗から学んだ教訓が語られている。
定義フェーズ、デザインフェーズ、推進フェーズそれぞれでやらなければならないことや落とし穴と対象法が分かるので、理想的な状況なんてあり得ないプロジェクトというものに実践的に入門させてくれる本。
Q.どんなエンジニアにおすすめ?
A.
実際にプロジェクトマネジメントを担当する人に役立つ内容というのは当然にせよ、むしろそうでない人が全然分からないながらも読んでみることで自身の立ち位置や視座を一気に上げるような新しい視点を得ることができると思う。プロジェクトマネジメントは観点がなければプロジェクトの中にいたとしても身につかない・分からないものなので、まずは観点を身につけるためにも早い段階で読んでおくと役に立つ。
この本の概要
エンジニアにとって日々の勉強は必要不可欠です。
みなさんが自分の目指す「理想のエンジニア像」に少しでも近づけますように!
応援しています!
スーパーソフトウエア東京オフィスではエンジニアの方を募集しております!
新卒向け情報はWantedlyに掲載中!