1.自分の発想に蓋をしてしまう
実は最近ぼんやりと、自分のものづくり力落ちてないか…?って危機感を抱いていました。
振り返ってみるとLuppetを作り始めてからというもの2年半ずっと同じプロダクトをアップデートし続けていことが原因の1つだなと思いました。最初は趣味のプロジェクトではありましたが、最近は1つのビジネスとして成り立つ規模にまで拡大してしまいました。
やや話が変わりますが、ソフトウェアはいろいろ作り方があると思っています。
それは最初からカチッと要件を決めてそのとおりに作って成果を上げるビジネス的なやり方もあれば、大まかに作りたいものを決めておいてそれを作っていく中で機能追加やオリジナリティを追加して楽しく作っていく、といった感じで様々です。
自分が少なくともここ1年はビジネスのことを考えてコードを書いていたので、この前者の考え方が自分のデフォルトになっていたのかもしれません。
この考え方の恐ろしいところは、"この機能はもう誰かがやってるからやめよう"という判断をしがちというところです。無理に他との差別化をしようとする考え方とでも言うのでしょうか。
よくこれは誰のためのものなんだろうって思うような変なのもの・サービスが生まれてくるのを目にしますが、大半は差別化が主目的になって小さく収まってしまうことが原因だと思っています。
結局もの・サービスを作っても使うのは人です。誰かがもう作ったような機能でも、もし人のためになるなら実装すべきだし、それこそが良いプロダクトに繋がることであるなぁと最近反省しました。
これは俺のオリジナル作品なんだ!って変な意地を張ってそのプロダクトの可能性を潰すことが本当に良くないという感じですね。それの行き着く先は"誰が使うんだこれ…"なので。
2.最初は同じでも、後々の修正で全くの別物にできる。
1では、「大まかに作りたいものを決めておいてそれを作っていく中で機能追加やオリジナリティを追加して楽しく作っていく」やり方もあるよという話をしました。
実はこの話は自分の中で改めて発見があったことでした。
最近Nuxt.jsを勉強していて、一旦誰かのサンプルコードを真似して文法とか構成とか勉強しよう~と思って作業していました。
まぁサンプルコードをなぞるので当然ながらオリジナリティなんて無いし、作業としても単調だったのですが、やっぱり作っているうちに(この機能ってこういう使い方できるよな?)とか(アレとコレを組み合わせたら面白いことできそう)みたいな発想が降りてくるんですよね。
今ではそのおかげでサンプルコードをなぞる域を脱出してオリジナル部分の多い作品になりそうな予感がしていて現在もその作業中です。
あまり表に出せるような内容のものではないので公開はしなそうだけど、自分にとっては人生を豊かにしそうなプロダクトなのでワクワク感が多いです。
思えば自分が本格的にものづくりしたMikuMikuSoine辺りの頃は、"誰かがもう作ったかな?"なんて気にしなかったような気がします。
Luppetもインタビューにあるように最初は自分のために作ったし、一般に売り出したらたまたま需要がすごくあったという部類のソフトウェアだったので、そんなことを一切気にせず作ってました。
逆にスケベ心出して「これはビジネス的な可能性めっちゃあるじゃん!ビジネスに繋げるぞ!」って考えて作ったものってことごとく失敗していますw
(VR本屋を始めとしたその他いろいろな小プロダクト)
1ヶ月かけて作って50RTくらいしか広がらなかったこともありましたw
たぶん(誰かがもうやってるよな…)とか(お金になるサービスを作るぞ!)って邪念に近いというか、そういうことを気にするよりも(最高に便利なもの・面白いもの作るぞ!)が100%詰まったプロダクトを作ったほうが絶対に良いですね。
後者の思想のプロダクトって結局魅力が前者よりも何百倍もあるんで、結果として売れるプロダクトになるんだと思います。
それをちゃんとビジネスとして成り立たせるのであれば、それこそ"後々修正していけば良い"わけです。
だから、まずはとにかく自分が最高だと思うものを作ることに集中するのが成功の秘訣だなと思っています。
3."誰かがもうやったことを自分がもう一回やった"経験は無駄にならない。
誰かがやったことを追体験しても、その経験は無駄にならないというのがあります。これが一番大きいかも。
誰かがやったことを実際に手を動かして追体験するメリットの話をすると、例としてあるライブラリと同じ機能を実装しようとする場合は
・ライブラリの中身に対する深い理解が得られる
・ライブラリができること、できないことがわかる。
・自分のプログラミング知識が深くなる
・そのライブラリに対する依存がなくなる。
といったことが挙げられます。
もちろん追体験するのは時間も体力も必要ですが、その元がとれるくらいのメリットは十分あるだろうと思っています。
あとそういった経験を積むことで、何か問題に対処しようとした時に自分が取れる選択肢がどんどん増えていきます。
プログラミング始めた当初はバグが出たら泣きそうになってましたが、最近では1つの問題を見たら解決策がとりあえず2,3個は出てくるくらいになりました。
そうして問題に対処する力が増えることで、最終的に1人で大抵のことができるようになります。
1人でできるということはその分プロダクトの尖りは増すし、誰かのせいで自分の作りたいものが作れなかった…みたいな悲しい結末もありません。サービスの全責任を背負って、自由に振る舞うこともできますしね。
こういったメリットが大いにあるので、「誰かがもうやった」というのを気にするのは無意味なんだなというのが改めて自分の中で納得いったというお話でした。
twitter post: 1409317623037235204
最近インタビューされました。
これがいい感じにバズったのでみんなの反応を見ていたのですが「仕事終わりにそんなことする元気も時間もないよ~」という話があったので、自分はどうしているのかというのをちょこっと書いていこうと思います。
時間割:
1.会社に出社していた時
09:00 起床・身支度・朝ごはん
10:30 会社に行く
11:00 会社着・仕事始め
20:00 仕事終わり
20:30 帰宅・夕飯・Youtube見たりアニメ見たり…
22:00 作業開始
02:00~03:00 作業終わり・就寝
SHOWROOMでは現在は週5でリモートワーク(フルリモートと呼びます)なので自分は年に1,2回しか出社していない(何なら会社の自分の席無くなってるくらい)なんですが、コロナ前はこんな感じでした。
当時はまだ27歳とまだ若かったので睡眠時間周りは無茶が効きましたがたぶん今は厳しいかも…。電車でよく15分くらい寝てたの思い出します。
2.フルリモートになってから
09:00 起床・朝ごはん
09:30 仕事開始
18:30 仕事終わり
19:00 運動・風呂・夕飯など
20:30 作業開始
02:00 作業終わり・就寝
フルリモートと比較すると効率が全然違いますね。
・仕事終わりの空き時間が増えた(4:00→5:30)
・電車通勤/身支度という手間が減って心と体力の余裕が増えた
・昼休みに1時間位堂々と寝れるので前日夜ふかししてもリカバリーしやすい+午後の開発作業の効率があがる。
・自分に最適化された環境で開発できる。
正直フルリモートになってから自由が効く時間がだいぶ増えました。
(毎日5時間半も空き時間があるので、Apexしてても余裕で作業時間があります。)
例えば出社してる人とフルリモートの人で比べると、日々同じ時間業務やっていても後者のほうが圧倒的に時間効率が良いということがすぐわかると思います。
それぞれで毎日進捗に大きい差が出てきちゃうし、自分としてももう出社してた頃には戻れない感じがしてますね…。
(フルリモートって社員全員がセキュリティへの意識含めコンピュータリテラシが徹底されていること、業務内容がフルリモートでも成り立つこと、監視されなくても全員がちゃんと業務を遂行する性善説が成り立つメンバーや仕組みで構成されていること、というのが必須条件だと思っていますが、そういう点で現職は本当に良いところだなと思います。フルリモートができている会社はこういう環境が整っているので堂々とアピールポイントとして売り出して良いと思うし、就活中の人はフルリモートできるか聞くのはその会社のことを一発で知れる良い質問だと思います。)
気をつけていること:
さてそんな時間割で生活をしているわけですが、それを踏まえて更に気をつけていることがあるので書いていきます。
1.自分の健康を保つ努力をする
・心と体の限界を突破しないように心がける。
・適度に運動して体力をつける。
・睡眠は昼寝も活用してしっかり取る。
Luppet作ってて根性や体力が物を言う場面は正直何度もありましたが、うつ病になってまでやることなんて1つもないしエナジードリンクを飲み続けてまでやることも無いと思っているので、とにかくその部分は限界突破しないように心がけていました。
あと最近は体力の衰えを感じ始める歳にもなってきたので毎日リングフィットで筋トレしてます。知り合いの有名な同人作家の方が筋トレして食生活も管理していて健康に気を配り、かなり大きな成果を上げているので真似しています。
曰く「運動しないと体力の衰えていくし、例えば20代でできていた作業ペースが30代になって維持できなくなって詰む。それで消えた作家を何人も見てきたよ」という話が今でも強く印象に残っています。
自分もあと9ヶ月で30代に突入しちゃうしね…。
睡眠時間ですが、自分は(昼寝を含めて)6時間寝ればなんとか大丈夫という体なので最低限そこは守っています。ここらへんは自分の体の丈夫さに感謝してます。
どうしても眠いときは昼寝をしています。どうやら睡眠時間以上に効果があることらしいので特に後ろめたさとかなく摂っていますね。
https://diamond.jp/articles/-/112221
更に睡眠も効率良く取るために快眠サプリという怪しいサプリも摂取してます。(正直効果あるかは不明ですが…)
https://amzn.to/366dRw5
2.悩みや考え事はなるべく早く頭から追い出す
自分のように"本業エンジニア・副業エンジニア 兼 経営者"みたいな暮らしをしていると、どうしても悩みや考えることがすぐに増えていきます。
例えば:
本業のあのコードはもっと良いやり方あるだろうな…
サーバ周りもっと知識つけないと今後の作業に支障が出るな…
Luppetのお問い合わせが来てるから早めに処理しなきゃ…
法人税払わなきゃ…
そして、毎日こんなことをずっと頭の中に溜め込んでいると作業が全く手につかないんですよね!(あぁ早めにアレをやらなきゃ…そういえばこれってどうなってたっけ…)みたいな悩みで頭がいっぱいになってしまいます。
最後に何が起きるかというと、作業効率が下がってるのにタスクは容赦なく降ってくるのでパンクします。体を壊したり心を病んだりするかもしれません。
それをどう解決しているかというと、自分の場合は一旦作業を止めて、タスクとにらめっこをし、作業の戦略を立てる時間を作っています。
そしてそれをメモに残しています。
(頭の中をそのまま書き出すので基本的には手書きのメモを使いますが、以下にあるようにたまにNotionも活用しています。)
重要なこととして、書いたことはその瞬間から忘れて一旦頭から追い出します。
そして作業に集中し、そのタスクを完了したらメモを開いて(あぁ、そういえばこんなことやる必要があったな~)って感じで次のタスクに向かいます。
あとはその繰り返しをやっていけば、タスクが最高効率で完了します。
人間は基本的にマルチタスクができるように作られていないので、シングルタスクをどれだけ効率良くやるかということを突き詰めていって今のスタイルに行き着きました。
時間指定まで細かくやっている理由としては
・期限を決めることでダラダラ作業しなくなるから(何か研究があったはず)
・このメモを書いたのは戦略立て担当の自分なので基本的にメモに書いた時間通りに行動すれば良いです。そうすると頭が空っぽの状態でも作業できます。
・ゲームのRTAっぽくて楽しいから
くらいです。
事前に作業を見積もり、行動作戦を立てて、後はそれを実行するエージェントみたいな感じで楽しみながら作業しています。
ちなみにこれを継続していくと作業の見積もりもだんだん上手くなるのでそういう意味でもお得感のあるやり方かなーと思っています。
3.成功者のやることをとりあえず真似して、自分用に最適化する
↑で書いた運動の件が特にそうですが、成功者のやってることを真似すると大体正解にたどり着きます。なぜなら成功しているから…。
やや冗談みたいな話になっていますが、ここ2年ほどで自分が徹底的にこれをやった結果なんか色々上手くいってしまったので結構効率が良い方法だと思います。
(今までのFanboxでもこの辺りの大事さは書いていますね。)
最初はとりあえず真似してみて、自分に合わないなーと思ったら止めましょう。仮に自分に合うようなものであれば、なぜ自分に合うのか考え、それを自分なりにアレンジして使いましょう。
そうすると段々生活や考え方が最適化されてきて、自分が強くなっていく感覚が身についていくかと思います。
これの良いところは、誰かが考えた効率の良い方法にタダ乗りできるところですね。どうしたら効率が良くなるかと考えるのは正直時間がかかるし面倒です。それをすっ飛ばして恩恵に預かれるのはとても便利。
そしてそういうのを真似するのは悪いことでも後ろめたいことでもありません。
そもそも「こうすると上手くいったよ~!!」っていうのは誰しも自慢したくなるもので、比較的簡単に見つかります。自分も今Fanboxに書いてるのもそうですしね。
みんなに真似してほしいからこそ、各位の表ににじみ出てくるものだと思っています。
実際に会ってみて話を聞くまでもなく、本やらSNS上の振る舞いやらで簡単に見つかるのでまずはそういうのを見て真似するところから自分はやりました。
これを継続し色んな成功者を観察していくと、次第に共通点もわかってきます。
共通点があればほぼ確実に真似すると良いもの!という判定もできるのでこの観察と真似ですら効率化できてしまいますね。
(ちなみに「成功者のやることを真似していけ」というのはいろんな成功者が言っている共通点でもあります。)
ーーー
今月は以上となります!
ここまで読んでいただきありがとうございました!