ChatGPTが登場してから始めての大型連休で、自分も久々にまとまった時間がとれたので個人開発をしていました。
ほこりがつもったソフトウェアプロジェクトを取り出すと、大抵の場合はライブラリのアップデートや連携サービスのアップデート対応などに時間を費やしてしまい、せっかくの貴重な休日を環境構築だけに費やすというのが大変憂鬱でした。
しかし、ChatGPTのおかげでこうした個人開発も全く苦ではなくなりました。
以下、自分が取った方法を説明します。
ここでは、個人のプライベートリポジトリでの開発プロジェクトを想定しています。 OSSの場合はこの方法をそのまま適用すると色々課題があると思うのでご注意ください。
方法
- GitHub(または類似サービス)を開きます。
- 大量のIssueを登録します。登録方法のコツは後述します。
- 各Issueに対してChatGPTに質問し、回答結果をコピーしておきます。
- Issueを一つずつ解決していきます。ポモドーロタイマーを使って、1-2個のIssueを1ポモドーロで解決すると効率が良いです。
- 作業中に新たな問題やアイデアが見つかった場合は、全てIssueに追加します。
Issue登録のコツ
- あまり真面目に書かない: 個人プロジェクトなので、簡潔に書いても大丈夫です。重要なのは、忘れないようにIssueに記録することです。
- タグ付けは真面目に行う: どのIssueに取り組むかを決める際に参考になるため、タグ付けは丁寧に行いましょう。例えば、バグと改善案を分けるだけでも役立ちます。
- 細かく分ける: 複数のエラーが同時に発生していても、それぞれが別のエラーであればIssueを分けましょう。
結果
こんなフローでやるだけで、圧倒的に生産性が変わりました。 自分の場合、数年前に作って放置してたソフトウェアプロジェクトを取り出して作業したら、1日でIssueを35個登録し、18個クローズできました。
それだけでなく、退屈な環境構築問題潰しの時間も減るのでモチベーションも上がり、さらに作業が明確になったIssueリストが残るので休暇が終わってもスキマ時間に作業しやすくなり、継続的な開発のモチベーションが上がります。(多分。まだ休暇明けてないので希望的観測)
もう一つ気づいたのが、ChatGPTによる教育効果です。
ChatGPTの結果をコピペするだけでも、きちんと内容を理解していくことでかなりの勉強の効果を感じました。
今までだと環境構築などで色々回り道をして、へとへとになってようやく正解にたどりつく、みたいにしていましたが(それももちろん勉強になることは知っていますが)、確実に問題の本質をとらえ、それに対する解説をしてくれると勉強効率が桁違いです。
「それでも地道に勉強するほうが身につく」という人もいるでしょうが、どのみちChatGPTでは解決できない問題もまだまだあるので(例えば最新バージョン固有の問題など)、従来どおりの地道な調査がなくなるわけではないです。
そうした苦労を全部の問題に対してやる必要は自分はないと思います。