プログラマさんに100の質問

質問製作:くろひょう氏

Q1:年齢は?
A1:永遠の20歳(思考は常に柔らかくありたいものです)

Q2:プロですか?アマですか?
A2:プロになりたいなぁ(職探し中)

Q3:パソコン歴は?
A3:6年半

Q4:おデブ?
A4:逆です。めっちゃ痩せてます

Q5:職場(または学校)と自宅の両方に開発環境がある?
A5:YES!ない環境なんて考えられない

Q6:情報関係で持っている資格があればお書きくださいな。
A6:資格って重要(´・ω・`)?
プログラマにとってはコードが書けるか書けないかが重要なんじゃない?資格を持っていて、難しい言葉を並べられるけどコードは書けないって人はたくさんいる。一方で資格は持っていないけど、わかりやすい言葉でわかりやすく説明できていいコードを描ける人もたくさんいる。どっちになりたいのかって言われたらわたしは後者になりたいよ。

Q7:喫煙者ですか?
A7:NO! タバコ大っ嫌いです

Q8:視力はいくつくらい?
A8:左目0.1 右目0.5 らしい

Q9:コーディング中は、どんな飲み物・食べ物を口にします?
A9:ボトルに入った冷えた緑茶。おにぎり。
スナックとかパンはNG.食べかすでPC壊れたらどーするの

Q10:使える言語、どんなのあります?
A10:C, Python, JavaScript

Q11:はじめてプログラムを組んだのはいつ頃、どんな言語で、どんなプログラムでした?
A11:大学2年のときの Hello World! かな。C言語によるプログラミングを読みながら書きました。

Q12:VBしか使えない人はプログラマを名乗っちゃいけない?
A12:そんなことはありません。自分が作ろうと思ったものを自在に作れるなら立派なプログラマです。
言語はあくまでプログラマが使う道具のひとつ。言語だけで判断しちゃダメだと思うな。

Q13:なんちゃってプログラマってどんなプログラマだと思いますか?
A13:お金のためだけにコードを書く人。

Q14:プログラマをやっててよかったなあと思うときは?
A14:コードを見てその美しさに感動したとき

Q15:じゃあプログラマなんてやるんじゃなかったと思うときは?
A15:ありません

Q16:得意な言語はなんですか?
A16:Python

Q17:不得意だけど使わねばならない言語とかあります?
A17:日本だと未だにJava必須とかいわれているね。Javaなんて使いたくないよ。

Q18:UML はどう思います?
A18:何でもかんでもUMLで図示はNGだとおもう。最も見やすくなる方法で図示するべし。

Q19:開発に使ってる、ラブなツールを教えてください。
A19:Peggy(エディタ)

Q20:コード管理やってます?ツールは何を使ってます?
A20:Peggy(エディタなんだけどバージョン管理もついてるんですよ)

Q21:タッチタイプ(ブラインドタッチ)はまかせとけ!って感じ?
A21:もちろん

Q22:コメントはしっかりつけてます?
A22:必要なところにはしっかりと入れます。なぜその方法で実装したのかとか、なぜこの結果を妥当とみなすのかとか。
わたし以外の人がそのコードに手を入れなきゃならないときに助けになると思った情報はできる限り書いておきます。
書かなくてもわかるもの、たとえば print a に「a を表示」とか入れません。

Q23:開発系のMLとか、入ってます?
A23:まだ入っていません。Python Lab (Pythonの仕様を決定したり開発する団体) の ML 見たことがあるのですがまだまだ未熟だと思いました。

Q24:開発系の雑誌で購読してるモノがあればどうぞ。
A24:Web+DB, 日経ソフトウェア

Q25:言語・開発系にかぎって、月に書籍代はいくらくらいですか?
A25:企業に勤めていたときは、多いときで5万、平均すると15000円くらい。

Q26:一次変換とか得意?
A26:苦手(´・ω・`)

Q27:数学が苦手なプログラマはダメですか?
A27:そんなことないと思う。数学とかの知識も道具の一つだよ。使える道具が多ければできることの幅が広がる。道具が少なければできることは少ないまま。ただそれだけ。

Q28:プログラマなら英語の読み書きくらいはできますよね?
A28:技術文献ならよめます。Python は英語で勉強しましたし。Peoplewareもがんばって英語で読みました。が、小説は無理です。つまり、口語体の英文は理解できません。

Q29:学生の頃、得意だった科目って何ですか?
A29:化学と生物。それから情報処理演習。

Q30:これまでに開発したことのあるプラットフォームは、どんなのあります?
A30:Webアプリ(ネトゲUOの計算ツールいくつか)とPythonスクリプト

Q31:Windows しか知らないプログラマはどうですか?
A31:InsideWindows で書かれていることくらい余裕でわかる、ドライバもゲームも何でも作れるよ!というプログラマはすごいと思います。というかプログラマの評価はプラットフォームでどうこう、使える言語でどうこうじゃないと思う。自分で作りたいものを自在に作れるかどうかがプログラマの質じゃないの?

Q32:GNUマンセーですか?
A32:いえ、そんなことないです。優れたツールがあればそれがOSSであろうとプロプライエタリであろうと使います。使える道具は多ければ多いほどできることの幅が広がるのです。

Q33:今一番組んでみたいプログラム、なんですか?
A33:ありますが秘密です。かなり難しいですよ。洋書でも書籍にはなってないみたいですから。でも作りたい。

Q34:AIを自作してみたいですか?どんなの?
A34:今は別のものを作りたいですね。

Q35:これだけは許せない!っていうコーディングスタイルがあればどうぞ。
A35:読む人のことを考えないコード。理解できる人が少ない難解なコードが優れているコードだと勘違いしている人の書き方は許せません。

Q36:コーディング上のこだわりをお書きくださいな。
A36:暗黙よりも明示を
迂遠さよりも率直さを
複雑よりも単純であれ

Q37:自分の書いたコードは美しい?
A37:IRC でよくお話しするPGさんから綺麗だねといわれたことがあります。

Q38:「バグ」という言葉の替わりに使ってる言葉があればお書きくださいな。
A38:地雷、火薬庫

Q39:営業さんと仲いいですか?
A39:NO. 何でもかんでも安請けあいしてきて、「休日出勤&徹夜すれば大丈夫だろ」と押し付けてくるタイプの営業とは非常に仲が悪いです。

Q40:プログラマ以外の職場の人間の頭が悪くて困った、というようなエピソードがあればどうぞ。
A40:ネットワーク関係の職場にいたときにExcelのデータをVBAで処理しようと、リファレンスを見ながら(VBAはこのとき初めて使った)コードを書いているときのこと。同僚に「遊んでんじゃねーよ。仕事しろ」といわれたことがありますね。1週間かかるっていわれた仕事だったのですが、VBA組んで4時間で終わらせて結果で黙らせました。
自分が知らない方法は間違っているんだと思うような視野の狭い人間にはなりたくないと思いましたよ。

Q41:職場等で、クラッキングやウイルスなどの印象的な事件があれば教えてください。
A41:職場で配布されたPCをスキャンしたらウィルスが見つかったこと。前に使っていた人がウィルス踏んだままだった。

Q42:あなたが自分で「やっちゃった!!」エピソードがあればぜひ。
A42:睡魔と闘いながら書いたVBAかな。実行したら結果が返ってくるまでに予想をはるかに上回る時間がかかるんですよ。あれ?っと思って(ここで目が覚める)、コードを見直したら1つの結果を返すために無駄な参照を10万回行ってました。なんてこった。

Q43:レビュー・プレゼンは得意?
A43:スティーブ・ジョブス氏のプレゼンを見ると凹みます。わたしは画像をちりばめたりエフェクトを駆使した派手なものは作らないので(個人的に嫌い)そういうものが好きな方はダメダメだとおもうでしょうね。

Q44:自分が世に送り出した作品で、「これは自信作!」ってのがあったら教えてください。
A44:ネトゲの計算ツールでしょうか。これ作ってからGoogleですぐに自サイトが表示されるようになりました。

Q45:「この会社を辞めようと思ったソースコード」があったら教えて下さい。
A45:会社でコーチングをしていたときのこと。変数名が全て1文字って時がありました。そのときはこの人と組まされたらデスマ確定だろうなぁ、辞めようと思いました。

Q46:月の実作業時間の最高は何時間くらい?
A46:( ´・ω・`)?
仕事以外でも趣味でコード書いたりするので、平均すると1日のうち2/3以上はコンソールの前にいますよ。月に何時間とか考えたことないです。自分で考えて実装するとき、その時間が最高に楽しい。

Q47:最高で何時間眠らずにプログラムを組んだことがありますか?
A47:徹夜で組むということはないです。わたしの場合、寝不足でコードを書くとバグが200個とか出てくるので必ず睡眠は取るようにしています。

Q48:職場や現場で仮眠をとる際、どんなところで寝ます?
A48:静かで熟睡できるところ

Q49:あなたのまわりの電波なプログラマがいたら、その電波っぷり全開なエピソードをどうぞ。
A49:電波なプログラマってわたしなんですが・・・
詰まったりするとメモ帳とペンを持って徘徊しますから。大学時代に徘徊中に職質受けたこともあります(笑
まぁ、メモ帳とペンもって深夜に徘徊していたら怪しい人ですね

Q50:あなたの遭遇したマーフィーの法則を教えてください
A50:大学で卒論のためのデータを急いで取らなければいけないときに限って、なぜか計器のセットアップが上手くいかなかったこと。HPLCのカラムを壊しそうになったときは焦った。

Q51:尊敬しているプログラマは誰?
A51:Joel Spolsky氏、Paul Graham氏、Matz氏、Dan氏(順不同)
そして親友のhavana

Q52:今までの中で一番ハードだった仕事はどんな仕事ですか?
A52:一文字変数名を使うプログラマさんにそれをやめるように説得すること。泣けてきた

Q53:今までの中で一番楽だった仕事(プログラム)はどんな仕事(プログラム)ですか?
A53:会社で作った経験はないんでなんとも。現在お仕事募集中です。

Q54:ナイショのバグ、こっそり教えてください。
A54:某計算ツールですが未だにガウスってません

Q55:「自分はすごいプログラマだなあ」と一瞬でも思ってしまうときって、どんなときですか?
A55:Dan氏やMatz氏、それからLLRingのコメントやTBを投稿する皆さんを見ると、
まだまだだなぁと思うことはあっても、俺って天才と思うことはありません。

Q56:ひとりごとをよく言いますか?どんなひとりごとを言いますか?
A56:たぶん呟いてる。何でこんなバグに気付かなかったんだろっていうときによく
「うわ」とか「ダメじゃん」とか自分に向けて呟いてます。

Q57:コンピュータ関係以外で趣味と呼べそうなもの、ありますか?
A57:生物学、化学とか科学系ですね。これらは小学生の頃からの興味の対象でよく母に質問しては「この本を読んで考えてみなさい」と教えてもらっていました。自分が知らないものを新しく理解することがすごく楽しいんですよ。今読みたい本は「眼の誕生」と「ビッグバン宇宙論」と、まだいくつかありますよ。ブログのリストにもあるのでそちらも見てください。

Q58:どんなマンガをよく読みますか?
A58:今読んでいるものは Q.E.D と ARIA です。

Q59:あなたにとっての萌え対象を教えてください。
A59:水月のナナミ様とかミステリアスでちょびっと狂気があるけどやさしさもある系です

Q60:デスクトップの壁紙はどんな壁紙ですか?
A60:ありません。というかアイコンもありません。

Q61:PCの周りにおいているフィギュアとかがあれば教えてください。
A61:フィギュアではなく本が積んであります。

Q62:徹夜するより寝た方が効率が上がる派ですか?
A62:もちろん。というか睡眠を取らないと効率が下がる、ミスが増えるというのは学術的にも証明されていることです。見つけにくいバグを埋め込まれてその修正に数日捕らわれるよりも数時間睡眠を取ったほうが時間の節約です。致命的なバグで回収騒ぎになるよりも数時間プログラマを寝かせた方がコストがかかりません。こんな簡単なことが理解できず「徹夜ではたらけるのか。なんて効率的なプログラマだ。他も見習うべきだ」と徹夜を強制するアホ管理者がいる職場では働きたくないですね。

Q63:好きな音楽はどんな音楽ですか?
A63:ピアノソロ系、アコギソロ系が好きです。

Q64:カラオケはお好き?主にどんなの歌います?
A64:行きません。JPOPSとかは7年近く聴いていませんので、何も歌えないのです。

Q65:プログラマはむっつりスケベが多いと思いますか?
A65:逆に訊きましょう。なぜそうおもうのですか?

Q66:鉄ですか?
A66:意味がわかりません。

Q67:麻雀は好きですか?
A67:いえ、全然。

Q68:はっきりいってプログラマはオタクが多いと思う?
A68:YES

Q69:ていうかむしろ自分がオタクである?
A69:YES!

Q70:ゲーマーですか?ゲーマーなら、どんなゲームをよくやりますか?
A70:YES.よくやるのはUOと弾幕STG.最近は東方プロジェクトにはまり中。

Q71:ゲームをやる際、プログラマ的な考え(アルゴリズムを考える、処理落ちが気になるなど)をしていることがある?
A71:Yes!

Q72:実はこっそりクラックしたことがあったりして?
A72:NO。あ、でもゲームがクリアできなくて無敵フラグ立てたりしたことはあります。

Q73:職場の人たち(彼氏・彼女・夫・妻以外で)と、月に何回くらい飲み・お食事などに行きます?
A73:ありません。わたしはアルコールの摂取はしないことにしています。というかプログラマでありながら思考能力が低下するアルコールを摂取するなんて考えられないことです。インスピレーションはいつ生まれるかわからないのですから。

Q74:仕事中に2ちゃんねるを読むことがありますか?
A74:No!

Q75:ていうかあなたは2ちゃんねらーですか?
A75:2ch大嫌いです。

Q76:「フラグが立つ」「スタックに積む」「ポインタがずれる」など、ついつい日常会話で使ってしまうプログラミング用語があれば教えてくださいな。
A76:「例外処理しろ」とか「フラグたってたポ」ですね。

Q77:映画やドラマでプログラミングするシーンなどがでてきたら、気になります?
A77:TV 見ない生活も7年になります

Q78:ウィルス作れます?あるいは作ろうとしたことがあります?
A78:カーネルフック系の高度なものは無理。作ろうと思ったことはありません。

Q79:今まで買ったもので一番高いものはなに?
A79:出たばかりの当時の最上位CPU。12万くらいでした。

Q80:在宅勤務について思うところがあればお書きください。
A80:会社と自宅を比べて、自宅の方がリファレンスなど充実しているときは在宅勤務を認めてほしいです。

Q81:普段開発してるときは、どんな服装ですか?
A81:動きやすい服装。スーツとかいう、ストレスがたまる服装でプログラミングなんてやりたくない。
肩がこるから長時間は無理だし、集中できないからバグが入り込むだけ。

Q82:普段開発してる環境、ディスプレイは何インチでフォントサイズはいくつくらい?
A82:17'ディスプレイで1152x864です。が、やりにくいです。19'ディスプレイ2台用意してそれぞれで1600x1200くらいにしてプログラミングしたいところ。

Q83:職場の男女比はどのくらい?
A83:気にしたことないですね。

Q84:女性プログラマってどうですか?
A84:プログラマに性別は関係ありません。自分が考えているものを実装できるのかどうか。それだけです。

Q85:特定のパートナー(彼女・彼氏・夫・妻)がいますか?パートナーがいる人は、それは同業者ですか?
A85:いません

Q86:プログラマはモテないと思いますか?
A86:それを判断できる調査を行っていませんので回答できません。
←データドリブンな人

Q87:付き合うなら同業者?それとも別の職種がいい?
A87:どちらでもいいです。が、理知的な人がいいです。
つまり、「自分が好きだから、こうなんだ」じゃなくて、「**だから○○なんだ」といえる人。

Q88:ぶっちゃけた話、給料は月額大体いくらですか?(手取りで)
A88:前の職場では20万でした。

Q89:それって、自分にとっては多い?少ない?
A89:ちょい少ないかな。でも、生活できるお金があればあとは自分の好きなことができるかどうかの方が大切ですよ。

Q90:ぶっちゃけた話、普段は何%くらいの力で仕事してます?仕事以外の部分って何してるの?
A90:自分から希望した仕事は常に全力で。仕事以外ではやっぱりコード書くか、新しいパーツでPC組直すか、PCの蓋開けてメンテナンスするか、科学系の本かWeb読むか、論文(PG, 科学両方)読むかです。

Q91:運動とか体にいいこと、なにしてます?
A91:散歩。たまに職質受けるけどね

Q92:ここだけの話・・・痔は悪くなりませんか?
A92:なったこともありません。

Q93:クラッシュしてしまうバグが見つかっているのですが、どうしても原因が分かりません。デッドラインまではあと24時間。どうしましょー!?
A93:まずはどこで(誰が担当した場所で)クラッシュするのか調べる。次にどの部分でクラッシュするか調べる。場所の特定ができたら該当するコードを手分けして探す。間に合いそうになかったら取引相手なり上なりに報告して延期する。クラッシュするとわかっているままリリースなんてとんでもない。

Q94:プログラマの耐用年数ってどのくらいだと思いますか?
A94:ありません。30歳定年説などは管理職がアホだから生まれたものです。

ちゃんと定時に返したり、夏と冬に10日ずつ休み用意するなどで勉強する時間を作ってあげればプログラマは何もいわなくても勉強します。コーチングできる環境を作るのも優れたプログラマをより優れたプログラマにするよい方法だと思います。こうしたことをしていればいつまでもプログラマとして活動できるのです。あ、そうそう。よくある社内セミナーなんて意味ありませんから。外から講師呼んできて、社員は黙って聴いているだけなんて、あんなもん無い方がマシです。

受動的な学習よりも能動的な学習の方が効果が高い。これもまた学術的に証明されていることなのです。

Q95:いつまでプログラマをやるつもりですか?
A95:いつまでもです。プログラムを創るのが好きだからプログラマなのです。
設計だけとか工程管理だけの役職には就きたくないですね。

Q96:座右の銘はなんですか?
A96:・暗黙よりも明示を
・何事にも、いつでも率直であれ
・常識とは偏見の寄せ集めである
・あなたが最良と思っている方法は最良ではない。よりよい方法ではあるかもしれないが。
・There is more than one way to do it.

Q97:よいプログラマの条件を3つあげてください。
A97:・プログラムを創るのが好きであること
・知的好奇心に満ち溢れていること
・ハッカースピリッツを持っていること

Q98:悪い・使えないプログラマの条件を3つあげてください。
A98:・お金のためにプログラマになった
・人気だからプログラマになった
・常識という言葉を頻繁に引き合いに出す

Q99:プログラマとしての自分を100点満点で評価してください。
A99:50

Q100:あなたにとってプログラミングとは何ですか?
A100:楽しいこと。
食べることや寝ることと同じくらい当たり前で大切なこと。
生きるために必要不可欠なもの。