個人開発でリリースまでやり抜くシンプルな実践方法
「さいきん個人開発やってるんだー」「こういうプロダクトを個人開発で作っていてー」
エンジニアの人からそういう話を見たり聞いたりすることは多々ある。
しかし、その後「リリースした」という続報がないこともしばしばだ。
個人開発はリリースまでこぎつくことがとてつもなく大変だ。
数日前に書いた下記の記事では、個人開発のもっとも難しいこととして、マネジメントとエンジニアリングを両立についてふれた。
その記事ではリリースの判断がいかに難しいかということも書いたが、「リリースまで開発し続ける」「リリースできる形まで仕上げる」「リリースまでやり抜く」ということはとても困難なことであり、個人開発のそびえる高い高い壁だ。
この記事では、ぼくの個人的な体験から得た、個人開発プロジェクトをリリースまでこぎつけるための実践方法を書く。
「個人開発をやってみたい」「個人開発に取り組み始めている」という人たちは、別の本職の仕事をしながら「趣味として」個人開発をする場合が多い。
その場合、開発時間を確保することがとにかく大変だ。
平日は仕事で忙しく、なかなか個人開発の時間などとれない。
そのため、土日にまとめて進めようと思うのがよくあるケースだ。
土曜日が始まると、いったんは疲れた体を休めようとゆったりしたり、読みたかった技術記事を読んだり、見たかった YouTube の動画を見たり、平日にできなかったことに取り組み始める。個人開発の優先度は通常かなり低いのだ。
そして気づけば日曜の夜。「あーもう明日は仕事かー」と若干憂鬱に思いながら「個人開発はまた来週末頑張ろう」となる。
そう。「個人開発を頑張る来週末のオレ」は完全なる妄想だ。
そんな週末など永遠に来ない可能性が高い。
来るかもしれないが、それはかなりのエネルギーと情熱が必要になり、なかなかの苦痛を乗り越えなければいけない。
なぜかというと、どこまで進めたかがうろ覚えの状態や、どういう実装をしたのか、なにを次に進めるべきか、ということを思い出すことは、想像以上に脳に負荷がかかるからだ。
脳にもコンピュータのように記憶階層があり、直前のことを思い出すのは簡単だが、1 週間前のことを鮮明に思い出すのは難しい。
今日の朝になにを食べたかを思い出すことはそこまで大変ではないだろう。
しかしちょうど 1 週間前の日の朝ごはんになにを食べたかを思い出すことは、多くの人にとってなかなか難しいことではないかと思う。
ぼくの体験上、からだがその「脳の負荷」を覚えており、無意識的にそのツラい行動を避けようとしてしまう。
実際、そのツラいことを避けようとする本能にあらがいながらも「なにをやるべきか」「どういうものを作ったか」を脳にロードしようとすると、負荷がかなり高く、疲れている時などは続けるのが本当に苦痛だ。
いってみれば、もうネットワーク上のサーバにアーカイブしてしまった重いデータを、ローカルマシンのメモリにロードしなければいけないような状態である。
ではどうしたらいいか。
個人開発プロジェクトの状態を、常に記憶階層の上位にあるようにすればよい。ぼくのたどり着いた最良な実践方法は、「毎日 10 分だけでも取り組むようにする」という方法だ。
家に帰ってお風呂に入る前の 10 分間、もしく入った後の 10 分間だけでも、とにかく 1 行だけでもコードを書く。毎日ほんのちょっとだけでも頭に個人開発プロジェクトの状況を頭にロードすることで、そのロードの負荷は小さく、常に頭のなかにプロジェクト状況があるようにできる。
なんなら「平日は 10 分しかやってはいけない」と決めてしまうのもありだ。やり始めてしまうと時があっという間に過ぎることもある。しかし平日に長時間取り組んだりして睡眠時間が削られてしまうのはよくない。
なぜなら、社会人にとっての個人開発の主戦場は、圧倒的に長時間を確保できる土日だからだ。土日の作業効率を最大限上げるための方法として、平日も毎日ほんの少しずつ取り組むようにする、というのがよい考えだと思う。
なお、平日に 10 分だけでも確保する、というのもシンプルではあるが簡単なことではない。
かくいう自分もここ数ヶ月、毎日 10 分だけでもやろうと思っていてなかなかうまくいかないことも多い。自分の生活リズムやライフスタイルに合わせて習慣化したいと思ってはいるものの…という感じであり、自戒を込めて今日から頑張ることにする。
そしてまた、こうした実践方法やあまたの壁を乗り越えてリリースまでたどり着けた人は、その達成感や充実感が待っていることは言うまでもないことだ。そこには素晴らしい体験が待っているとともに、そこから集約や機能追加、ユーザの声への対応などを含めた「サービスの運営」というまた超難度の高い、しかし最高にやりがいもある作業が待っている。