開発の時間とモチベーションをどう作るか問題

今回は、サービスを開発しよう、プログラムの勉強しよう、など継続して取り組むときにどうやって自分の時間とやる気を確保するか?という問題についてです。

強い意志で自分を律するのはNG

まず最初にですが、熱い情熱が湧き上がって、例えば「今日からやるぞ!」と決めて始めるパターンがあります。たとえば影響力のある起業家のプレゼンを聞いて「今日から俺もやるぞ!」と決意を新たにする場合ですね。

このパターンは挫折することがとても多いです。人間の意志はとても弱くて、やれないことを意志の力でカバーしようとしても、「まあ明日からでいいか」となってしまいます。ダイエットのために運動を継続しよう、とか、毎日勉強しよう、とか毎日ブログを書くぞ、とか、基本的に続きません。少なくとも私は意志の力では続けられないです。

習慣の力を味方につける

人間は習慣化すると続けられるようになる生き物です。パブロフの犬のように「この行動をすると開発をする」という習慣をつけることができればうまく自分を操ることができます。自分の意志がどれだけ「今日はやりたくないな」と思っていても、その環境になると自分の意志とは関係なく自動的にやるような環境づくりが重要です

私の場合は、前職で会社で仕事をしつつ、下記のような時間を取って開発をしていました。共通しているのは普段の生活とは違う場所で開発をする、ということです。

・通勤電車で座れる電車に乗り、電車の中で開発する
・会社の昼休み時間に自分のパソコンを開いて開発する
・金曜の夜に漫画喫茶に行って、朝の6時ごろまで開発する
・休みの昼間にベローチェにいってバッテリーが切れるまで開発する

家に帰ってからも開発することはありましたが、家族もいますし、テレビも付いていますし、どうしても集中することができません。家にいるときぐらいリラックスしたいということもあります。私の場合は中高生のころから「家では遊んで外で勉強する」と決めていたので、そのあたりの影響もあると思います。

この「環境を行動に紐付ける」ことについては、ぜひ試してみていただきたいです。特に気が散らない場所として、適度に人がいる「電車の中」が特におすすめです。まわりに適度な雑音があって、目の前にはノートパソコンがあって、他にやることもない。もう集中するしかないですね。

ちなみに開発をしていたころの職場は、土日は休みで21時半〜22時に会社を出る事が多く、月平均で50時間ぐらいの残業でした。多いときは100時間近く、少ないときは30時間ぐらいでしょうか。その中でときにはゲームをしたり、お酒を飲んだり、開発に明け暮れるわけでもなく時間をうまくやりくりしていました。

開発に「楽しい」要素を持ってくる

自分が「技術的にやってみたい」と感じている要素を開発物に無理やり持ってくる方法もあります。本来開発すべきことからは若干それてしまう場合が多いのですが、いま流行りの技術を試してみるためにサービスの一部の機能に組み込んで見る、という方法があります。

私の場合は「VRゴーグルを使いたいのでWebサイトにVRヘッドセットで画像を見れる機能をつける」とか、「360度全天球カメラを使いたいので、全天球カメラの投稿写真をマウスでグリグリとドラッグして確認できるビューアー機能を作る」とか。最近だとApple Watchを使いたくなったので「Apple Watchでオフラインで地図が見れるアプリを作る」とかもやりましたね。

技術者だと触ってみたい技術や、遊んでみたいガジェットがある人も多いと思います。その遊ぶ理由として、サービスのなかの一つの機能を作ってみる、というのもアリではないでしょうか。

無理やり締切を持ってくる

開発当時に自分のモチベーションを上げる方法の一つとして、サービス開発のコンテストに参加する、という方法もあります。

個人的にはハッカソンが好きで、アメリカのTechCrunchのハッカソンに3回ほど出てみたりしているのですが、ハッカソンはどうしても短期集中で作るので完成度はあまり上げられません。開発のきっかけにはなると思うので、使い方次第では使えると思います。

おすすめなのは数ヶ月などの長期間募集をしている開発者向けコンテストですね。10年以上開催されているMA(MashupAwards)には個人的に何度か応募をしていますが、締切を作ってその日までに何とか仕上げるという開発をしていました。

本当に集中しなくてはいけないときは瞬発力も必要になります。締切直前の短期間であれば最初に挙げた「意志の力」を使うことができます。「サービスを開発するという行為について、自分の人生における優先度をどこまであげるか」という感覚、FFの新作が出たらご飯を食べる時間も寝る時間も捨ててゲームする感覚。サービスの追い込みだと決めたら、もうプログラム以外は何もしないぐらいの感覚ですね。

ただ人の集中力なんてそんなに持たないので、作るものができたら逆に燃え尽きてしまう場合があります。やる気がなくなったら数ヶ月置いておくのもありだと思います。特に独立する前だったり、趣味で勉強を兼ねて作っている場合は作ったものをしばらく寝かせるのもいいと思います。忘れた頃に作ったものを使ってみると、改善点なども色々見えてきて新たな気づきも得られたりします。

まとめ

人間という特性をうまく使って、また自分の特徴をうまく使って「自分をいかにうまく操るか」ということを考えてみましょう。自分の意志の力を信じることなく、環境をうまく変えてあげることで自然と開発の時間が確保できるようになると思います。ぜひ試してみてください!

この記事が気に入ったらサポートをしてみませんか?