最近、非エンジニアの友人が
AIを使ってアプリ開発をして、
この前、商品化して販売しておりました。
なかなか売れ行き好調のようで、
システム開発への敷居が
低くなっていっていることに、
AI時代にも、どこか希望があるように思いました。
そこで改めて、
非エンジニアに
AIプログラミングを教えるなら
どういうことを教えるのがいいのか、
考えてみました。
一つ、GitHubは導入すべし。
AIへ指示を出しながら、
コーディングしていくとはいえ、
AIがコードのどこをどのくらい
変更したのかが知りたくなったり、
これまでの変更は無しにして、
〝あのとき〟のコードに戻してほしい!
ということは多々あると思います。
そのへんは、GitHubを使っておくと、
コードの変更履歴を残すことができ、
(もしバグっても、簡単に元の状態に戻せるので)
より大胆な変更・開発をすることができます。
友人には、コミットメッセージの書き方や
ブランチやマージのことも伝えてみましたが、
そこはあまりピンときてなかったようで、
現在、
・mainブランチ一本で、
・コミットメッセージも、
「修整31」「修整32」「修整33」とか
無機的なものになってました。
コミットメッセージくらいは、
もうちょい意味あるメッセージ書けよーー
とも思いつつ、プログラミング知識がない
が故に、いったい何の変更がされたのか
よく分からないので、書きにくいそうです。
まあそんなもんか……、と思いつつ、
またタイミングみて、
コミットメッセージの重要性を
うたいたいと思ってます。
二つ、VS Codeを使いましょう。
コードを書くのに、標準装備のテキストエディタでは
なにかと不便が多いので、
VS Codeをインストールして使いましょう。
プログラミングコードを読みやすく
整形したり、色分けしてくれたり、
入力補助も使いやすい、
全エンジニア御用達のテキストエディタです。
拡張機能も豊富で、
・Claude CodeやCodexへ
エディタ上から指示を出したり、
・Git操作、変更履歴の確認
なども簡単にできます。
システム開発に使われるエディタは
様々ありますし、最近だと、
AntigravityというGeminiを利用することで
開発を強力にバックアップしてくれる
エディタなどもありますが、
新しいツールは、
使い方を調べてもリソースが少なかったり、
困ったときに誰かに聞いても、
そもそもそのひとも使ったことがない、
というケースが多いような気がするので、
非エンジニアで、あまり専門知識がないからこそ、
古くからエンジニアに愛されるツールを
しっかりと地に足つけて使うのが良いのではないかなーと思っています。
(ちなみに僕は8年目ですが、VSCode一択です)
三つ、動作テストは死ぬほどやれ。
新しく機能開発したときや、
機能変更したときは、
お客さんが使える本番環境とは別で、
開発したものを動作確認できる
テスト環境をつくって、
そこで、システムが意図してる通り
動くことをしっかり確認しましょう。
エンジニアが開発するにしても、
動作テストは死ぬほどやるべきなんですが、
AIにコードを書かせて、
かつ、その内容がよく分からないのなら、
なおのこと、
そのコードの正しさは、
自分の手を動かして立証するほかありません。
システムは一箇所変更すると、
他に派生して、別の機能へ影響を与えることが、ふつうにあります。
コードの理解があれば、
どの程度、どの範囲で影響があるのか
調べることができる
(し、そこを重点的にテストすることができる)
のですが、
そのへんは手数でのカバーがいるように
思います。
(僕の友人の場合は、
細かな性格なのもあり、
そのへんはキッチリと隅々までやっていた
ようで、安心して見れられました。)
ここまで、技術的なことをお伝えしてきましたが、
システム開発で結局必要なのは、
「何のために、それを作りたいのか?」
という目的意識です。
これさえしっかりしてたら、
多少、バグがでても、分からないことに
ぶち当たっても、乗り越えられます。
逆に、挫けそうな時は、目的意識に立ち返りましょう。
そもそも「システム化」も「ツール化」も、
ここまで、便利になった人類社会において
必須なものでないです。
別に、わざわざ便利にしなくても、
ひとは死なないし、
むしろ、手間暇かけて時間をかけてやること
によるメリットもたくさんある。
むしろ、これだけ
何でも(システム開発すら!)手軽な現代だからこそ、
手間暇惜しまないことに、価値があります。
しかし、変化のスピードも早く、
情報量も多い、この現代で、
手間暇惜しまずやるためには、
やはり、システム化は大事であると思い、
僕も日々開発をしています。
現場のことは、現場のひとが
一番よく知っているのだから、
現場レベルの軽微なシステム修整を
現場レベルでできるようになったら、
(いまのエンジニア必須の体制から)
システム開発もまた、
次のステージへ進んでいくように思っています。
少しでも、プログラミング、
AIコーディングの参考になれば幸いです。
ここまで読んでいただき、ありがとうございました。
松井











