Claude Codeで開発はどこまで変わるのか──押さえておきたい12の主要機能

Claude Codeを使い始めた人の多くが、最初にやることは同じです。ターミナルでclaudeと打って、「このバグ直して」と頼む。直る。すごい。……で、しばらくするとこう思うはずです。「便利だけど、もっとうまく使えるんじゃないか?」と。

実際、Claude Codeは「AIにコードを書かせるツール」としてだけ見ると、その能力の半分も使えていません。セッションをまたいで設定を記憶させる仕組み、ファイル変更を安全に巻き戻す機能、外部ツールとの連携プロトコル、タスクを分割して並列処理するサブエージェント──こうした機能を組み合わせることで、Claude Codeは「賢いオートコンプリート」から「プロジェクトを一緒に回す開発パートナー」へと変わります。

とはいえ、公式ドキュメントを全部読んで体系的に理解するのは骨が折れます。そこで本記事では、Claude Codeの主要機能を12個に整理して、それぞれ「何ができるのか」「どんな場面で使うのか」を実務目線でまとめました。すでに使い込んでいる人にも、これから触ってみようという人にも、全体像をつかむ地図として役立つはずです。

※ 本記事はこちらの動画の内容をベースに構成しています。

1. CLAUDE.md ── セッションをまたぐ「記憶」ファイル

Claude Codeは新しいセッションを開始するたびに、プロジェクトの構成やコーディングルールをリセットしてしまいます。この問題を解決するのがCLAUDE.mdです。

プロジェクトのルートディレクトリに置くMarkdownファイルで、コーディングの好みやプロジェクト構成などを自由に記述できます。Claudeはセッション開始時に必ずこのファイルを読み込み、「記憶」として活用します。たとえば「常にユニットテストを書くこと」と書いておけば、毎回指示しなくても自動的に従ってくれます。

書式に決まりはなく、短く・人間が読みやすい形で書くのがポイントです。/initコマンドを実行すると、現在のプロジェクトに合わせたCLAUDE.mdを自動生成してくれます。

2. Permissions(権限設定) ── スピードと安全性のバランスを調整する

コーディングエージェントはファイルを編集したりコマンドを実行したりできるため、強力である反面リスクも伴います。デフォルトでは、Claudeはファイル編集やBashコマンド実行のたびに確認を求めてきます。

Permissionsを使えば、この挙動を細かくカスタマイズできます。テスト実行やコードのコミットなど「安全なアクション」は事前に承認済みにしておき、ファイルの削除など「危険なアクション」はブロックする、といった設定が可能です。セッション中に/permissionsと入力するとメニューが開き、許可するツールの追加・削除をインタラクティブに操作できます。

最初は保守的な設定からはじめ、ワークフローへの信頼が高まるにつれて少しずつ開放していくのがおすすめです。

3. Plan Mode(計画モード) ── 動かす前に考えさせる

複雑なタスクをいきなり実行させると、Claudeが間違ったファイルを編集したりトークンを無駄に消費したりすることがあります。Plan Modeは計画と実行を明確に分離するための機能です。

Shift + Tabでプランモードと通常モードを切り替えられます。プランモードではClaudeはファイルを読み、質問し、ステップバイステップの実行計画を提案しますが、ファイルの変更は一切できません(読み取り専用ツールのみ使用可能)。計画を確認・承認してから通常モードに切り替えることで、安心して実行を委ねられます。

4. Checkpoints(チェックポイント) ── いつでも安全に巻き戻せる

複数ファイルをリファクタリングした後に「アプローチが間違っていた」と気づいても、すべてを手動で元に戻すのは非常に手間がかかります。Checkpointsはこの悩みを解消します。

Claudeは編集のたびに自動でファイルのスナップショットを保存しており、セッション中に/restoreと入力するとタイムスタンプと説明つきのチェックポイント一覧が表示されます。復元したい時点を選ぶだけで、その状態にぴったり戻れます。

大胆な実験やリスクの高いアイデアも、動いているコードを失う心配なく気軽に試せるようになります。

5. Skills(スキル) ── 繰り返しの指示をファイルに切り出す

毎回同じ長い指示をプロンプトに入力するのは手間がかかります。Skillsは、Claudeがオンデマンドで読み込める「事前定義の指示セット」です。

各スキルはskill.mdというMarkdownファイルで、名前・説明・具体的な指示内容を記述します。セッション開始時に利用可能なスキルの一覧をClaudeに渡しておくと、必要なタイミングで適切なスキルを自動的に呼び出してくれます。

一度スキルを作っておけば、チーム全員が長いプロンプトを覚えることなく同じワークフローを再現できます。繰り返し作業を、共有・再利用可能な自動化へと昇華させる機能です。

6. Hooks(フック) ── 特定のタイミングで処理を自動実行する

「コードを変更するたびに必ずフォーマットをかけたい」など、毎回必ず実行したい処理があるケースに対応するのがHooksです。

Claudeのワークフローループには特定のポイントがあり、そこにスクリプトを差し込んで自動実行させることができます。ツール実行の前後など、タイミングは自由に指定可能です。フォーマット、セキュリティチェック、ログ記録など、必ず一定の動作が保証されるべき処理に特に向いています。

7. MCP(Model Context Protocol) ── 外部ツールとシームレスに連携する

Claudeはファイルの読み込みやBashコマンドの実行はできますが、FigmaやSlackなどの外部ツールとはどう連携するのでしょうか。これを解決するのがMCP(Model Context Protocol)です。

MCPは、誰でもツールをビルドしてエージェントに公開できるオープンプロトコルです。MCPサーバーを追加するだけで、そのサーバーが提供するすべてのツールにClaudeがアクセスできるようになります。すでに公開されている数千のMCPサーバーを即座に利用できる点も魅力です。

8. Plugins(プラグイン) ── 環境設定をまるごとチームに配布する

カスタムスキルやフック、MCPサーバーなどを組み合わせた理想的な環境を構築しても、チームメイトに同じ環境を共有するのは手間がかかります。Pluginsはこの問題を解決します。

プラグインはスキル・フック・エージェント・MCPサーバー・メタデータを一つにまとめた「バンドル」です。作成したプラグインをマーケットプレイスやGitリポジトリに公開すれば、チームメイトは1コマンドでインストールできます。環境構築の手順書を書く必要も、口頭で説明する手間もなくなります。

9. Context(コンテキスト管理) ── 200kトークンの中身を可視化する

Claude Codeは約200,000トークンの固定コンテキストウィンドウの中で動作します。会話が長くなるほどこのウィンドウが埋まっていき、やがて古い内容が失われてしまいます。

/contextコマンドを実行すると、現在何がコンテキストを消費しているか——CLAUDE.md、スキル、MCPツールの説明、会話履歴などの内訳を詳細に確認できます。「なんだかClaudeの応答が変になった」と感じたとき、まず確認すべきはこのコマンドです。

10. Compact(自動圧縮) ── 会話を賢く要約して容量を確保する

コンテキストの中身を把握できたら、次に重要なのが容量管理です。コンテキストが上限に近づくと、Claudeは重要な意思決定の内容を保持しながら会話を自動で圧縮(compact)します。

大切な内容が失われそうな場合は、自動圧縮が走る前に手動で/compactを実行しておくと安心です。「今までの議論で大事なところは残して、それ以外は圧縮して」というようなカスタム指示を添えることもできます。長いセッションで作業するときほど、この機能のありがたみを実感するはずです。

11. Slash Commands(スラッシュコマンド) ── よく使う操作をショートカット化する

毎回同じ操作をプロンプトに入力するのは効率が悪いです。Slash Commandsは、Claude Codeにおけるキーボードショートカットのような存在です。

コストの確認、コンテキスト管理、セッションのクリアなど、頻繁に使うワークフローを/に続けてコマンド名を入力するだけで素早く呼び出せます。ここまで紹介した/init/permissions/restore/context/compactもすべてスラッシュコマンドです。日々の操作のテンポを大きく改善してくれる機能です。

12. Sub Agents(サブエージェント) ── 複雑なタスクを分割して並列処理する

複雑なタスクをすべて1つのセッションで処理しようとすると、コンテキストが混雑しやすくなります。Sub Agentsは、特定の仕事専用に立ち上げる別のClaudeセッションです。

Claudeは複雑なタスクを小さなピースに分解し、それぞれのサブエージェントに委譲します。サブエージェントは独立して作業し、短いサマリーをメインセッションに返します。/agentsから「Create Agent」を選んで、名前と専門領域に特化したプロンプトを設定するだけで使えます。

メインの会話をクリーンに保ちながらコンテキストウィンドウを効率的に活用できるため、大規模な調査・並列作業・専門的なタスクに特に有効です。

まとめ

機能 概要
1. CLAUDE.md セッションをまたぐ記憶・ルールファイル
2. Permissions ツール実行の事前承認・ブロック設定
3. Plan Mode 実行前に計画だけを立てるモード(Shift + Tab)
4. Checkpoints 自動スナップショットで任意の時点に巻き戻し
5. Skills 繰り返しの指示をMDファイルで再利用可能にする
6. Hooks ワークフロー内の特定タイミングでスクリプトを自動実行
7. MCP 外部ツールと連携するためのオープンプロトコル
8. Plugins スキル・フック・MCPをバンドルしてチームに配布
9. Context 200kトークンウィンドウの中身を可視化
10. Compact 会話を賢く圧縮して容量を確保
11. Slash Commands 頻繁な操作をスラッシュ入力でショートカット化
12. Sub Agents 専門タスク専用の独立セッションで並列処理

これらの機能を組み合わせることで、Claude Codeは単なるコード補完ツールを超えた、本格的な開発パートナーとして機能します。まずはターミナルを開いてclaudeと入力し、実際に触れてみてください。


文:植田(ハバス合同会社 研究開発部)

PerplexityやChatGPTに自分の記事を引用させる方法──東大研究発の”構造だけで差がつく”GEO戦略

「ChatGPTに引用されるコンテンツって、結局どう書けばいいの?」——AI検索が当たり前になった今、コンテンツ制作者なら誰もが一度は考えたはずの問いです。

この問いに対して、東京大学・筑波大学・広島大学の研究チームが2026年3月に興味深い論文を発表しました。タイトルは 「Structural Feature Engineering for Generative Engine Optimization: How Content Structure Shapes Citation Behavior」。日本語で言えば、「コンテンツの構造が、AIの引用行動をどう左右するか」を体系的に調べた研究です。

結論を先に言ってしまうと——文章の中身を変えなくても、構造を整えるだけで引用率が平均17.3%向上したという結果が出ています。今回はこの論文「GEO-SFE」を、実務目線で読み解いてみます。

そもそもGEOとは?

GEO(Generative Engine Optimization)は、ChatGPT、Perplexity、Google AI Overviews、ClaudeなどのAI検索エンジンに「引用されやすいコンテンツ」をつくる施策の総称です。SEOが「検索結果でクリックされる」ことを目指したのに対し、GEOは「AIの回答の中で言及される」ことがゴール。

従来のGEO研究は、「統計データを盛り込む」「権威ある引用を入れる」「断定的な言い回しにする」といった文章の意味的な改善に集中してきました。一方で、見出しの付け方、段落の長さ、太字の使い方といった構造的な要素がどれだけ引用率に影響するかは、ほとんど解明されていなかったのです。

提案された手法「GEO-SFE」

論文では、コンテンツの構造を3つの階層に分解して定量化し、それぞれを最適化するフレームワーク「GEO-SFE」を提案しています。

1. マクロ構造(文書全体の設計)

見出しの階層、セクション同士のつながり、内部リンクの密度など、文書全体のアーキテクチャを指します。論文の分析によると——

  • 見出しの階層は3〜5段がベスト(深すぎるとAIの注意が分散、浅すぎると整理されていないと判断される)
  • 内部リンクの密度は0.15〜0.20が理想
  • セクション間の意味的な連続性が高いほど引用されやすい

2. メソ構造(段落・セクションレベル)

段落の長さやリスト・表などの構造化要素の使い方です。ここがけっこう実務的に重要。

  • 段落の長さは150〜300語が最適(日本語で言えば概ね300〜600文字程度)
  • 300語を超えると、段落の中盤で注意力が31%低下するという別研究の知見と一致
  • 150語未満だと情報が分断され、引用確率が23%下がる
  • リスト・表・コードブロックなど構造化要素は全体の25〜35%を占めるのが理想
  • 構造化された情報は、プレーンな散文と比べてAIの抽出精度が43%高い

3. ミクロ構造(文・語レベル)

太字・イタリックなどの強調や、キーワードの配置位置です。

  • 強調マーカーはコンテンツ全体の5〜10%に絞る(多すぎると逆効果)
  • 強調の効果は 太字 > イタリック > 下線 の順
  • キーワードは文頭またはセクション境界に配置すると注意を集めやすい(文中の標準位置と比べて2倍の注意を引く)

AI検索エンジンによって「好み」が違う

面白いのは、論文がAI検索エンジンを3つのアーキテクチャに分類し、それぞれに最適な戦略が異なると指摘している点です。

アーキテクチャ 代表例 重視される構造
Search-then-Synthesize型 Google SGE、Bing Chat メタ構造の明確さ、冒頭の情報密度
Iterative Refinement型 Perplexity、Phind 相互参照の豊富さ、階層の幅
Integrated Search-Generation型 ChatGPT、Claude チャンクの独立性、フォーマットの多様性

つまり、ChatGPTやClaudeを意識するなら「各セクションが単独で意味を成すように書く」「リストや表を積極的に使う」が効きやすく、Perplexityを狙うなら「内部リンクや関連情報の網目を充実させる」のが効くということになります。

実験結果——どれくらい効果があったか

研究チームは、GEO-bench(GEO評価用の標準データセット)から200記事を抽出し、6つの主要AI検索エンジン上で、最適化前後の引用率を比較しました。総テスト件数は2,400件です。

主な結果

  • 全体の引用率が +17.3%(統計的に有意、p < 0.001)
  • Search-then-Synthesize型. :+19.2%
  • Iterative Refinement型. :+14.0%
  • Integrated Search-Generation型:+19.7%
  • 主観的な品質評価(G-Eval)でも平均 +18.5% の改善
  • 特に「影響力」(+32.0%)と「クリック確率」(+31.4%)の向上が顕著

3階層のうち、どこが効いたのか?

各階層を取り除いた実験(アブレーション分析)では、引用率向上への寄与は——

  • マクロ構造:44.9%
  • メソ構造 :39.7%
  • ミクロ構造:15.4%

つまり、太字やキーワード位置といったミクロな調整より、文書全体の見出し設計と段落構成のほうが圧倒的に効くということ。これは納得感があります。

明日から使える実践的なチェックリスト

論文の知見をそのまま記事制作に落とし込むと、こんな感じになります。

  • ✅ 見出し階層は3〜5段に収める(H2、H3、H4くらいまで)
  • ✅ 1段落は300〜600文字程度を目安に
  • ✅ リスト・表・引用ボックスを意識的に挟む(全体の1/4〜1/3が理想)
  • ✅ 太字は使いすぎず、5〜10%以内に抑える
  • ✅ キーワードは文頭やセクション冒頭に置く
  • ✅ 各セクションが単独でも意味が通るよう、文脈を補足する
  • ✅ 関連記事への内部リンクを適切な密度で配置する

論文を「使える」形にした──Claude Codeスキル「geo-sfe」を公開しました

……とはいえ、チェックリストを毎回手動で確認しながら記事を書くのは、正直しんどい。そこでハバスでは、このGEO-SFE論文の手法をClaude Codeのカスタムスキルとして実装し、GitHubで公開しました。


Claude Navi

こちらで紹介しています:https://claudenavi.com/app/geo-sfe

何ができるのか?

2つのスラッシュコマンドを追加するだけのシンプルなスキルです。

コマンド できること
/geo-analyze コンテンツの構造を3階層で分析し、改善提案をレポート(geo-report.md)として出力
/geo-optimize GEO-SFEフレームワークに基づいて、コンテンツの構造を自動最適化(意味は保ったまま)

インストール

Claude Codeが既に入っている環境なら、コマンド一発で導入できます。

git clone https://github.com/havaslabo/geo-sfe.git
cd geo-sfe
./install.sh

使い方

執筆中の記事ファイルがあるディレクトリでClaude Codeを起動し、スラッシュコマンドを叩くだけ。

# カレントディレクトリ以下の全記事を分析
/geo-analyze
 
# 特定のファイルだけ最適化
/geo-optimize article.md
 
# 狙うAI検索エンジンを指定して最適化
/geo-optimize article.md sts   # Google SGE / Bing Chat 向け
/geo-optimize article.md ir    # Perplexity / Phind 向け
/geo-optimize article.md isg   # ChatGPT / Claude 向け

論文に出てきた3つのアーキテクチャ(Search-then-Synthesize / Iterative Refinement / Integrated Search-Generation)に対応した最適化モードを用意しているので、どのAI検索エンジンでの引用を狙うかに応じて使い分けられます。

注意点として、/geo-optimizeは元ファイルを上書き保存します。実行前にGitでコミットしておくのを推奨します(というか、しないと痛い目を見ます)。

中身はシンプル

スキルの実体は、論文の手法を構造化したMarkdownファイル(Claude Codeのカスタムコマンド定義)です。Claude自身が論文の3階層ルールを読み込んで、文書を解析・最適化してくれる仕組み。Pythonの依存関係もAPIキーも不要で、Claude Codeさえあれば動きます。

実装を読めば「論文をどうプロンプトに落とし込んだか」も見られるので、GEOに興味がある方・Claude Codeのスキル開発に興味がある方にも参考になるかと思います。

まとめ——GEOは「中身」と「構造」の両輪へ

これまでGEOの議論は「何を書くか」に偏りがちでしたが、今回の論文は「どう構造化して見せるか」も同じくらい重要だと示しました。とくに、文書全体の設計(マクロ構造)が引用率の45%近くを左右するという発見は、コンテンツ制作の優先順位を見直すきっかけになります。

AI検索の比重がますます高まる2026年、コンテンツ制作者にとって「AIに読まれやすい構造」を意識することは、もはやオプションではなく前提になりつつあります。難しいことではありません。読者にとって読みやすい構造は、たいていAIにとっても読みやすいのです。

論文の原文はarXivで公開されていますので、より詳しく知りたい方はぜひ。


文:植田(ハバス合同会社 研究開発部)


参考文献:Junwei Yu, Yang MuFeng, Yepeng Ding, Hiroyuki Sato. “Structural Feature Engineering for Generative Engine Optimization: How Content Structure Shapes Citation Behavior.” arXiv:2603.29979, March 2026.

Claude Code「エージェントスキル」で自分用のAIアシスタントを作る

「AIを使えばコードが書ける時代になったけど、自分でもちょっとしたツールを作れたりするのかな?」

そんなふうに思っている方に朗報です。Claude Codeの エージェントスキル(Agent Skills) という機能を使えば、プログラミングの深い知識がなくても、自分だけのAIアシスタントを作ることができます。

この記事では、実際にスキルを作って動かすところまでを、画像付きでわかりやすく解説します。

エージェントスキルって何ができるの?

簡単に言うと、「Claudeに新しい得意技を覚えさせる」 機能です。

たとえばこんなことができます:

  • 「コミットメッセージ書いて」と言うだけで、変更内容を見て適切なメッセージを作ってくれる
  • 「このコードをレビューして」と言えば、あなたのチームのルールに沿ってチェックしてくれる

しかも、一度作ったスキルは何度でも使えるし、チームで共有することもできます。「毎回同じことを説明するのが面倒…」というストレスから解放されるわけです。

専門知識は必要?

スキルの作成に必要なのは、基本的に Markdownファイル1つだけ です。

Markdownは「# 見出し」「- 箇条書き」のような簡単な記法で書けるテキストフォーマット。プログラミング言語ではないので、コードを書いたことがない方でも心配いりません。

実際に作ってみよう:コミットメッセージ生成スキル

では実際に手を動かしてみましょう。今回は「Gitの変更内容からコミットメッセージを自動で作ってくれる」スキルを作ります。

Step 1: フォルダを作る

まず、スキルを置くためのフォルダを作ります。ターミナル(コマンドを入力する黒い画面)で以下を実行してください:

mkdir -p .claude/skills/commit-helper

これで、プロジェクトの中に .claude/skills/commit-helper というフォルダができます。

Step 2: スキルの設定ファイルを作る

作ったフォルダの中に SKILL.md というファイルを作ります。これがスキルの本体です。

中身はこんな感じ:

---
name: commit-helper
description: Gitの差分からコミットメッセージを生成します。コミットメッセージを書くとき、ステージングされた変更を確認するときに使用してください。
---

# コミットメッセージ生成

## 手順

1. `git diff --staged` で変更内容を確認
2. 以下の形式でコミットメッセージを提案:
   - 50文字以内の要約(日本語OK)
   - 詳細な説明
   - 変更されたコンポーネント

## ベストプラクティス

- 現在形を使用
- 何を、なぜ変更したかを説明(どのように、ではなく)
- 日本語の場合は「〜を追加」「〜を修正」などの形式

ファイルの最初にある --- で囲まれた部分が設定エリアです。ここで大事なのは description(説明文)の部分。Claudeはこの説明を読んで「今この機能を使うべきだな」と判断します。

だから、「何をするか」と「いつ使うか」を両方書いておくのがコツです。

Step 3: 試してみる

準備ができたので、実際に動かしてみましょう。

まず、何かしらファイルを変更してGitにステージング(登録)しておきます。今回はダークモード機能を追加した想定です。

Step 4: Claude Codeを起動

ターミナルで claude と入力してEnterを押します。

するとClaude Codeが起動します。

Step 5: 話しかけてみる

「コミットメッセージを書いてコミットして」と入力してみましょう。

すると…

「Skill(commit-helper) Successfully loaded skill」 と表示されました!

Claudeが自分で「さっき作ったスキルを使おう」と判断してました。

そして結果がこちら:

SKILL.mdで指定した形式どおりに、要約・詳細な説明・変更されたコンポーネントの一覧を作ってくれました。しかもそのままコミットまで完了しています。

もっと活用するためのヒント

スキルの保存場所で使い分ける

スキルは置く場所によって使える範囲が変わります。

置き場所 誰が使える? おすすめの用途
~/.claude/skills/ 自分だけ 個人的な便利ツール
.claude/skills/(プロジェクト内) チーム全員 チームで統一したいワークフロー

チームで使うなら、プロジェクト内に置いてGitで管理するのがおすすめです。新しいメンバーが入ってきても、コードを取得するだけで同じスキルが使えるようになります。

安全に使いたいとき

「ファイルを読むだけで、変更はさせたくない」というケースもありますよね。そんなときは allowed-tools という設定が使えます。

---
name: safe-reader
description: ファイルを安全に読み取り専用でレビューします。
allowed-tools: Read, Grep, Glob
---

こうしておくと、このスキルが動いている間は「読む」ことしかできなくなります。うっかりファイルを消されたりする心配がなくなるので安心です。

スキルがうまく動かないときは

よくあるのが「説明文が曖昧すぎる」ケースです。

# ❌ これだと動かないことが多い
description: ドキュメントを処理します

# ✅ こうすると認識されやすい
description: PDFファイルからテキストを抽出して要約します。PDFや文書抽出について聞かれたときに使ってください。

「何をするか」だけでなく「どんなときに使うか」も書いておくのがポイントです。

自分だけのスキルを作ってみよう

今回紹介したコミットメッセージ生成のほかにも、アイデア次第でいろいろなスキルが作れます:

  • コードレビュースキル: 自分のチームのルールに沿ってコードをチェック
  • ドキュメント作成スキル: 決まったフォーマットで資料を作成

一度作ってしまえば何度でも使えるので、「いつも手作業でやっていること」をスキル化してみると、思った以上に時間が節約できるかもしれません。

AIを使った開発のハードルはどんどん下がっています。「自分にも何か作れるかも」と思ったら、ぜひ触ってみてください。

参考リンク

若年層でITエンジニア目指したいんだけど10年後無双するにはどのルートが最適か?

「文系からITエンジニアに転職して年収一千万!」という広告を見たことがありますか?
嘘はついていません、中にはそうなる方もいるでしょう。でも、それは「プロアスリートになれば年俸132億!」と言ってるようなもの。こちらの再現性は80億(世界人口)分の1くらいでしょうか。
とはいえ、ITエンジニアとして年収一千万を目指すことは、まだ現実的な目標です。

キラキラした広告を横目に、これから社会に出ようとしている15歳から20歳のみなさんの中には、「ITエンジニアを目指したい!」と感じている方もいることでしょう。

しかし、ITエンジニアになるのは決して簡単なことではありません。特に最近のプログラミング言語は複雑で、初心者にとっては高いハードルとなっています。あまりに高いハードルがやる気を削ぎ、結果として精神的な負担を増してしまうこともあります。(※1

そこで、「若年層でITエンジニア目指したいんだけど10年後無双するにはどのルートが最適か?」というラノベタイトルのような、ちょっとしたコツをお伝えできればと思います。

申し遅れました、私は八木良仁と申します。プログラミング歴40年、IT業界に25年以上関わっている、いわゆるインターネット老人会界隈の住人です。現在はハバス合同会社にてAIエンジニアとして活動しています。昨年(2023年)までSI企業で働いていましたが、会社を辞め、次のキャリアを模索している時期に、コンピュータ専門学校で非常勤講師をしていました。

私が担当したクラスには、キーボードを初めて触る生徒から、休み時間にバリバリとコードを書いている生徒まで、幅広いレベルの学生がいました。結果的には初心者にターゲットを絞って教えましたが、オブジェクト指向の概念や基本的なアルゴリズムは、やはり初心者にとっては難しすぎるものでした。

ITエンジニアは知識労働者です、知識は基礎からの積み上げ、下から積んでいかないとグラグラで弱い。知識を得るために専門書を読もうとしても、出てくる言葉の意味や、ある程度の背景知識が無いと理解できない。だから「インターネットという情報があるから勉強しなくていい」とはいかない、インターネットは情報であって知識ではないから。知識の上に次の知識が積み上がる。

早い段階でプログラミングによる成功体験を得た人、「休み時間にバリバリとコードを書いている生徒」はもう勝ちルートに居ます。あとは、ウサギとカメのウサギにならなければ大丈夫。(※2

ここから先の情報は必要ありません、この画面はそっと閉じてください。

さて、画面を閉じなかった「あなた」。

あなたは、おそらく「キーボードを初めて触る子」か、もしくはそちらに近い人だと思います。

現代のプログラミング言語は多機能で、情報量が膨大です。すべてを学ぶのは容易ではありませんし、こんなに詰め込んでたらノイローゼになっちゃう。そのため、最初の入口はできるだけハードルを低く設定し、少しずつ知識を積み上げていくことが重要です。低いハードルから入り、収入を得ながら日々の学習を積み上げ、10年後に無双する。そんなルート・・・

それは COBOL です。

さてみなさん、COBOLって聞いたことありますか?オワコン?枯れた言語?昭和の遺産?特に若い世代では、今さら感が強いでしょう。

衰退している言語を勉強しても将来が不安ですか?例えばスマホアプリを開発したくて Flutter+Dartを習得したとします。おそらく5年もすれば、開発環境は大きく変わっています。Flutterで今後10年戦える。そう思っているFlutterエンジニアはほとんどいません。

つまり、最新の開発言語を習得していても、大して変わらないという事です。IT業界では、その時その時の状況に合わせて次々と学習していく、そういうスタイルが求められます。ならば、COBOLも入口の言語として最適ではないでしょうか。

COBOLは現在でも多くの企業で使用されており、求人もあります。COBOLであっても、基本的なIT知識は必要ですし、実際の業務を通じて基礎的なITスキルを磨くことができます。

COBOLを入り口にしてITエンジニアのキャリアをスタートさせ、業務の中で基礎知識を磨きつつ、趣味として他の言語にも触れていく。それが10年後に無双するためのルートです。ただし、このルートには一つだけ注意点があります。COBOLはどうしても従来型IT人材になります(※3)、先端型IT人材での無双を目指している事は決して忘れないでください。居心地がいいと努力することを忘れてしまいがちですから。

 


※1
「ITエンジニアのメンタルヘルスに関するアンケート」
https://xtech.nikkei.com/it/article/COLUMN/20071009/284092/

※2
イソップ寓話「ウサギとカメ」の教訓の一つ「最後まで怠けるべきではない」におけるウサギ。
他に「コツコツ積み上げた者が勝つ」「真に才能ある者は努力する者に勝利を譲る」「努力できるウサギだったらとっくに次のゴールを目指して旅立ってたよ」など様々な教訓がある。

※3
2030年試算で、先端型IT人材は不足しますが、従来型IT人材は過剰供給傾向にあります。
https://www.meti.go.jp/policy/it_policy/jinzai/houkokusyo.pdf#page=39