2009年10月23日

早起きしてプログラミングする方法

仕事は夜遅くまでダラダラやるよりも、早起きしてスッキリした頭でやった方が効率が良い、なんていう言葉をよく聞きます。

でも、夜型のエンジニアは、つい夜更かしして遅くまでプログラムで遊んでしまう、なんていう風景もよく見かけます。

私も典型的な夜型人間で、就寝はAM2時がデフォルト。たまに興が乗って3時過ぎまで戯れてしまい、翌日、眠気と戦う辛い1日を過ごすこともしばしばです。

(そして、翌日もまた懲りずに夜更かしする。なぜ昼間あれだけ眠かったのに、23時を過ぎると急に目が冴えるのだろう。テレホーダイ世代に課せられた呪いだろうか)

ところが、そんな夜型の私でも、早起きして出勤前の冴えた頭でプログラミングができる方法を発見しました。

手順は以下の通りです。


夜、帰宅してからしばらくうだうだとした後、プログラムを組み始める。

程よく調子に乗って来たら、寝るまでにどの辺りまで作業を進めるか予定を立てておく。この時、ギリギリ到達できないような目標を立てておくと良い。

数時間後、「目標まであと少しだけど、さすがにもう眠い……」という状態になる。

そうなったらけしてキリの良いところまで作業を進めたりせずに、「ちょっと仮眠を取ろう」と言って布団に入る。また、この時偶然にもキリが良い状態だった場合は、無理してでももう少し作業を進めて中途半端な状態を作ってから布団に入る。

心は仮眠のつもりでも身体は熟睡へと一直線になるので、あらかじめ目覚まし時計を普段起きるよりも1時間〜2時間前にセットしておく。

また、電気代は多少もったいないが、パソコンの電源は切らずに付けっぱなしにしておく。パソコンの電源が付いてるか付いていないかで、2度寝せずに早起きできる確率がかなり変わってくる。

翌日の朝、目覚まし時計に起こされる。

「おかしい、仮眠のはずだったのに・・・」と白々しく首をかしげながら起き上がると、時刻は出勤の準備を始める1〜2時間前を指している。

さらにパソコンの電源が付いていることに気づく。

パソコンを見ていると、昨夜、作業の途中で眠ってしまったことや、中途半端な状態で放置されているソースのことを思い出して、ちょっとムラムラしてくる。この時、ソースがシンタックスエラーな状態だとより効果が高い。

普段の自分なら早めに目が覚めても「まだ早いし、あと1時間寝るか・・・」と言って目を閉じるところだけど、ムラムラ感が眠気に勝ち、もそもそと起き出してパソコンの前に座ることになる。

一度手を付けてしまえばもう眠気と戦う必要もなく、その後、遅刻ギリギリまでコーディングに励むことになる。


という感じでやってたら、ほぼ確実に早起きできるようになりました。ただ、連日やってたら途中で眩暈がして身体を起こすのが辛くなるという現象が起きたので、やり過ぎは注意が必要です。

やってみた感想として、朝は「出勤まであと何分」というリミットがあるので、時間に対してシビアな感覚を持って作業にあたれます。

その辺りは夜と比べて効率が良いと思います。

但しちょうどテンションが上がってくる頃に「そろそろ出勤しないと」という時間がやってくるので、若干、ストレスは溜まるかもしれません。

また、人間の脳は宿主に対していろんな誘惑を仕掛けてくるもので、出勤時間が近づくと「会社なんかよりも今はこのコードの方が大切だな」とか「今日は午前半休してこのコードを組み上げようぜ」といった言葉を投げかけてくることがあります。

それらの誘惑に負けると社会人としての地位が脅かされる可能性があるので、けして耳を傾けないようご注意ください。



[Caution - 2009/11/18追記]

この手法を2週間ほど続けたところ、38度の熱が出て3日間下がらないという現象が発生しました。実践される場合は自身の体力と相談し、限界を突破しないように気をつけましょう。