プログラミング学習のモチベーションを維持する方法

と心の中で思ったならッ!その時スデに行動は終わっているんだッ!

photo credit: SweetOnVeg via photopin cc


まえがき

プログラミングを学習するうえで最も大事なモチベーション。
僕がどうやってモチベーションを維持しているかをまとめてみる。


やる気が出る環境

短期的なモチベーションアップのための環境づくり。


場所

僕は休日に家にいると Twitterはてブを眺めていてなかなかやる気にならない。
そのため MacBookAir を持ち歩いて、ドヤリング駆動開発(DDD)する。


主にカフェや図書館。
(このエントリも図書館で書いている)


カフェではそれほど長居せず、食事込みで1時間半くらい。
作業のとっかかりさえ手をつけてしまえば、その後は帰宅してもやる気が継続する。


僕の場合は(実際に見られているかは別にして)他人の視線がある環境にいたほうが集中するみたいだ。


BGM

無音は寂しいので BGM 必要。


気分が盛り上がるけど興味がいきすぎない曲がいい。
最近は BUMP OF CHICKEN の RAY をよく聞いてる。



こっちは気分をとにかく上げるときに。


半年くらい前は作業音が流行ってて、 Coffitivity をよく使ってたけど飽きた。


フィードバックを得る

こちらは中・長期的なモチベーション維持のため。
一歩を踏み出した後にフィードバックを得られるようにする。


人に話す

単なる知識を経験として蓄積するための活動。


たとえば職場の同僚に話すことにしている。
読んだ本で気になったことを話したり、現場に適用してみたり。


先日はリーダブルコードを読んで以降、コードレビューで名前について議論するようになった。
「コイツ急に語るなあ」と思われようが関係ない。

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)


身につけた知識は使わないと意味がないし、使ってから知ることもある。
なので荒削りな知識を積極的に使って、磨きをかけるプロセスを意識的に行っている。


ブログを書く

こちらは知識を体系的に整理するための活動。


自身が学んだことを振り返るきっかけになる。
また、要点にまとめることで瑣末な情報はフィルタリングして大事なところだけに集中できる。


たまに Twitter やコメントがもらえるけど、うまく伝わらないことによるノイズもある。
どちらかというと反応があったこと自体によって承認欲求が満たされることが大きい。


最後に

ここまでいろいろ書いたうえでちゃぶ台返すけど、やる気がなくてもエディタを開いて書き始めればだんだんやる気が出てくるもの。
これだけ準備したからやんないと!って自分を追い込みたいときと、精神論でやればやる気になるさ!ってときを使い分けられるといいかなと思う。


やる気のスイッチ! (Sanctuary books)

やる気のスイッチ! (Sanctuary books)

やる気のスイッチ!

やる気のスイッチ!