Subscribed unsubscribe Subscribe Subscribe

SE Can't Code

A Tokyo based Software Engineer. Not System Engineer :(

仕事のやる気、射撃しつつ前進.

life

かの有名なJoel on Softwareで下記のような一節がある。

ひとたびフロー状態になると、それを維持するのは難しくない。私の一日の多くはこんな感じだ: (1) 仕事にとりかかる。(2) emailをチェックしたり、Webを見たり、そのほかのことをする。(3) 仕事に取りかかる前にランチを取ったほうがいいと判断する。(4) ランチから戻る。(5) emailをチェックしたり、Webを見たり、そのほかのことをする。(6) いい加減はじめたほうがいいと心を決める。(7) emailをチェックしたり、Webを見たり、そのほかのことをする。(8) 本当に始めなきゃいけないと、再び決心する。(9) くそエディタを立ち上げる。(10) ノンストップでコードを書いていると、いつのまにか午後7:30になっている。 ステップ8とステップ9の間のどこかにバグがあるようだ、私は必ずしもこの溝を飛び越えられないからだ。私にとっては、ただ始めることが唯一困難なことなのだ。静止状態にあるものは、そのまま静止状態に居続けようとする。私の頭の中にはとても重いものがあって、それを加速するのはとんでもなく難しいのだ。しかしひとたびフルスピードで回り始めたなら、それを動かし続けるのに努力は必要ない。

Joel on Software - 射撃しつつ前進

あるある。そう共感する人は多いと思う。僕の場合だと、バランスボールに座る(最近椅子がバランスボールになった)。Githubのトレンドを眺める。面白そうなプロジェクトのREADMEを読み漁る。特に面白そうなライブラリは実際にマシンに入れて遊んでみる。メールを読む。朝会の時間になる。これが終わったらお昼休み。といった具合か。

Joelはとにかく動き出すことが大事だと言っている。それは同意だ。ボーッとするより、とにかくエディタを立ち上げてコードを書き始めると良い。朝来てすぐに。ただし僕の場合、コードを書き始めるとまた壁にぶち当たる。

昨日諦めたバグに憂鬱な気持ちを抱きながらエディタを開き、デバッガをつつきながらもふと思い付きで書いたコードがまた新たなバグを引き起こす。疲れた心を癒すため同僚らとちょっと早めの昼食へ向かう。その後、再びバグと向き合いなんとか改修するもコードの負債を無視できなくなり、リファクタリングを始める。並行してテストを書いているとカバレッジ100%に心が奪われ、次第にコードに綺麗さを求め出す。思うがままに書いたコードが動かなくなり、ため息をつきながらrevertし、またリファクタリングを始める。途中で集中力が切れ、同僚にちょっかいを出し、バランスボールで跳ね、ふらふらとオフィスを飛び出し、たい焼きを頬張りながら戻り、また同僚にちょっかいを出す。やる気が戻った頃にリフレッシュした頭でエディタに再び向かう。

やる気をコントロールすることは難しい。ずっと気を張っていては良いものも作れない。僕の場合、バランスボールで跳ねたり、たい焼きを食べに行ったり、同僚にちょっかいを出すのは仕事でフロー状態に入るためには重要な要素だ。また、文章と同じで一旦コードを頭から離して再び見直すと見えなかったものが見えてくることもある。

自分が1年目の頃だとバランスボールで跳ねたりなんて絶対しなかっただろうなと思う。それは今以上に真面目だったからか、息抜きするほどの仕事をしてなかったからか。まぁ、後者な気がする。

射撃しつつ休みつつ前進。少なくとも僕はストレスフリーで仕事をしているので、ストレス社会からは無縁な人生を送っている。それはたまにたい焼きを食べるからなのだろうか。そう思っておくとする。

Remove all ads