電子書籍『中堅エンジニアになろう』を作成しました

『中堅エンジニアになろう』というタイトルの電子書籍を作成しました。

私の部下に向けて、知っておいてほしいこと(ソフトスキル、ハードスキル)を広く浅く紹介する資料が欲しくて作りました。A4で250ページぐらいです。

会社固有の事情は入っていないです。IT業界に入って2~4年目くらいのエンジニアの人を想定読者としています。

Amazon(Kindle)とBOOTHで販売しています。価格は100円ぐらいです。

Amazon Kindle版

AmazonKDPは最低価格が99円だったので、この金額にしてます。読み放題の対象でもあります。

Amazonで購入したい、Kindleで管理したい人向けです。

Kindle向けの最適化が今のビルドシステムだと簡単にはできなかったので、リフローには非対応です。

BOOTH版

booth.pm

BOOTHのほうは有料販売の最低価格が100円だったので、この金額にしています。

BOOTHにはギフト機能があるので、購入して誰かに読ませたい、という場合には便利かもしれません。

BOOTH版はビルドしたPDFそのままなので、ファイルサイズが小さいのと、目次も対応していて、PDFリーダーで読みやすい形になっています。

制作について

企画、アウトラインをまずはテキスト、箇条書きでまとめた上で、そこからはClaudeCodeによる生成を多用して作りました。

本書の文章は、基本的に生成AIで生成されたテキストです。 とはいえ、言い回し、内容(私の思想、方針の反映)については、私が細かく指示を出して修正をさせているため、私が作成したかった文章になっています。

組版には Typst を使いました。ビルドシステムについては別途、気が向いたら詳細を書くかもしれません。

書籍の目次

  • はじめに
    • 本書の目的
    • 本書の読み方
    • 執筆のきっかけ
    • 対象読者
    • 本書で使用する環境
  • 第1章: 中堅エンジニアとは
    • この章で学ぶこと
    • エンジニアのキャリア段階
      • 中堅エンジニアの定義
      • 経験年数の目安
      • チームの即戦力としての役割
    • ジュニアエンジニアとの違い
      • 指示待ちから自律へ
      • 不明点を自分で解消できる
    • シニアエンジニアとの違い
      • 設計判断と影響範囲
      • まだ学ぶべきことが多い段階
      • 焦る必要はない
    • 中堅エンジニアに求められるスキルセット
      • タスクを概ね単独で進められる
        • 調査から実装、テストまで一人で回せる
        • 「概ね」単独という意味
      • 見積もりと計画が立てられる
      • 必要な質問や確認は自分からできる
        • 何がわからないかを言語化できる
        • 確認を怠らない
      • リーダーやマネージャーが頻繁に状況確認をしなくても問題ない
        • 自発的な進捗報告
        • 問題発生時の早期エスカレーション
      • 信頼を築く
    • スキルの身につけ方
      • ソフトスキルとハードスキル
    • この章のまとめ
  • 第2章: 信用貯金
    • この章で学ぶこと
    • 信用貯金とは
      • 減らさないことが重要
      • 信用貯金は人間関係の土台
      • 信用があることのメリット
      • 信用がないことのデメリット
      • 信用貯金は早めに意識する
    • 信用を積み上げる方法
      • 成果を出す
      • 与えられた仕事を完了する
      • 報告・連絡・相談を怠らない
      • 小さな約束を守る
    • 信用を失う行動
      • ミス・失敗をする
      • 約束を守らない
      • 責任を回避する
      • コミュニケーションを怠る
    • ミスを減らすために
    • この章のまとめ
  • 第3章: ミスを減らす
    • この章で学ぶこと
    • ミスを減らすことの重要性
    • メモを取る
    • チェックリストの活用
    • 成果の報告・提出前のチェック
    • この章のまとめ
  • 第4章: タスク管理と開発フロー
    • この章で学ぶこと
    • 開発フローの理解
    • 工数の見積もり
    • プロジェクトスケジュールの把握
    • 完了時期の見通し
    • この章のまとめ
  • 第5章: コミュニケーション
    • この章で学ぶこと
    • 同期と非同期のコミュニケーション
    • 相手がどのように受け取るかを考える
    • 伝え方のコツ
    • AI壁打ちの活用
    • この章のまとめ
  • 第6章: 情報収集
    • この章で学ぶこと
    • 技術情報の収集
    • 社会の仕組みの知識
    • 色々な職業について知る
    • この章のまとめ
  • 第7章: インフラ基礎知識
    • この章で学ぶこと
    • OS(オペレーティングシステム)
      • カーネルとは
      • OS の種類と関係性
      • Linux の基礎
      • プロセス
      • ファイルシステム
      • ネットワーク設定
      • OS の知識を活かす場面
      • さらに深く学ぶために
    • ネットワーク
      • TCP/IP
      • DNS
      • HTTP/HTTPS
      • ファイアウォール
      • ロードバランサー
      • ネットワーク知識を活かす場面
      • さらに深く学ぶために
    • ストレージ
      • ストレージの種類
      • 物理ストレージの冗長化
      • バックアップとテープデバイス
      • 論理ボリューム管理(LVM)
      • 大容量ストレージの構築
      • 分散ストレージ
      • ネットワークストレージ
      • ストレージインターフェース
      • ストレージ知識を活かす場面
    • 仮想化とコンテナ
      • 仮想化技術(VM)
      • コンテナ技術
      • コンテナイメージの管理
      • コンテナオーケストレーション
      • VM とコンテナの違いと使い分け
      • 仮想化・コンテナ知識を活かす場面
    • この章のまとめ
  • 第8章: コンピュータサイエンス基礎
    • この章で学ぶこと
    • アルゴリズム
      • ソートアルゴリズム
      • 探索アルゴリズム
      • 再帰
      • 計算量の考え方
    • データ構造
      • 配列とリスト
      • 動的配列
      • スタックとキュー
      • ハッシュテーブル
      • 木構造
    • 並行処理
      • プロセスとスレッド
      • 軽量スレッド(グリーンスレッド)
      • 排他制御
      • 競合状態(レースコンディション)
      • 実務での注意点
    • 設計パターン
    • まとめ
  • 第9章: ミドルウェアと開発ツール
    • この章で学ぶこと
    • Web サーバー
    • アプリケーションサーバー
    • データベース
    • キャッシュ
    • メッセージキュー
    • ジョブ実行基盤
    • メール配信
    • バージョン管理(Git)
    • CI/CD
    • Docker
    • この章のまとめ
  • 第10章: クラウドインフラ
    • この章で学ぶこと
    • クラウドの基本概念
    • 主要クラウドサービス
      • コンピューティング
      • ネットワーク
      • ストレージ
      • データベース
      • セキュリティ
      • コンテナレジストリ
      • ジョブスケジューラ
    • モニタリングとロギング
    • Infrastructure as Code
    • この章のまとめ
  • あとがき
    • さらに学びたい方へ
    • 停滞を感じたときに
    • おわりに
  • 著者紹介
  • 奥付