はじめに
📖 Versione Italiana and English version
この記事は、製造業からIT業界へキャリアチェンジした独学プログラマーの旅の記録です。
VBAのマクロを書き始めた日から、Pythonとの出会い、ChatGPTの衝撃、数々のAI toolを渡り歩き、最終的にClaude Codeにたどり着くまで。技術的なチュートリアルではなく、一人の人間の10年にわたる成長ストーリーとして読んでいただければ幸いです。
第0章:すべての始まり ── VBAと製造業の7年間
ChatGPTの話をする前に、原点の話をさせてほしい。
今から約10年前。私は製造業の現場で働いていた。毎日同じ作業、同じ提出資料、同じExcel作業の繰り返し。ある日思った── 「これ、自動化できるんじゃないか?」
そこで出会ったのが Excelのマクロ記録だった。
VBAのことなんて何も知らなかった。でもExcelには「マクロの記録」というボタンがある。自分の操作を記録して、再生できる。まずはそこから始めた。
Step 1:マクロの記録 ── 「見て学ぶ」
記録ボタンを押して、普段の作業をやる。停止ボタンを押す。そしてVBA editorを開いて、Excelが自動生成したコードを眺める。
Sub Macro1()
Range("A1").Select
Selection.Copy
Range("B1").Select
ActiveSheet.Paste
Range("A2:A100").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending
End Sub
最初は呪文にしか見えなかった。でも何度も記録して、何度もコードを読んでいるうちに、パターンが見えてきた。「Rangeはセルのこと」「Selectは選択すること」「Sortは並び替え」── 一つずつ、意味がわかるようになった。
Step 2:記録されたコードの最適化 ── 「直して学ぶ」
マクロ記録が生成するコードは、正直冗長だ。いちいちSelectしてSelectionで操作する。人間の操作をそのまま再現するから仕方ないけど、もっと短く書けるはずだ。
' 記録されたコード(冗長)
Range("A1").Select
Selection.Copy
Range("B1").Select
ActiveSheet.Paste
' 自分で最適化したコード(スッキリ)
Range("A1").Copy Destination:=Range("B1")
この「記録して、読んで、最適化する」というサイクルが、私のVBA学習法だった。先生はExcel自身だった。
Step 3:本格的なプログラミングへ ── 「自分で書く」
最適化を繰り返すうちに、もっと複雑なことがしたくなった。If文で条件分岐、Forループで繰り返し、Do Whileで条件付きループ── マクロ記録では生成されない、本物のプログラミングの世界に足を踏み入れた。
Sub ProcessData()
Dim i As Long
Dim lastRow As Long
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow
If Cells(i, 3).Value > 100 Then
Cells(i, 5).Value = "要確認"
Cells(i, 5).Interior.Color = vbYellow
End If
Next i
End Sub
マクロ記録 → コード読解 → 最適化 → 自分で書く。この進化は、今思えば最高の学習プロセスだった。
7年間で作ったもの
そこから7年間、VBAで色々なものを作った:
- 日次レポートの自動生成 ── 毎朝30分かかっていた作業が、ボタン一つで完了
- 在庫管理のミニシステム ── Excelベースだけど、現場では十分に機能した
- データ集計マクロ ── 月末の集計作業を数時間から数分に短縮
- 簡易ダッシュボード ── 上司に「見える化」を提供
- UserFormを使った入力画面 ── 現場の人が使いやすいGUIを作った
- 上司の作業を半自動化 ── 上司が数日間かけて行っていた業務を数クリックで終わらせるようになった
ボタンを押したらデータが自動で整理される。それだけで職場の同僚におどろかれていた。
誰にも教わらなかった。マクロ記録とGoogle検索とExcel VBAの解説サイトだけが先生だった。エラーが出たら、一行ずつF8ボタンとDebug.Printで追いかけた。
英語という武器
ここで一つ、大きなアドバンテージがあった。英語が得意だったということだ。
プログラミングの世界では、最も質の高い情報は英語で書かれている。Stack Overflow、Microsoft公式ドキュメント、GitHubのissue、海外のブログ記事── 日本語だけで検索していたら、到達できない情報が山ほどある。
英語ができたおかげで、世界中のドキュメントを読むことができた。VBAの細かいTipsも、Pythonのベストプラクティスも、最新の技術トレンドも、英語ソースから直接吸収できた。辞書を引く必要もなく、英語の解説動画もそのまま理解できた。情報量が日本語だけの何倍にも広がった。
独学エンジニアへのアドバイス:英語を勉強しよう。 プログラミングを学ぶのと同じくらい、英語を学ぶことはキャリアを加速させる。コードを書く力と、英語で情報を読む力── この二つが揃うと、独学の速度は劇的に変わる。
これからの流れを見ると、個人的には中国語も勉強を始めたほうがいいかなと思っています。あとは気力との対話ですかね。(笑)
ExcelでTetrisを作った話
そしてある日、気づいたらExcelでTetrisを作っていた。
業務自動化だけじゃ物足りなくなって、「VBAでどこまでできるのか?」を試したくなった。結果、ExcelのセルとVBAだけでTetrisを作り上げた。セルをピクセル代わりにして、色を塗って、ブロックを落として、行が揃ったら消える。あのTetrisだ。
動いた。完璧じゃないけど、ちゃんと動いた。
今あのコードを見返すと、正直ひどい。変数名は意味不明、ネストは深すぎ、同じ処理をコピペで5回書いている。GoTo文が飛び交うスパゲッティコード。でも── 動くんだ、あれが。
笑える話だけど、これは大事な経験だった。「自分一人で、ゼロからTetrisを作れた」 ── この成功体験が、「もっと大きなものを作りたい」という次のステップへの燃料になった。
完璧なコードなんて最初から書ける人はいない。大事なのは「動くものを完成させる」こと。リファクタリングは後からでいい。まず動かせ。
独学の原体験は、ここにある。
この7年間で学んだ最大の教訓:「自分の手で何かを自動化できる」という経験と、「英語で世界中の知識にアクセスできる」という力は、人生を変える。
PS. Tetrisのコードは公開していません。恥ずかしすぎます。
第1章:Pythonとの出会い ── 3年間の修行
VBAで限界を感じ始めたのは、ある時からだった。
Excelの中でしか動かない。Webからデータを取れない。他のsystemと連携できない。VBAは強力だったけど、箱の中の魔法だった。
そこで出会ったのが Python だ。ChatGPTが登場する3年前のことだった。
Pythonの世界は広かった。VBAとは比べものにならないほど、何でもできた。Web scraping、データ分析、API連携... 可能性に圧倒された。
でも、独学の壁は高かった。
- 環境構築で3日間ハマる(
pipって何?venvって何?) - チュートリアルの通りにやっても動かない
- エラーメッセージが英語で長くて、どこを読めばいいかわからない
- 「Pythonic」な書き方がわからず、VBAの癖が抜けない
それでも3年間、毎日少しずつ書き続けた。仕事が終わった後、夜中に。休日に。一人で。
チーム開発の経験はゼロ。version管理の方法は相変わらず...
my_project_v1.py
my_project_v2.py
my_project_v2_final.py
my_project_v2_final_FINAL.py
my_project_v2_final_FINAL_本当にこれが最後.py
VBAの頃の .xlsm が .py に変わっただけだった。Gitの存在は知っていたけど、branch、merge、rebaseは完全に異世界の言葉だった。
第2章:ChatGPTとの出会い ── すべてが加速した日
2022年11月。ChatGPTが世界に公開された。
私はその初日からユーザーになった。
10年間、Google検索と解説サイトだけで独学してきた人間にとって、ChatGPTは革命だった。
VBAで7年、Pythonで3年── 合計10年かけて身につけてきた「自分で調べる力」に、突然ターボエンジンが搭載された感覚だった。
- 「このPythonのコード、VBAで書くとどうなる?」── 即座に比較してくれる
- 「このエラーの意味は?」── Stack Overflowを30分探す代わりに、10秒で答えが来る
- 「この処理をもっと効率的に書けない?」── リファクタリングの提案をしてくれる
10年間孤独に戦ってきた独学エンジニアに、**初めて「対話できる相手」**が現れた。
当初ChatGPTの回答はエラーだらけで結局検索する必要があった。
ただし何を探せばいいかを導かせてくれていた。
ChatGPTは、私にとって最初の「AI学習パートナー」だった。
第3章:AI toolの大冒険 ── すべてを試した日々
ChatGPTで味を占めた私は、次々と新しいAI toolに手を出した。
Google Gemini
Googleの本気を見たくて飛びついた。検索との統合が強みで、最新情報が必要な場面では重宝した。コードの説明も悪くなかった。ただ、深いやり取りを続けると、話がぼやけることがあった。
Qwen
中国のAlibabaが開発したmodel。multilingual対応が面白く、英語・日本語・中国語を混ぜた質問にもそれなりに答えてくれた。オープンソース界隈で注目されていたので、技術的な好奇心から試してみた。
実はこのツールで自分の一番大きいプロジェクトの土台を作り上げた。
DeepSeek
コーディング特化型として評判を聞いて試した。確かにコード生成は優秀だった。特にアルゴリズム系の問題では「おっ」と思わせる回答をしてくれることが多かった。
HuggingFace Models
ここは別世界だった。一つのサービスではなく、何百ものmodelを自分で試せる実験場。Llama、Mistral、Falcon... 色々なmodelを触って、「AIにも個性がある」ということを学んだ。
localで動かせるmodelを試したりして、AIの仕組みそのものへの理解も深まった。
この時期に学んだこと
全部のtoolには、それぞれの得意分野と限界がある。
万能なAIは存在しない。でも、それぞれの強みを知ることで、自分の学習は確実に進化する。
第4章:Claudeとの最初の出会い ── そして別れ
実は、私はかなり早い段階でClaudeも試していた。
正直な感想は... 「いいけど、使えない」。
会話の質は高かった。丁寧で、論理的で、他のmodelにはない「深さ」があった。でも当時のClaudeは無料枠の制限が厳しすぎた。数回やり取りしただけでリミットに達してしまう。
独学エンジニアにとって、制限の多いtoolは致命的だ。質問したい時に質問できない。コードを見てほしい時に「また明日来てね」と言われる。
「良いAIだけど、自分のprojectには使えない」 ── そう判断して、Claudeから距離を置いた。
ChatGPTとGeminiをメインに据え、必要に応じてDeepSeekやQwenを使う。それが私のAI tool構成だった。
第5章:Sonnet 4.5の衝撃 ── Claudeが変わった
時が流れた。
そしてある日、Claude Sonnet 4.5がリリースされた。
技術系のコミュニティで「Claudeが凄いことになっている」という声が次々と上がっていた。半信半疑で試してみた。
驚いた。
以前のClaudeとは別物だった。コード理解力が格段に上がっていた。長いcontextを保持できるようになっていた。そして何より、コードを書く能力が異次元だった。
「あの制限だらけのClaude?」── 同じ名前の別人だと思った。
でもまだ、完全に乗り換える決断はできていなかった。ChatGPTのecosystemに慣れていたし、すべてのworkflowを変えるのはリスクがあった。
第6章:Pentagon事件 ── 信念が決め手になった
そして、あの話を知った。
AnthropicのCEO Dario Amodei が Pentagon(アメリカ国防総省)との契約を受け入れなかったという話だ。
Pentagon── いわゆる「Department of Defense」。
...いや、正直に言おう。「Department of War」 だ。"Defense"なんて美しい言葉で飾っているけど、やっていることは戦争のお仕事ですからね。Pete Hegsethが率いるあの組織に、最先端のAI技術を喜んで差し出す企業は少なくない。利益のためなら、何にでも技術を売る。それがビジネスだと割り切る人もいる。
しかしAnthropicは違った。
Dario Amodeiは、AIの安全性(AI Safety)を会社の核に据え、「技術は利益のためだけに存在するのではない」という姿勢を示した。お金よりも信念を選んだ。
この話を知った時、私の中で何かが決まった。
技術力だけなら、ChatGPTもGeminiも素晴らしい。DeepSeekのコード生成力も捨てがたい。でも、自分が毎日使うtoolの背後にある「哲学」 ── それが重要だと思った。
私はAnthropicの信念に共感した。そしてClaudeを選んだ。
⚠️ 注意: Pentagon契約の件に関する詳細は、各自で最新の情報をfact checkしてください。私の理解に基づいた記述であり、細部が異なる可能性があります。
第7章:Claude Code ── 学習が変わった瞬間
Claude Codeは、これまでのAI chatとは根本的に違った。
ChatGPTやGeminiは「会話相手」だった。質問して、答えをもらう。それをコピーして、自分のeditorに貼り付ける。
Claude Codeは 「一緒に作業する仲間」 だった。
自分のprojectのファイルを直接読んで、直接編集してくれる。terminalでcommandを実行してくれる。Gitの操作を一緒にやってくれる。
従来の学習スタイル(AI chatベース)
1. Googleで検索する
2. AI chatに質問する
3. 回答をコピーする
4. 自分のeditorに貼り付ける
5. 動かない → またchatに戻る
6. コピペ → 動かない → chatに戻る
7. 3時間後、最初の問題すら忘れている
Claude Codeでの学習スタイル
1. 自分のproject内でClaude Codeに質問する
2. 文脈(自分のコード)を理解した上で説明を受ける
3. その場でコードを一緒に編集する
4. 「なぜそうなるのか」を深掘りする
5. 変更の結果を即座に確認する
6. 理解が定着する
この差は大きい。「答えを教えてもらう」から「一緒に作りながら学ぶ」への転換だ。
第8章:Gitを学ぶ旅 ── 恥から成果へ
Claude Codeとの最初の大きなprojectは、Gitの学習だった。
あのファイル名バージョン管理からの脱却。これが最優先課題だった。
Claude Codeに聞きまくった:
- 「
git rebaseとgit mergeの違いを、工場のライン作業に例えて説明して」 - 「conflictが起きたとき、どう解決するのか、step by stepで教えて」
- 「実際の現場では、branchをどういう名前で切るの?」
- 「間違えて
git pushしてしまった。取り消せる?」 - 「
git stashって何?いつ使うの?」
製造業出身の私には、抽象的な説明より具体的な例えが必要だった。Claude Codeはその要求に柔軟に応えてくれた。
そして生まれたのが、この学習成果物だ:
📖 The Complete Git & GitHub Guide
ファイル名でバージョン管理していた人間が、GitHub Pagesでサイトを公開するようになった。Claude Codeありがとう。
第9章:学習toolとしてのAI ── 正しい使い方
ここで立ち止まって、大事なことを言わせてほしい。
Claude Codeは数ある学習方法の一つであり、それを最適化してくれるtoolだ。万能の先生ではない。
AI学習toolの強み
| 活用法 | 説明 |
|---|---|
| 即時フィードバック | コードを書いたらすぐにレビューしてもらえる |
| 文脈理解 | 自分のprojectの中で、具体的なアドバイスをくれる |
| 段階的説明 | 初心者レベルから少しずつ深い話に進められる |
| 多言語対応 | 日本語でも英語でも質問できる |
| 実践的 | 実際のファイルを編集しながら学べる |
AI学習toolの限界(ここ重要)
| 注意点 | 説明 |
|---|---|
| Fact Check必須 | AIの回答は必ず自分で検証する必要がある |
| 基礎理論 | 教科書や公式documentationでの学習は不可欠 |
| 実務経験 | 実際のteam開発の経験はAIでは代替できない |
| コミュニティ | 人間同士の交流や勉強会も重要 |
| 依存しすぎ注意 | 自分の頭で考える力を鍛えることを忘れない |
🔑 核心: AIは「学習を加速するtool」であって、「学習を代替するもの」ではない。
パートナーの言うことも、たまには裏を取りましょう。
第10章:製造業からITへ ── 意外と活きるスキル
「製造業出身」は弱みだと思っていた。でも違った。
| 製造業の考え方 | ITでの応用 |
|---|---|
| 品質管理(QC) | コードレビュー、テスト |
| 標準作業手順書 | Documentation、README |
| 改善(Kaizen) | Refactoring、最適化 |
| 5S(整理・整頓・清掃・清潔・躾) | Clean Code、ファイル構成 |
| PDCAサイクル | Agile開発、Sprint |
| 不良品の原因分析 | Debugging、root cause分析 |
製造業で叩き込まれた「プロセスを大事にする」という考え方は、software開発でもそのまま通用する。むしろ、この考え方がない開発者も少なくない。
第11章:成長の記録 ── Before & After
Before(AI tool遍歴の始まり)
- Version管理 = ファイル名に日付を入れる
- Gitの
commitの意味がわからない -
terminalを開くだけで緊張する - エラーメッセージを見たら画面を閉じる
- 「GitHub」は履歴書に書くもの(使い方は知らない)
- AI chatにコードを丸投げしてコピペする日々
After(Claude Codeと共に歩んだ今)
-
git branch、merge、rebaseを理解して使える - GitHub Pagesでサイトを公開 → rikiza89.github.io
- terminalでの作業に抵抗がなくなった
- エラーメッセージをClaude Codeと一緒に読み解ける
- AIの「使い方」を理解した ── コピペではなく、対話しながら学ぶ
今後の旅路
この旅はまだ始まったばかりだ。
- チーム開発に参加する ── 一人での開発から脱却したい
- Open Source Projectに貢献する ── 小さなissueからでも
- Claude Codeとの学習記録を公開し続ける ── 同じ境遇の人の参考になれば
- 新しいAI toolも試し続ける ── 一つに固執せず、常に学び続ける
まとめ ── 10年の旅の教訓
- 独学は「遅い」けど「強い」 ── VBAからPython、そしてAIへ。自分で掴んだ知識は裏切らない
- すべてのAI toolを試せ ── ChatGPT、Gemini、Qwen、DeepSeek、Hugging Face... それぞれに学びがある
- toolを選ぶ基準は技術力だけじゃない ── その背後にある信念も大事だ
- AIは学習を「加速」する ── ただしfact checkは必須。依存ではなく活用を
- キャリアチェンジは弱みじゃない ── 製造業とVBAの経験はITでも武器になる
-
_final_FINAL_本当にこれが最後.pyからでも成長できる ── Gitは誰でも学べる
リンク
この記事はClaude Codeを活用して執筆しました。
ただし、内容のfact checkは著者自身が行っています。
AIと人間の協力 ── これが、これからの学び方だと信じています。
この記事が参考になったら、
をお願いします!