個人プロジェクトは難しい。多くの人には本業があると思う。大抵の人は週5日、毎日8時間くらい労働していると思う。8時間労働していると疲れる。夕方に仕事が終わると、早々に布団を敷いて寝転がりたくなってしまう。
体力の問題。意志力の問題。両方あると思う。本業でフルに能力を発揮して、さらに余力でガンガン個人プロジェクトを進めている人は世の中に実際にいる。たくさんいる。そういう人たちは目立つので、むしろ世の中の大半はそういう人たちなのではないかという気すらしてくる。
自分はそういう人にはなれない。体力もなければ意志も薄弱だ。少し頑張ったらすぐ怠けたくなってしまう。仕事もフルパワーでやってるのに個人プロジェクトでもバリバリやってる人を下から見上げていると、自分のような人間は生きていてはいけないのではなかろうかという気がしてくる。
どうやったら体力も意志力も無い人間が個人プロジェクトをやれるようになるのだろうか。答えは1つしか無い。本業をおろそかにすることだ。意図的に、本業を疎かにする。
昔はそういう人はたくさんいたと思う。会社ではとりあえずデスクに座って時間を潰して給料泥棒として過ごし、家に帰ったら本気を出して趣味に取り組むというタイプの人である。しかし今の時代そんな仕事ぶりではクビになりかねない。
昭和の時代の「サボり」は、本業の時間を薄く平べったく過ごすやり方である。令和の時代のサボりは、本業の時間を太く短くすることにより実現するのではないか。つまり、一日8時間だとか週五日勤務だとかをやめてしまうのである。それで餓死さえしなければそれで良いような気がする。
理想は、週3日、6時間労働だ。週40時間が標準なので、単純に考えて収入は半分以下になる。しかし個人プロジェクトに当てる時間は大きくなる。月に60万稼いでいる人の収入は30万を切ることになる。
最初は苦しいかも知れない。しかし、個人プロジェクトがヒットすれば60万など目じゃないくらいに稼げるだろう。ヒットすれば、だが……
違う考え方もある。週6日、一日10時間働く、といったやり方でガンガンはたらいてお金をためて、フルで個人プロジェクトに向き合う時間を作るというものだ。今自分がとっているのはこっちの方向性だ。
このやり方だとお金さえ溜まればまとまった時間が取れるので個人プロジェクトを本当に成功させたければ良いような気がするが、問題が色々ある。まず半端なくストレスが溜まる。そのせいで余計なものにカネを使ってしまうのだ。結局個人プロジェクトにフルコミットするための資金がなくなってしまう。
また、技術的に成長しないことが多い。受託開発の宿命であるが、新しいことや業界のトレンド、ベストプラクティスといったものからはかけ離れた技術を使って開発する案件が9割以上だ。色々な人が関わって仕事をする以上それは仕方の無いことなのだが、個人開発ならばベストなやり方を求めてとことん試行錯誤できる。試行錯誤しているときが、人間は一番成長する。ルーチンワークは人間から成長の機会を奪う。
成長しなかったら何が悪いのかと言うと、受託開発においても単価を上げることができないのである。PHP一筋十年の人と、個人プロジェクトでAIやGoやReactやKubernetesを色々触ってきた人のどちらが単価高くなるかは考えるまでもない。仕事でぐったり疲れていると、個人プロジェクトどころか勉強ですらやる気が起きないのだからなおさら単価は上がらなくなる。
とはいえ週3日一日6時間で済むような仕事というのは世の中には少ない。みんな週五日一日8時間働く人材を求めている。人間には非同期は早すぎるのである。プログラミングにおいてすら非同期処理は難しいのだから、プログラマーでもない人達に非同期の働き方を求めるのは無理だ。
人間は同期的にしか働けない。非同期で使うことを前提に作られたプラットフォームにおいてさえ、同期的に使う方法を編み出してしまう。プログラマーですらdeferだとかasync/awaitだとか考えるのだから、プログラマーじゃない人が「朝9時に朝会チャットルームに始業メッセージ投稿してください! 席外すときも投稿してください! 昼休みから戻ったら投稿してください!」などと言い出してもそれは仕方のないことなのだ。
人間が非同期で働けるようになるまでは、自分のような体力も意志力もない人間が個人プロジェクトをやることはありえないのかも知れない。体力と意志力に恵まれたハイスペックな人だけが個人プロジェクトをやり、成長し、高年収を得る世の中がまだしばらくは続くのだろう。悲しいことだがこれが現実だ。