第8話「LGTM、その四文字の中身」
この物語はフィクションであり、登場する人物、団体、地名、企業名等はすべて架空のものです。実在のいかなる存在とも関係ありません。
配属から三週間が経った、五月の下旬の火曜日。
僕はヨキエルに来てから初めて、本物のプルリクエストを出すことになっていた。
タスクは、本当に小さなものだった。社内システムの一機能、入力フォームに新しい項目を一つ追加する、という改修。コード変更は三十行ほど。テストケースを書いてローカルで動作確認するのに半日。コードレビューに出すまでに、合計で二日と少しかかった。
追加するのは、顧客が問い合わせフォームに入れる電話番号の欄だった。たった一つの欄。けれど何桁まで許すか、ハイフンを入れていいか、空欄のまま送信させるか、決めることは小さくなかった。僕はConfluenceで似た過去の改修を三件読んでから、手を動かした。
最後のテストが通った瞬間、僕は軽く息を吐いた。
Confluenceのドキュメントを参考にしながら、プルリクエストの説明文を丁寧に書いた。何を変えたか、なぜそうしたか、テストはどう書いたか。書きながら、白瀬さんが書いてくれた社内のドキュメントの形式を、少しだけ真似した。
「Reviewers」の欄に、誰の名前を入れるか。
配属の時、諏訪マネージャーからこう言われていた。
「OJTトレーナーは赤坂さんになります。まずは赤坂さんに見てもらってください。慣れてきたら、白瀬さんや立花さんにも見てもらうといいですよ」
迷わず、赤坂さんをレビュアーに入れた。
レビュー依頼を出したのは、火曜日の午後三時頃だった。
赤坂さんは僕の隣の席で、Slackの何かの会話に絵文字を連投していた。スマホの画面が、ちらりと見えた。社内のチャンネルで誰かと雑談している様子だった。
Slackにレビュー依頼の通知が入る音が、赤坂さんの方からも、ぽろん、と鳴った。
赤坂さんはすぐに、自分のディスプレイを確認した。
そして五分後。
僕のスマホに通知が来た。
赤坂さんから、コードレビューの返信。
画面を開いた。
コメントはたった一つ。
「LGTM!」
絵文字が二つ。グッドサインの絵文字と、紙吹雪の絵文字。
承認のボタンが押されていた。
マージ可能な状態に、もうなっていた。
……早い。
心の中で、僕はまずそう思った。
次に、なんとなく嬉しかった。初めてのプルリクエストが、こんなにあっさり承認された。それはたぶん、自分のコードがちゃんと書けていた、ということなのかもしれない。
けれど、五分。差分を開いて、三十行を読んで、テストを確かめて、それで五分。本当に全部を読んだのなら、たぶんもう少しかかる。そこまで考えて、僕は自分の考えを止めた。初めての承認に、けちをつけるみたいで、嫌だった。
僕は隣の赤坂さんの方を向いた。
「赤坂さん、ありがとうございます」
「桐谷くん、よく書けてたよ! 特にテストケース、ちゃんと書いてあって、感心した」
赤坂さんはにこやかに笑った。
「マージしてもいいですか?」
「うん、もう大丈夫。マージしちゃって」
頭を下げて、自分の席に戻った。
マージのボタンを押した。
画面が緑色に変わった。
数分後、デプロイの完了を知らせる通知が、Slackの自動投稿で流れた。僕の書いた三十行が、今、顧客の使う画面のどこかで動き始めている。電話番号の欄が、今日から一つ増えている。それを実際に使う人の顔を、僕は知らない。
……初めての、本番への変更。
心の中で、僕は軽く緊張した。けれどそれは長くは続かなかった。
席を立って、給湯室にコーヒーを淹れに行った。
給湯室には、別のチームの二人のエンジニアが立ち話をしていた。三十代の男性二人。たぶん組込みチームの人たちだ。何度か廊下で見かけたことがある。
給湯室に入る瞬間、二人の会話が、僕の耳に入ってきた。
「いやー、白瀬さんのコードレビュー、また、すごかったらしいよ」
「またー?」
「うん、若手の出したPRに、コメント、二十件以上、ついたって」
「二十件って、本気で書いてるよね、白瀬さん」
「本気っていうか、もう、職人の領域だよ」
給湯室に僕が入ると、二人の会話がぱたりと止まった。
「あ、新卒の人?」
一人が笑顔を向けてきた。
「桐谷蒼太です、よろしくお願いします」
頭を下げて、コーヒーを淹れた。
「桐谷くん、白瀬さん、君のチームでしょ?」
「はい」
「あの人、すごいから、PR、出すと勉強になるよ」
「あ、はい」
二人はそれから、自分たちの部屋に戻っていった。
別のチームの人たちまで、白瀬さんのレビューのことを知っていた。社内で噂になるくらいの何か。それがどういうことなのか、僕にはまだ、うまく像を結ばなかった。
僕はコーヒーを持って、自分の席に戻った。
……白瀬さんのレビュー、二十件以上。
心の中で、僕はその言葉を繰り返した。
赤坂さんの「LGTM!」と、絵文字二つ。
白瀬さんの、二十件のコメント。
同じ「コードレビュー」という名前で呼ばれているはずの行為が、二つはたぶん、まったく違うことをしている。
午後の遅い時間、僕はもう一つ、別の小さなタスクをこなした。今度はConfluenceのドキュメントの更新だった。古い手順書のスクリーンショットを最新版に差し替える、という作業。差し替えが必要なページが、十枚以上あった。
地味な作業だったけれど、僕は丁寧にやった。
夕方、その差し替え作業を、プルリクエストとして出した。
今度はレビュアーに、立花さんも入れてみた。赤坂さんだけでなく、別の先輩にも見てもらいたかったからだった。
立花さんから、十分後に返信が来た。
コメントはたった一つ。
「了解」
絵文字もついていなかった。
承認は押されていた。
……「了解」。
心の中で、僕は首を、ほんの少しだけかしげた。
立花さんは僕のPRの差分を、本当に見てくれたんだろうか。「了解」という言葉だけで、それが判断できるのだろうか。
気になって、僕はもう一度、その差し替えのPRを開いてみた。差分の画面を、上から下までスクロールしてみる。立花さんのコメントは、どこにも付いていなかった。行の横にある小さな吹き出しのアイコンは、ひとつもない。
十枚のスクリーンショットの差し替え。古いものと新しいものが、本当に正しく対応しているか。一枚でも貼り間違えていないか。それを確かめるには、十枚を一枚ずつ開いて見比べるしかない。けれど「了解」の二文字を打つのに、かかった時間は、たぶん十秒もない。
白瀬さんなら、と僕は思いかけて、その考えを止めた。比べるのは、まだ早い。
でも立花さんを疑うのは、たぶん失礼だ。立花さんはシニアエンジニアで、僕よりずっと経験がある。
……「LGTM!」も「了解」もたぶん、ちゃんと見てくれている、ということだ。
心の中で、自分にそう言い聞かせた。
でも、給湯室で聞いた二十件のコメントが、心の中で消えなかった。
白瀬さんに、僕もPRを見てもらってみたい。
その時、自分のコードがどう見えるのか。
ちょっとだけ、それが知りたかった。
退社の時間。
いつもより少し遅くなっていた。フロアはもう、半分くらい人が減っていた。
僕はMacBookを片付けて、フロアを出た。
帰り道、桜並木通りをゆっくり歩いた。
五月の下旬の夕方、日没が少しずつ遅くなっていた。空はまだ薄く青色が残っていて、街灯の光がぽつぽつと点り始めていた。
歩きながら、僕は考え事をした。
赤坂さんと立花さんは、悪い人ではない。たぶん。
けれど白瀬さんと、二人とは、何かが違う。
赤坂さんも立花さんも、僕のことを歓迎してくれている。それは本当だと思う。白瀬さんが僕を歓迎しているのかどうかは、よく分からない。ただ、僕の書いたコードのことだけは、たぶん誰よりも真剣に見ようとしている。
歓迎してくれることと、コードを見てくれること。その二つは、似ているようで別のものだった。歓迎は、僕という人に向けられている。コードを見ることは、僕の書いたものに向けられている。新人のうちは、前者のほうがずっと心地いい。でも三年後、五年後の自分を支えてくれるのは、たぶん後者のほうだった。
その「何か」を、僕はまだ言葉にできなかった。
寮に戻って、夕食を食堂で済ませて、部屋に上がった。
ノートを机に置いた。
今日のページに、僕はこう書いた。
初めての、プルリクエストを出した。
赤坂さんから、「LGTM!」と、絵文字二つ。五分で承認。
立花さんから、「了解」とだけ。十分で承認。
給湯室で、別のチームの人がこう話していた。
「白瀬さんのコードレビュー、二十件以上、コメントがついた」
書きながら、僕はペンを止めた。
書きたいことが、もうひとつあった。
書いた。
LGTMの中身は、何か。
「了解」の中身は、何か。
書き終わって、自分の文字をしばらく見ていた。
まだ結論を出すには早い、と思った。
たぶん白瀬さんに自分のPRを見てもらった時に、答えが見えてくる。
ペンを置いて、ノートを閉じた。
窓の外、五月の夜風が、開けた窓からすっと入ってきた。
明日、白瀬さんにレビューをお願いしてみよう、と思った。
その時、白瀬さんは何分で返信をくれるだろう。
何件のコメントを書いてくれるだろう。
怖い、と少しだけ思った。
でも、それ以上に知りたかった。
白瀬さんが、僕のコードに何を見るのか。
明日が、ほんの少しだけ楽しみだった。




