プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

プログラミングには集中する時間が必要なのです

ほとんどは単に夜型なだけなのと、仕事のサイクルからそうなってしまってるだけじゃないかな :)

プログラマの多くが深夜まで仕事を行いますが、一見すると不思議に見える「なぜ、わざわざ夜遅くに働くのか?」という3つの理由をスタートアップ創設者でありプログラマSwizec TellerさんがBusiness Insiderで解説しています。

Why Programmers Work At Night - Business Insider
http://www.businessinsider.com/why-programmers-work-at-night-2013-1

プログラマーはなぜ夜遅くに仕事をするのか?という3つの理由 - GIGAZINE

「バルマー・ピーク」はみたいなものは確かにある。それは集中力が高まった時に感じる一種の陶酔状態で、流れるようにコードを書くことができる。でも、それが本当にいいコードになるかは疑問だね。その時に書いたコードには間違いも多いように思うよ :)

一番の問題は日中に集中する時間が作れないってことだと思う。日中は資料作りを頼まれたり、電話による問い合わせを受けたり、会議をしたり。とても集中するための時間が取れない。これは特にプログラミングに悪影響を与える。

プログラミングには集中する時間が必要

プログラミング時、プログラマは実に様々なことを考えながらコードを買いている。仕様書の確認・モジュール構成・他のモジュールとのインタフェース・機能を実現するためのアルゴリズム・分かりやすくシンプルなデザイン・クラス名/変数名・コメント・エラーチェック・移植性への配慮、などなどなど。

これら全てをを常に意識しつつ、自然言語ではないプログラムコードに落としていくのだから、プログラミング作業には集中する時間が必要。もちろん外界の割り込みは全て遮断する。以前プログラミングに関するセミナーを受けた時も講師に「コーディング時はe-mail/messenger/internetに関するアプリは全て終了しろ。電話も取るな。できれば密室に入れ」と教わった。ぼくもその通りだと思う。

でも日中はそんな時間を取ることは難しい。するとプログラマは必然的に誰もいない夜中に作業をするようになってくる。で、プログラミングは夜中の方が効率が良いと錯覚してしまう。本当はまだ元気な日中にプログラミングしたいのにね。

大事なことは

会社の同僚にプログラマのことを理解してもらうことだと思う。プログラミング作業を効率的に行うにはどのようにしてもらうのがいいか。プログラマ自身がまわりに言ってあげることがいいんじゃないかな。