「プログラムって書き方とか正解がきまっているからいいよね~」
もし友達にそう言われたら「いや、全然書き方も正解もなくて性格めっちゃ出るよ」って苦笑いすると思う。
世間的(別の業種の人)からは、プログラミングって「堅苦しくて難しそう」とか「正解が決まってる」みたいなイメージがあると思う。でも、実はその逆でびっくりするほど「自由」で、結構緩い。目的地さえ合っていれば、そこまでの道筋は人によってバラバラみたいなイメージ。
入社したての頃とか、自分で書いているときは気づかなかったんだけど、人のコードをレビューするようになってから 「なんでこんな難しい書き方するの!?」って頭を抱えるようなコードもあれば、「なんて読みやすいんだ……」って感動するコードもあって本当に人それぞれ。
で、面白いのが、そのコードの書き方が「その人の性格」と見事に一致してるとき。画面を見ているだけで、書いた本人の顔が浮かんでくる。それくらいコードに人間味出てる気がする。
見たことがある!コードに出る性格!
実際にコードを見ていると、「あぁ、やっぱりこの人こういう性格だよな」って確信することがよくある。今まで見たなかで、特に印象的なのはこの4タイプ。
① 効率に命をかけてる「効率厨ミニマリスト」
とにかく短く、スマートに書きたい効率重視な人。「そんな書き方あったの?」ってくらいの省略記法をこれでもかと詰め込んでくる天才肌。
- 性格: 日常生活においても家事、仕事なんでも無駄が嫌いな超効率厨。とにかく頭の回転が速い!
- レビュー中の自分: 「……解読するのに20分かかった!レベルが高くて凡人には読むのに逆に時間がかかる。。 でも使いこなしていてかっこいいな笑」
② 徹底的にやる「凝り性」
「ボタンの色を変えて」って頼んだだけなのに、気づいたらファイルやフォルダ構成まで全部直してきちゃうタイプ。
- 性格: 周りがよく見えていて、何にでも興味津々。細かいところにもよく気づくし、正しくしないとモヤモヤしちゃう完璧主義。
- レビュー中の自分: 「綺麗にはなってありがたいけど!今そんな時間ないから、納期がああああ!?」
③ 周りに気を遣う「気配り屋」
「後で読む人が困らないように」という優しさが、小説並みのコメント量に現れてしまう。あと変数名などの命名が具体的で長くなりがち。
- 性格: 心配性で周りに気を遣う、優しくて超いい人。レビューのときにテストケースやテストデータも共有してくれる。
- レビュー中の自分: 「ソース読んだらわかるところはここまで書かなくても良いかもな… でもありがたいし、親切すぎて泣ける。」
④とにかく猪突猛進な「スピードスター」
「とりあえず動いたからOK!レビューお願い!」っていう、圧倒的な勢い重視。
- 性格: 勢いがあって、見切り発車でも結果オーライと信じてる超ポジティブタイプ。
- レビュー中の自分: 「エラー出てるし動いてないし、絶対テストやってないでしょ笑、あとAIが吐き出した不要になったコード消し忘れてる!!」
感情が漏れ出している「TODO」や「言い訳」のコメント
他にも人間味を感じるのが、コードの中にこっそり残された「TODO(=あとでやる、を意味するメモ書き)」や「こうするしかなかった……」みたいな書き置き。
これってただの作業メモじゃなくて、当時の担当者の「心の叫び」がそのまま入っちゃってる。
/* TODO 本当はこれじゃダメだけど、時間がないので一旦こうする */
これを見つけたときは「あぁ、当時の担当者も相当追い込まれてたんだな……」って、画面越しにあったこともない前任者に共感しちゃう。論理的なはずのプログラムの中に、「焦り」とか「妥協」とか、泥臭い感情がそのまま混ざってるのがめちゃくちゃ人間味あって面白い。
あとは、こんな無責任なつぶやきが残ってることもある。
/* TODO たぶん大丈夫だと思う */
「ほんとかよ」てツッコミを入れたくなる。 でも、その「たぶん」っていう言葉に、当時の限界とか、祈るような気持ちが見えて、どうしても憎めない。
/* TODO ○○の定義っているんかね? */
プログラムって洗練されてて無駄な処理が一切書いてないように思えて、実はその中身は誰かがその時々で必死にひねり出した本音とかが混ざってる。
まとめ
プログラム書いたことがない人のイメージでは「プログラムは無機質」と思われてそうだけど、実際には全然そんなことなくて、書いた人の性格や感情が、じわじわと滲み出てくるものだと思う。
効率にこだわる人、完璧を追い求める人、周りへの気遣いが止まらない人、勢いだけで突っ込んでいく人。みんな同じゴールに向かってるのに、そこへの道がこんなにも違う。その人が仕事や日常でどう動いているかがそのまま出てるんだと思う。
そして何より面白いのが、コードの中に残るTODOや独り言。誰にも言えなかった「しんどい」とか「これでいいのか……」みたいな気持ちが、何年も経ってからひっそり発掘されることがある。論理の世界のど真ん中に、ものすごく人間くさい感情が眠ってる。
今度エンジニアやプログラマじゃない人にプログラミングってどんな感じって聞かれたら、「書いた人の人柄がめちゃくちゃ出るよ」 って教えてあげようと思う。

コメント