ソフトウェアエンジニアガイドブック

世界基準エンジニアの成功戦略ロードマップ

4,180円
Ebook Storeで電子版を購入:
価格4,180円
カートに入れる

内容

エンジニアのキャリアロードマップを全方位的に描く!
購読者数100万人超の人気テックニュースレター著者が、長年にわたり自身のブログやニュースレターでソフトウェアエンジニアたちに伝えてきたアドバイスを総括。
MicrosoftやUberなど大手テック企業での経験をもとに、新人としてのスタートから、シニアエンジニアやテックリードとしての成長を経てロールモデルとなるスタッフエンジニアのレベルに至るまで、ソフトウェアエンジニアの典型的キャリアパスと、各段階に必要なスキルならびに実用的知識を徹底解説します。
◆日本語版限定◆著者インタビュー「世界基準エンジニアの成功戦略」も収録!

関連書籍

目次

まえがき
イントロダクション

第一部 開発者としてのキャリアの基礎

第一章 キャリアパス
    1.企業の種類
    2.ソフトウェアエンジニアリング分野の典型的キャリアパス
    3.企業の報酬と「階層」
    4.コストセンターとプロフィットセンター
    5.キャリア向上についての別の考え方

第二章 自分のキャリアを主体的に切り開く
    1.自分のキャリアは自分の責任
    2.「仕事をやり遂げる人」と見られるようになる
    3.業務日誌をつける
    4.フィードバックを求め、与える
    5.マネージャーを味方につける
    6.自分のペースを整える

第三章 業績評価
    1.早期に始めるべきこと:背景情報の収集と目標設定
    2.習慣の力
    3.業績評価の前に
    4.評価

第四章 昇進
    1.昇進の決定方法
    2.昇進プロセスの種類
    3.「ターミナルレベル」
    4.ビッグテックでの昇進
    5.昇進に向けたアドバイス
    6.長期的なキャリア観

第五章 多様な環境で成功を収める
    1.プロダクトチームとプロダクト志向のエンジニア
    2.プラットフォームチーム
    3.「平時」対「戦時」
    4.企業の種類

第六章 転職
    1.新たな機会を探る
    2.昇進を待つか、転職するか
    3.技術面接の準備
    4.レベル降格
    5.レベル昇格
    6.新しい仕事へのオンボーディング

第一部のまとめ

第二部 有能なソフトウェア開発者

第七章 仕事をやり遂げる
    1.一番重要な仕事に集中する
    2.行き詰まりを自ら解消する
    3.作業を分解する
    4.作業時間を見積もる
    5.メンターを探す
    6.「のれん残高」を定期的に補充しておく
    7.率先して行動する

第八章 コーディング
    1.コーディングを練習しよう(それもたくさん!)
    2.リーダブルコード
    3.高品質なコードを書く

第九章 ソフトウェア開発
    1.プログラミング言語に熟練する
    2.デバッグ
    3.リファクタリング
    4.テスト

第十章 生産的な開発者が使うツール
    1.利用中のローカル開発環境
    2.よく使われるツール
    3.イテレーションを迅速に回す方法

第二部のまとめ

第三部 多方面にわたり円熟したシニアエンジニア

第十一章 仕事をやり遂げる
    1.仕事をやり遂げる:認識と現実
    2.自分自身の仕事
    3.やり遂げる際には、きちんとやり遂げる
    4.自分のチーム
    5.全体像

第十二章 共同作業とチームワーク
    1.コードレビュー
    2.ペアを組む
    3.メンターによる指導
    4.フィードバックを与える
    5.他のエンジニアリングチームとの作業
    6.他者に影響を与える

第十三章 ソフトウェアエンジニアリング
    1.言語、プラットフォーム、専門分野
    2.デバッグ
    3.技術的負債
    4.ドキュメント
    5.チーム全体にベストプラクティスを広める

第十四章 テスト
    1.ユニットテスト
    2.インテグレーションテスト
    3.UIテスト
    4.自動テストのメンタルモデル
    5.特殊なテスト
    6.本番環境でのテスト
    7.自動テストの長所と短所

第十五章 ソフトウェアアーキテクチャー
    1.設計ドキュメント、RFC、アーキテクチャードキュメント
    2.プロトタイプ作成と概念実証
    3.ドメイン駆動設計
    4.リリースにこぎつけるソフトウェアアーキテクチャー

第三部のまとめ

第四部 現実解を導き出せるテックリード

第十六章 プロジェクト管理
    1.エンジニアがプロジェクトを主導する企業
    2.なぜプロジェクト管理を行うのか?
    3.プロジェクトのキックオフとマイルストーン
    4.ソフトウェアプロジェクトの物理法則
    5.日々のプロジェクト管理
    6.リスクと依存関係
    7.プロジェクトを締めくくる

第十七章 本番環境へのリリース
    1.本番環境へのリリースにおける極端な場合
    2.典型的なリリースプロセス
    3.原則とツール
    4.重ねて検証を行うための層
    5.現実解としてのリスクの取り方
    6.他に考慮すべき事項
    7.アプローチの選択

第十八章 ステークホルダー管理
    1.ステークホルダー管理の真の目標
    2.ステークホルダーの種類
    3.自分にとってのステークホルダーが誰であるかを把握する
    4.ステークホルダーを常に情報共有の輪の中に入れておく
    5.問題のあるステークホルダー
    6.ステークホルダーから学ぶ

第十九章 チーム構造
    1.役割と肩書き
    2.チームのプロセス
    3.チームの集中力を高める

第二十章 チーム力学
    1.健全なチーム
    2.不健全なチーム
    3.成長痛を抱えるチーム
    4.チーム力学の改善
    5.他のチームとの関係

第四部のまとめ

第五部 ロールモデルとしてのスタッフエンジニアとプリンシパルエンジニア

第二十一章 ビジネスを理解する
    1.ノーススター、KPI、OKR
    2.自分のチームとプロダクト
    3.自分の所属する会社
    4.上場企業
    5.スタートアップ
    6.自分が属する業界

第二十二章 共同作業
    1.社内政治
    2.他者に影響を与える
    3.マネージャーとの共同作業
    4.スタッフ+の同僚との共同作業
    5.人脈を広げる
    6.他者を助ける

第二十三章 ソフトウェアエンジニアリング
    1.相変わらず行うコーディング
    2.有益なエンジニアリングプロセス
    3.イテレーションを迅速に行うためのエンジニアリング上のプラクティス
    4.エンジニアの効率性を高めるツール
    5.コンプライアンスとプライバシー
    6.セキュアな開発

第二十四章 信頼性の高いソフトウェアシステム
    1.信頼性を担保する
    2.ログ記録
    3.モニタリング
    4.アラート
    5.オンコール
    6.インシデント管理
    7.レジリエントなシステムの開発

第二十五章 ソフトウェアアーキテクチャー
    1.可能な限り単純に保つ
    2.専門用語は知るようにしつつも多用はしない
    3.アーキテクチャー的負債
    4.ワンウェイドアの決定とツーウェイドアの決定の比較
    5.意志決定の影響範囲
    6.スケーラブルなアーキテクチャー
    7.アーキテクチャー上の決定 対 ビジネス上の優先事項
    8.表無が行われる現場の十分近くに留まる
    9.ソフトウェアアーキテクトの特性

第五部のまとめ

結論――生涯学習
    1.好奇心を抱き続ける
    2.学び続ける
    3.自分に対して課題を出し続ける
    4.業界の最新情報についていく
    5.一休みする

日本語版特別付録:著者インタビュー
世界基準エンジニアの成功戦略

参考文献
注記

正誤表