PMS — プログラミングにおけるモチベーションのソース (己を知れば百戦危うからず)
プログラミングに対するモチベーションの種類はひとつじゃない。
自分自身を知らないよりは、知っていたほうが良い。
実は、モチベーションは高めることは出来ない。その「源」に気づくことが出来るだけだ。
何をモチベーションの源にしても良いけれど、自分に合っているものでなければ意味がない。
たとえばの話
たとえば「何か作りたいものがある人が、圧倒的に成長する」と言われたりする。
だけど自分にもそれが合っているとは限らない。
実は作りたいものなんか何もないかもしれない。
ただ手を動かして遊ぶのが好きなだけかもしれない。
たとえばリファクタリングに情熱をかけるエンジニアもいる。
だけど自分にもそれが合っているとは限らない。
散らかすのは得意だけど片付けは苦手なのかもしれない。
自分は遊ぶだけ遊んで、片付けが得意な他の人に任せた方が良いかも知れない。(それが許されるならばだけど)
プログラミングは自己発見である
プログラミングが面白くなるということは、自分発見だ。
新規獲得ではなくて、あくまでも新規発見だ。
「人が振りかざしている何か」ではなくて「誰かどこかにいる空想のエンジニア」でもなくて、「自分自身が持っている源」に気づくこと。
スプリテュアルな話だと思うだろうか。
忘れがちではあるけれど、実はプログラミングというのは、人間の道具だ。
使い手が人間である以上、そこには必ず「人間的な性質」が大きく関係してくる。それが全てだとさえ言って良い。
私のモチベーション
たとえば僕の場合は、ただ単にキーボードを打ちながら、子供のようにプログラミングと遊んでいるのが好きだ。
何か世の中に価値を提供したり、サービスを作ろうとするよりも、ただたんに一瞬一瞬を遊びながら過ごしたい。
プログラミングの結果は、ただの結果だ。プログラミングしている瞬間だけが全てだ。そこに愛がある。
なのでプログラミング対象は価値提供でも、そうでなくても、Featureの作成でも、リファクタリングでも、なんでも良い。自分が面白いと思えることが大事だ。
モチベーションの種類には何があるだろう
思いつくところを書いてみる。
創造
- サービスを作ること
- 機能を作ること
この場合、プログラミングは目的実現の手段に過ぎない。本来の目的は価値の提供にある。
手助け
- たとえばStackOverflowで他の人の質問に答えたりすること。
- たとえばチームメンバーにプログラミングについて教えること。
ゲーム
- たとえばひとつのプログラミングに関して、他の人よりもいちはやく理解することにゲーム性を感じたり。
- PullRequestがマージされるのにRPGのボスを倒したときのような感覚を感じたり。
コミュニケーション
- チームメンバーと喋りながら開発を進めるのが好き。
- PRを作ったり、Issueを作ったり、OSSに関わるのが好き。(僕はOSS開発はコミュニケーションの一種だと思う。脳がそう感じているならばそうだ)
経験
- プログラミングをスポーツのように、映画を観るみたいに、経験として楽しんでいる。
- たとえば Mac Book のキーボーを叩いてそのレスポンスを楽しんでいる瞬間が好き。
快適さ
- VIM とか IDE で快適に操作できる環境が好き。
- リファクタリング愛好家。
- ボーイスカウト精神 がある。
そして
こう考えてみるとプログラミングのモチベーションも「人依存」で、パーソナリティーがそのベースにあるように思えてくる。
パーソナリティーはプログラミングよりも大きい。前に来る。
僕らはプログラムをプログラミングしているかのように思えて、実は自分自身をプログラミングしているのかもしれない。
あわせて読みたい?
関連
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
公開日時
2018-08-16
Discussion