0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SESエンジニアがClaude Codeでデータ分析スキルを身につけて単価を上げた話【2026年版】

0
Posted at

はじめに:SESがつらいなら、武器を変えろ

「SES やめたい」「SES つらい」——このキーワードで検索したことがある人、正直に手を挙げてほしい。自分も3年前はそうだった。

客先常駐で決められた作業をこなし、スキルが伸びている実感もなく、単価相場も頭打ち。フリーランスに転向しようにも「何ができるの?」と聞かれて答えに詰まる。そんな状態だった。

転機になったのは、AI開発ツールを実務に取り入れたことだ。特にClaude Codeというターミナルで動くAIコーディングエージェントを使い始めてから、データ分析の案件を自力でこなせるようになり、提示できる単価レンジが変わった。

この記事では、SESエンジニアとして現場にいながら、Claude Codeを使ってデータ分析スキルを身につけ、最終的にフリーランスとして単価を上げるまでにやったことを具体的に書く。嘘は書かない。実際に動くコマンドと設定だけを載せる。


SESの現場で感じた「このままじゃヤバい」という危機感

単価が上がらない構造的な問題

SESの単価相場は、スキルセットと経験年数で大枠が決まる。2026年現在、一般的なSESエンジニアの月単価は40万〜60万円台が中心帯だ。ここから上に行くには「この人でなければできない」という専門性が必要になる。

問題は、SESの現場では「与えられた作業を正確にこなす」ことが求められるため、専門性を磨く機会が限られることだ。テスト工程やドキュメント整備ばかりが回ってくる現場にいると、市場価値が上がらないまま年数だけが過ぎていく。

「SES つらい」の正体

「SES つらい」と感じる原因を分解すると、だいたい以下に集約される。

  • スキルの停滞:同じような作業の繰り返しで成長実感がない
  • 単価の天井:営業が間に入るため、自分の市場価値が直接反映されない
  • 帰属意識の欠如:客先常駐で自社への所属感が薄い
  • キャリアパスの不透明さ:3年後、5年後に何ができるようになっているか見えない

この中で、自分の力で変えられるのは「スキルの停滞」だけだ。だからそこに集中した。


なぜデータ分析なのか

スキルの方向性を決めるとき、以下の基準で考えた。

基準 データ分析 インフラ フロントエンド
需要の伸び 高い 安定 安定
参入障壁 中程度 高い 低い
AIとの相性 非常に良い 良い 良い
単価上昇余地 大きい 中程度 中程度
独学のしやすさ しやすい 環境構築が大変 しやすい

データ分析は、AIツールとの相性が抜群に良い。Claude Codeを使えば、Pythonでのデータ処理、可視化、レポート作成を対話的に進められる。従来なら数日かかっていた分析作業が、数時間で終わることもある。

さらに、データ分析ができるエンジニアの単価相場は、一般的なSES単価より高い。月単価で70万〜90万円台を狙える領域だ。


Claude Codeとは何か

Claude Codeは、Anthropic社が提供するターミナルベースのAIコーディングエージェントだ。2025年にリリースされ、2026年現在はOpus 4.6モデルで動作する。

特徴をまとめる。

  • ターミナルで動く:VSCodeなどのIDEに依存しない
  • ファイルの読み書きができる:コードの生成だけでなく、既存ファイルの編集も可能
  • コマンド実行ができるnpm installやPythonスクリプトの実行をAIが判断して行う
  • コンテキストが広い:プロジェクト全体を理解した上で作業してくれる

インストールは簡単だ。

npm install -g @anthropic-ai/claude-code

これだけ。あとはプロジェクトのディレクトリでclaudeと打てば起動する。

cd ~/my-project
claude

実践:Claude Codeでデータ分析をやってみた

ステップ1:CSVデータの探索的分析

最初にやったのは、手元にあるCSVデータの分析だ。SESの現場で扱っていたログデータを匿名化して持ち出し(許可は取った)、Claude Codeに投げてみた。

Claude Codeを起動して、こう指示した。

data/access_log.csvを分析して。カラムの概要、欠損値、基本統計量を出して。

Claude Codeは以下のことを自動でやってくれた。

  1. Pythonスクリプトを生成
  2. pandasでCSVを読み込み
  3. df.info()df.describe()df.isnull().sum()を実行
  4. 結果をMarkdownテーブルで整形して表示

生成されたPythonコードはこんな感じだった。

import pandas as pd

df = pd.read_csv('data/access_log.csv')

print("=== データ概要 ===")
print(f"行数: {len(df)}, 列数: {len(df.columns)}")
print(f"\nカラム一覧:")
for col in df.columns:
    print(f"  - {col}: {df[col].dtype}")

print("\n=== 欠損値 ===")
missing = df.isnull().sum()
print(missing[missing > 0])

print("\n=== 基本統計量 ===")
print(df.describe())

ポイントは、自分がPythonに詳しくなくても、Claude Codeが適切なコードを書いて実行してくれることだ。もちろん生成されたコードは読んで理解する必要がある。でも「ゼロから書け」と言われるのと「読んで理解しろ」では難易度が全然違う。

ステップ2:可視化

次にグラフを作ってみた。

時間帯別のアクセス数をグラフにして。PNGで保存して。

Claude Codeはmatplotlibを使ったスクリプトを生成し、実行してくれた。

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
matplotlib.use('Agg')

df = pd.read_csv('data/access_log.csv')
df['hour'] = pd.to_datetime(df['timestamp']).dt.hour

hourly = df.groupby('hour').size()

plt.figure(figsize=(12, 6))
hourly.plot(kind='bar', color='#4A90D9')
plt.title('時間帯別アクセス数')
plt.xlabel('時間帯')
plt.ylabel('アクセス数')
plt.tight_layout()
plt.savefig('output/hourly_access.png', dpi=150)
print('保存完了: output/hourly_access.png')

日本語フォントの問題が出たときも「日本語フォントが文字化けする。修正して」と指示すれば、japanize-matplotlibを追加するか、フォントパスを指定するコードに修正してくれた。

ステップ3:レポート生成の自動化

ここまでの分析をMarkdownレポートとして自動生成する仕組みを作った。

分析結果をMarkdownレポートにまとめるスクリプトを作って。
グラフは画像として埋め込み、考察も自動生成して。

Claude Codeは、データ読み込み → 分析 → グラフ生成 → Markdown生成を一つのスクリプトにまとめてくれた。このスクリプトを月次で回せば、定型レポートが自動で出来上がる。

これが実務で効いた。SESの現場で「このデータ、ちょっと分析してレポートにしてくれない?」と言われたとき、翌日には出せるようになった。以前なら1週間はかかっていた作業だ。


CLAUDE.mdによるプロジェクト設定

Claude Codeを使い込んでいくと、プロジェクトごとに「こういうルールで動いてほしい」という要望が出てくる。それを実現するのがCLAUDE.mdファイルだ。

プロジェクトのルートにCLAUDE.mdを置くと、Claude Codeが起動時に自動で読み込んでくれる。

実際に使っている設定例を紹介する。

# プロジェクト: データ分析レポート自動生成

## ルール
- Pythonは3.11以上を使用
- pandasとmatplotlibを標準ライブラリとして使う
- グラフの日本語表示にはjapanize-matplotlibを使う
- 出力ファイルはoutput/ディレクトリに保存する
- コミットメッセージは日本語で書く

## ディレクトリ構成
- data/: 入力データ(CSV, JSON)
- scripts/: 分析スクリプト
- output/: 生成されたレポートとグラフ
- templates/: レポートテンプレート

これを書いておくだけで、Claude Codeは毎回「Pythonのバージョンは?」「出力先は?」と聞かなくなる。地味だが、積み重なると大きい。


SES vs フリーランス:AI時代の単価比較

自分の経験と周囲のエンジニアの話をもとに、2026年現在の状況を整理する。

SESエンジニアの場合

  • 月単価:40万〜65万円(経験3〜5年、一般的なWeb開発スキル)
  • 手取り:会社のマージンを引かれて、実質60〜70%程度
  • スキルアップ機会:現場次第。当たり外れが大きい
  • 営業の手間:なし(会社がやってくれる)

フリーランスの場合

  • 月単価:60万〜100万円(同等スキル)
  • 手取り:エージェント経由でも80〜90%程度
  • スキルアップ機会:案件を選べるため、自分でコントロール可能
  • 営業の手間:エージェント利用で軽減可能。ただしポートフォリオは必要

データ分析ができると何が変わるか

データ分析スキルを持っているだけで、案件の幅が広がる。具体的には以下のような案件が視野に入る。

  • BIダッシュボード構築(Metabase, Redash, Looker Studio)
  • KPIレポート自動化
  • ログ分析基盤の構築
  • 機械学習モデルのプロトタイピング

これらの案件は、単純なWeb開発案件より単価が高い傾向にある。


Claude Codeの実践Tips:毎日使って分かったこと

Tips 1:サブエージェントを使い倒す

Claude Codeには「エージェント」という機能がある。複雑なタスクを分割して、それぞれを並列に処理させることができる。

例えば、こういう使い方をしている。

このプロジェクトのsrc/配下を調査して、使われていないインポートを全てリストアップして。

こうした探索的なタスクは、サブエージェントに任せると本体のコンテキストウィンドウを圧迫しない。

Tips 2:CLAUDE.mdにプロジェクトのルールを書く

前述したが、これは本当に重要なので繰り返す。CLAUDE.mdを書かないClaude Codeは、毎回「初めまして」の状態で仕事を始めるようなものだ。

自分のCLAUDE.mdには以下を必ず含めている。

  • 使用言語とバージョン
  • ディレクトリ構成
  • コーディング規約
  • テストの実行方法
  • コミットメッセージのフォーマット

Tips 3:Planモードで設計してから実装する

Claude Codeには/planというコマンドがある。これを使うと、いきなりコードを書き始めるのではなく、まず設計を提案してくれる。

/plan CSVデータを読み込んで、月次レポートをPDFで出力するシステムを作りたい

こうすると、Claude Codeはまず全体の設計を提案し、承認を得てから実装に移る。「なんか違うものができた」という事故が大幅に減る。

Tips 4:エラーが出たらそのまま貼る

Claude Codeの強みは、エラーメッセージを理解して修正してくれることだ。エラーが出たら、自分で調べる前にまずClaude Codeに投げる。

このエラーを修正して:
ModuleNotFoundError: No module named 'japanize_matplotlib'

Claude Codeはpip install japanize-matplotlibを実行し、スクリプトを再実行してくれる。依存関係の解決まで自動でやってくれるのは助かる。

Tips 5:コミットもClaude Codeに任せる

自分は/commitスキルを使って、変更内容の要約とコミットをClaude Codeにやらせている。コミットメッセージが適切かどうかは確認するが、ドラフトを書いてくれるだけで時間が節約できる。


「SES やめたい」から行動に移すためのロードマップ

「SES やめたい」と思っているだけでは何も変わらない。以下は、自分が実際にたどったステップだ。

Phase 1:武器を作る(1〜3ヶ月)

  1. Claude Codeをインストールする

    npm install -g @anthropic-ai/claude-code
    
  2. Pythonの基礎を学ぶ

    • pandas, matplotlib, numpy の基本操作
    • Claude Codeに「pandasの基本操作を教えて」と聞けば、実例付きで教えてくれる
  3. 個人プロジェクトを作る

    • 公開データセット(政府統計、Kaggle等)を使って分析レポートを作る
    • GitHubに公開してポートフォリオにする

Phase 2:実績を積む(3〜6ヶ月)

  1. SESの現場でデータ分析の機会を探す

    • 「このExcel、もうちょっと見やすくできますか?」に全力で応える
    • 自主的にログ分析やKPIダッシュボードを提案する
  2. 副業や小規模案件で経験を積む

    • クラウドソーシングでデータ分析案件を受ける
    • 実績とレビューを蓄積する

Phase 3:移行する(6〜12ヶ月)

  1. フリーランスエージェントに登録する

    • レバテック、PE-BANK、Midworksなど
    • ポートフォリオとSESでの実績を提示する
  2. 単価交渉の材料を揃える

    • 「データ分析ができる」「AIツールを使って生産性が高い」という具体的な武器
    • 過去の成果物(匿名化した分析レポート等)

東京・大阪・福岡:地域別のIT市場の肌感

2026年現在、フリーランスのデータ分析案件はリモートワークが主流になりつつあるが、地域による特色はまだ残っている。

東京

  • 案件数は圧倒的に多い
  • 金融・広告系のデータ分析需要が高い
  • 単価も最も高い傾向
  • ただし競争も激しい

大阪

  • 製造業・小売業系の案件が多い
  • 東京より単価は若干低いが、生活コストも低い
  • リモート案件の増加で東京の案件も受けやすくなっている

福岡

  • スタートアップ誘致に力を入れており、IT企業が増加傾向
  • 地場の中小企業向けDX案件が増えている
  • 生活コストの低さとリモートワークの組み合わせで、実質的な手取りは良い場合がある

どの地域にいても、リモートワークができるスキルセットを持っていれば選択肢は広がる。データ分析はリモートとの相性が良い分野だ。


Claude Codeで実際に作った分析ツールの例

最後に、Claude Codeを使って実際に作ったツールを一つ紹介する。SESの現場で使っていた工数管理データを分析するスクリプトだ。

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
matplotlib.use('Agg')

def analyze_work_hours(csv_path: str, output_dir: str = 'output'):
    """工数データを分析してレポートを生成"""
    df = pd.read_csv(csv_path)
    df['date'] = pd.to_datetime(df['date'])
    df['month'] = df['date'].dt.to_period('M')
    
    # 月別の工数集計
    monthly = df.groupby('month')['hours'].sum()
    
    # カテゴリ別の内訳
    category = df.groupby('category')['hours'].sum().sort_values(ascending=False)
    
    # 可視化
    fig, axes = plt.subplots(1, 2, figsize=(16, 6))
    
    monthly.plot(kind='bar', ax=axes[0], color='#4A90D9')
    axes[0].set_title('月別工数推移')
    axes[0].set_ylabel('時間')
    
    category.plot(kind='pie', ax=axes[1], autopct='%1.1f%%')
    axes[1].set_title('カテゴリ別工数比率')
    
    plt.tight_layout()
    plt.savefig(f'{output_dir}/work_hours_report.png', dpi=150)
    
    # サマリー出力
    print(f"総工数: {df['hours'].sum():.1f}時間")
    print(f"月平均: {monthly.mean():.1f}時間")
    print(f"最も工数が多いカテゴリ: {category.index[0]}{category.iloc[0]:.1f}時間)")

if __name__ == '__main__':
    analyze_work_hours('data/work_hours.csv')

このスクリプトの8割はClaude Codeが書いた。自分がやったのは要件を伝えることと、出力フォーマットを微調整することだけだ。

重要なのは、このコードを「読んで理解できる」ようになることだ。AIが書いたコードをブラックボックスのまま使うのではなく、何をやっているか説明できるレベルにする。それが本当のスキルになる。


まとめ:AIツールは「逃げ」じゃなく「武器」

「SES つらい」「SES やめたい」という気持ちは、現状への危機感の表れだ。その危機感をエネルギーに変えて、具体的な行動に移すことが大事だ。

Claude Codeのようなai開発ツールは、スキルギャップを埋めるブースターになる。データ分析の知識がゼロでも、AIと一緒にコードを書きながら学べる。半年もあれば、フリーランスとして単価交渉できるレベルの実績は作れる。

単価相場を変えるのは、自分のスキルセットを変えることだ。SESの構造に文句を言っていても単価は上がらない。AIという新しい武器を手に入れて、自分の市場価値を自分で上げていこう。

関連記事


AI駆動塾 — AIを使ったスモビジの作り方を学ぶ

Claude Code、OpenClaw、AI経営OSの実践ノウハウを毎週公開中。
月額¥4,980で過去記事すべて読み放題。

noteメンバーシップに参加する →


💼 フリーランスエンジニアの案件をお探しですか?

SES解体新書 フリーランスDBでは、高単価案件を多数掲載中です。

  • ✅ マージン率公開で透明な取引
  • ✅ AI/クラウド/Web系の厳選案件
  • ✅ 専任コーディネーターが単価交渉をサポート

無料でエンジニア登録する

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?