バイブコーディングで仕事はできるのか
いつもの定例会議の場で、クライアントにテストアプリを触ってもらった。「カメラが起動しないです」「サインを書こうとすると画面が動いちゃう」
聞いてみると、一人はAndroid、もう一人iPhone。同じアプリなのに、端末によって挙動が違う。あー、これ知ってる。10年前によく見た光景だなと、会議中に思った。
私はいま、いろんな業種のクライアントと仕事をしている。AIやノーコードを使った業務改善にPMとして入ることが多くて、その中で現場で使うWebアプリを作ることもある。
今回のアプリもそのひとつだった。
実は私、10年くらい前にもWebアプリの開発をやっていた。あの頃は本当に大変だった。検証端末を何台も並べて、1つずつ確認していく。このiPhoneのこのバージョンでは動くけど、あのAndroidでは崩れる。ブラウザによってCSSの効き方が違う。タッチの反応が端末ごとに違う。机の上に端末が10台くらい並んでいる光景が、日常だった。
あれから10年。Webの世界はだいぶ変わって、ブラウザが進化して、端末ごとの差異はほとんどなくなった。レイアウトが崩れるとか、JavaScriptが動かないとか、そういう苦労はもうほぼない。ただし、「ほぼ」であって「完全に」ではない。カメラの起動、タッチ操作、ファイルの扱い。このあたりは2025年の今でも、端末やOSによって挙動が違うことがある。ブラウザだけでは制御しきれない、OSのネイティブ機能を呼び出す部分だから。10台必要だったのが、今は2台あれば十分になった。でもゼロにはならない。
もう一つ、10年前と変わったことがある。当時は、テストや検証を"できるだけ完璧に"してからクライアントに触ってもらっていた。
今は違う。80%の段階で早めに触ってもらって、フィードバックをもらって直す。その方が結果的に圧倒的に早いし、現場の使い勝手に合ったものになる。
今回も、テストの段階でカメラとサインの問題が出て、次の定例までに修正をしている。「Androidではカメラの起動ボタンを分ける」「iPhoneではタッチイベントの登録方法を変える」など、原因がわかれば、対処はできる。
作って、出して、直して、確認してもらう。このループが早い。
最近「バイブコーディング」という言葉をよく見る。AIにコードを書いてもらってアプリを作る、というやり方のことだ。私もAIと一緒にコードを書いて、クライアント向けのアプリを作っている。
ただ、自分のブログをサクッと作るのと、クライアントに出すものを作るのでは、やっぱり違う。自分のサービスなら、多少崩れてても、動かない端末があっても、まあいいけど、クライアントが現場で使うものは、ちゃんと動かないといけないし、「動かない」はありえない。見るべき観点が増えるのは、当然だと思う。
AIはコードを書いてくれるけど、トラブルが起きた時、どこを疑うかは、経験がないとわからない。
で、バイブコーディングで仕事はできるのか。
できる、ただし地図がいる。どこに落とし穴があるか、何を確認すべきか、どの順番で進めるかは、自分の経験に紐づくことも多い。コードを書く人が変わっただけで、判断する人は変わっていない。
一人で作って、すぐ直して、確認してもらって。このサイクルを何度も回せるのが、今の仕事のいいところだと思っている。その分、お客さんに提供できることが増えるし、自分の技術も身につく。
昔より今の方が、仕事楽しいな、と感じる日々である。