🫠

#2 Android エンジニア転職を目指す 【ひよっこにClaude Codeは早かった】

に公開

【学び】Claude CodeでAndroid開発を始めようとして挫折した - 初心者には対話型が最適だった

はじめに

前回の記事で学割アプリの開発をスタートすると宣言しましたが、早速大きな方針転換をすることになりました。

今回は、Claude CodeとGitHub Actionsを使った自動化開発に挑戦して挫折し、Claudeとの対話型開発に切り替えたことについて共有します。

当初の開発戦略

やろうとしていたこと

「Claude Code + GitHub Actions で自動化開発」

  1. 要件定義をClaude Codeに渡す
  2. 仮のアプリを全自動で生成してもらう
  3. GitHub Actionsでビルド・テストを自動化
  4. 生成されたベースに機能を追加していく

なぜこの方法を選んだのか

  • 効率性重視: 手作業を最小限にしたかった
  • 現代的な開発手法: AI×自動化が最先端だと思った
  • 時間短縮: 短い期間での開発
  • 学習効果: 最新ツールの習得も兼ねたかった

実際に起こったこと

Claude Codeでの自動生成

要件定義書を渡してClaude Codeに学わりんのベースを作ってもらいました。

生成されたもの:
内容は確認できていないが

  • 一見すると非常に高品質なコード

期待していた結果:
「このままAndroid Studioで動かせば完璧なアプリの土台ができる!」

現実は甘くなかった

Android Studioでプロジェクトを開いた瞬間からビルドエラーの嵐が発生しました。

エラーの連鎖:

  1. バージョン不整合: Gradle Plugin、SDK、ライブラリのバージョンが合わない
  2. 依存関係地獄: 一つ修正すると別のエラーが出現
  3. 設定ファイルの問題: 生成されたbuild.gradleが環境に合わない
  4. パッケージ名の不整合: 複数箇所での命名ミス

修正の試み

修正を試みたが...

  • Android Gradle Plugin の更新
  • Compile SDK の変更
  • kotlin kaptの修正

結果:
修正しても次のエラー、また修正しても別のエラー...の無限ループ

最終的に新規プロジェクト作成で解決しましたが、自動生成のメリットは完全に失われました。

問題の本質を分析

なぜうまくいかなかったのか?

1. 環境差異の問題

  • Claude Codeは「理想的な環境」でコードを生成
  • 実際の開発環境は千差万別
  • バージョンの組み合わせは無数に存在

2. 初心者には複雑すぎる

  • エラーの原因を特定する知識がない
  • どこをどう修正すべきかわからない
  • Android開発の「お作法」を理解していない

3. ブラックボックス問題

  • 生成されたコードの意図が理解できない
  • なぜこの設定なのかわからない
  • 修正の影響範囲が予測できない

4. 学習効果の低さ

  • 完成品をもらっても理解が深まらない
  • 自分で書いていないコードは愛着も湧かない
  • トラブル対応力が身につかない

方針転換:対話型開発へ

新しいアプローチ

「Claudeとの対話で一歩ずつ理解しながら開発」

具体的な変更点

Before(自動化重視):
要件定義 → Claude Code → 完成コード → エラー地獄

After(理解重視):
要件相談 → Claude対話 → 段階的実装 → 理解しながら学習

実際の対話例

: 「メイン画面を作りたいんですが、どんな構成にすべきでしょうか?」

Claude: 「要件定義を見ると、こういう要素が必要ですね。まずは基本レイアウトから作りましょう」

: 「このエラーが出ているんですが...」

Claude: 「これはバージョン不整合ですね。この部分をこう修正してください」

メリットを実感

1. 段階的理解

  • 一つ一つの機能を理解しながら実装
  • エラーが出ても原因を特定しやすい
  • 自分で書いたコードなので愛着が湧く

2. 実践的学習

  • Android開発の基本が身につく
  • トラブルシューティング力が向上
  • 「なぜそうするのか」を理解できる

3. 適度なサポート

  • 困った時はすぐに相談できる
  • コードレビューもしてもらえる
  • ベストプラクティスを教えてもらえる

4. 転職に活かせる

  • 「一から作れる」アピールができる
  • 問題解決能力を示せる
  • 学習意欲の高さを証明できる

学んだこと

1. ツールには適切な使い方がある

  • Claude Codeは「万能ツール」ではない
  • 初心者には対話型Claudeの方が効果的
  • 段階的学習が結果的に効率的

2. AI活用の本質

  • AIに「丸投げ」するのではない
  • AIと「協力」して開発する
  • 理解しながら進むことが重要

3. 失敗も貴重な経験

  • エラー解決の経験は財産
  • 方針転換の判断力も重要
  • 柔軟性を持って開発に臨む

4. 転職活動への活かし方

  • 「問題解決能力」のアピール材料
  • 「学習意欲」の具体例
  • 「適応力」の証明

さいごに

「最新ツールを使えば楽になる」という思い込みで始めた自動化開発でしたが、初心者には対話型の方が適していることがわかりました。

重要なのは「ツールに使われる」のではなく「ツールを使いこなす」ことでした。

Claude Codeも素晴らしいツールですが、適切な場面で使ってこそ威力を発揮します。今回の経験で、自分のレベルに合った開発手法を選ぶことの大切さを学びました。

Discussion