はじめに
この記事は、大学の授業でC言語のif文を触ったことがある程度の状態から、AIエディタ「Cursor」を使って試行錯誤しながら開発を進めてきた記録です。
最初から順調だったわけではありません。
- 何を勉強すればいいのか分からない
- 作りたいものはあるのに手が動かない
- 何度も壊しては戻す
そんなことを繰り返していました。それでも、以下の3つを意識して続けることで、少しずつ「作る側」に近づけたと思っています。
- 小さく作る
- AIを前提にする
- 分からないことを溜めない
これからプログラミングを始める人や、「まだ基礎しか分からないけど、何か作ってみたい」という人にとって、「こんな進み方でもいいんだ」と思える一例になれば嬉しいです。
1. 完全未経験だった頃の話
インターンに参加する前の私は、プログラミング経験がほぼゼロの状態でした。
- **「HTML?CSS?それって何が違うの?」**というレベル
- Webサービスがどうやって動いているのかも分からない
- 自分がエンジニアとしてやっていけるイメージが全く湧かない
正直、不安しかないところからのスタートでした。
2. 学習初期に一番助けられたのはAIだった
最初の学習において、圧倒的に効果的だったのがAIの活用です。
私にとってAIは、24時間いつでも質問できるメンターのような存在でした。
▼ AIをどう使っていたか
- 分からない用語を即座に聞く
- エラー文をそのまま貼って意味を聞く
- 書いたコードを「これで合ってる?」と確認する
- 実装方針を一緒に整理する
これにより、「調べても分からない → 手が止まる」という時間が激減したのが本当に大きかったです。
3. 1ヶ月後:独学でHTML/CSSのプロフィール画面を作れるように
学習を始めて約1ヶ月間は、完全に独学で進めていました。
その結果、HTMLとCSSだけで、自分のプロフィール画面を一から作成できるようになりました。
▼ 当時できるようになったこと
- HTMLで基本的なページ構造を書く
- CSSでレイアウトや色、フォントを調整する
- 簡単なレスポンシブ対応
コード量は少なく、今見るとかなりシンプルですが、「独学でも、ちゃんと画面を作れるようになるんだ」という実感を初めて持てたタイミングでした。
この体験が、「もっとちゃんと作ってみたい」と思うきっかけになり、その後の学習と開発につながっていきました。
4. Cursorと組み合わせると、ここまで作れる
ここから一気に世界が広がったのが、**Cursor(AIエディタ)**を本格的に使い始めてからです。
「高度なアルゴリズムが書ける」わけではない状態でも、以下のような「誰かの悩みを解決するサービス」を形にすることができました。
-
家族の夜ごはん管理ツール: 母親の悩みをヒントにした、家族の食事が必要かどうかを判断するWebツール
https://family-dinner.vercel.app

-
旅行先提案サイト: MBTI診断の結果からおすすめの旅行先を提案するサイト
https://mbti-travel-bot.vercel.app/

▼ 実装の流れと実際のプロンプト
基本的には以下の3ステップを繰り返して作っています。特に「1. 仕様の言語化」では、AIをPM(プロジェクトマネージャー)のように使い、リスクや工数まで洗い出すようにしています。
1. 仕様を言語化する(要件定義)
「何を作りたいか」を書き出しますが、いきなりコードを書くのではなく、まずは実現可能性やリスクを整理させます。
実際に使った「要件定義」のプロンプト例:
「あなたは熟練のWebエンジニア兼PMです。
現在、**『ライブ配信者と、配信事務所をマッチングさせるWebサービス』**の開発を計画しています。個人開発のMVP(実用最小限の製品)として、1ヶ月以内にリリースを目指しています。
以下の項目について詳細に提案してください。
- 機能要件(MVPに必要な最低限の機能リスト)
- データ構造(ユーザー、事務所、メッセージ等のリレーション設計)
- 実装の工数見積もり(機能ごとの概算時間)
- 技術的リスクと懸念点(セキュリティや認証周りなど)
技術スタックは Next.js / Supabase / TailwindCSS を想定しています。」
こうすることで、「作り始めてから『あれも必要だった!』と気づく」という失敗を大幅に減らせました。
2. Cursorに方針を相談する
要件が固まったら、具体的な実装について相談します。
実装時のプロンプト例:
「先ほど定義した『配信者の登録フォーム』を作成したいです。
SupabaseのAuth機能と連携し、バリデーション付きのフォームコンポーネントを実装してください。」
3. 出てきたコードを読みながら微調整する
一発で完璧なものはできないので、動かしながら修正を指示します。
修正時のプロンプト例:
「スマホで見たときに、入力欄が画面からはみ出してしまいます。レスポンシブ対応するにはどう書き直せばいいですか?」
「このuseEffectの部分、何をしているのか初心者にもわかるように解説してください。」
このように、**「作ってもらう」だけでなく「解説してもらう」**ことで、理解しながら進めることができました。
5. 現在:ライブ配信者と事務所を結ぶサイトや、バスケメディアの開発へ
現在は、ライブ配信者と配信事務所を結ぶWebサイトの作成や、
https://live-for-everyone.com/

バスケットボールメディアの運営を行っています。
https://basketalkjapan.com/

デザイン・実装をすべて一人で試しながら、
「Cursorを前提にすれば、意外とここまで一人でできる」
という感覚を持つようになりました。
6. 開発していて大事だと感じたこと
ここまでいくつかサービスを作ってみて、技術以前に特に大事だと感じたことが4つあります。
また、これらは独学だけでなく、インターン先で社員さんに質問したり、フィードバックをもらったりする中で学んだことでもあります。
① 最初に要件定義をすること
いきなり実装から入ると、「何を作りたかったのか分からなくなる」「機能が増えすぎて収拾がつかなくなる」ことがよく起きました。
要件定義の重要性ややり方については、インターン先の社員さんが書かれた以下の記事が大変参考になりました。
https://qiita.com/WdknWdkn/items/7c130f2febfdf33b31a4
この記事を参考に、Cursorを使う場合でも以下の点を整理してから実装に入るようにしています。
- 何を解決したいのか
- 最低限必要な機能は何か
② こまめにバックアップを取ること
AIに任せて一気に実装を進めると、「さっきまで動いていたのに壊れた」ということが普通に起きます。
- 機能が一段落したらバックアップ
- 大きな変更前に必ずバックアップ
これを習慣にしています。
③ 分からないことは .md ファイルに残す
分からなかったことはその場で解決して終わりにせず、新しく .md ファイルを作って「調べたこと・理解したこと」を書くようにしていました。
後から見返すと、同じところで詰まらなくなり、学習のログとしても役立ちます。
④ プロの視点を取り入れる(インターンでの経験)
AIは便利ですが、**「なぜその設計にするのか」「現場ではどうしているのか」**といった本質的な部分は、インターン先の社員さんに質問し、アドバイスをもらうことで大きく理解が深まりました。
「AI」と「経験者からのフィードバック」の両方があったからこそ、ここまで進んでこられたと感じています。
7. 伝えたいこと
この記事で一番伝えたいのは、最初のレベルが低くても、AIと組み合わせれば“作る側”に立てるということです。
- 授業でif文を書いたことがある程度
- HTML/CSSを1ヶ月触ったくらい
そんな状態でも、アイデアを形にし、小さくてもサービスを作るところまでは十分到達できます。
おわりに
私もまだスタートラインに立ったばかりです。
インターンで社員の方々に助けてもらい、AIに頼りながら、なんとか動くものが作れるようになった段階です。
これからは、AIの力を借りつつも、もっと技術や設計の理解を深めて、より良いサービスを作れるエンジニアになっていきたいです。
「作りながら覚える」を楽しみながら、これからも頑張っていこうと思います。
最後に、お世話になっているインターン先はこちらです。↓↓↓
https://www.ielove-group.jp/recruit/ai-intern/
