4で割り切れて
400で割り切れて・・・
空になったコップをテーブルの上に置いて旧友に愚痴を言う。
「ヨウコ!聞いてよ」
学生時代からの親友であるヨウコに話を聞いてもらう。
「はい。はい。今日はどうしたの?また、いつもの人?」
「そうなの聞いて!うるう年って有るでしょ?」
「うん」
「計算方法って知っている?」
「マキ。私のこと馬鹿にしているの?文系でもそのくらい知っているわよ。4で割り切れる年でしょ?」
「でしょ!でしょ!それでいいよね!」
私は、注文していたモスコミュールを一気に煽る。
ヨウコの顔が”今日も長くなるのか”と言っているようだが気にしない。
「マキ。そんなに一気に飲まなくても。それにしても、モスコミュールなんて飲むようになったのね。今まで、甘いカクテルか果実酒だったのに、大人になったね」
”ケラケラ”と、笑っているヨウコに指摘された。いつからだろう?モスコミュールが好きになったのは?
ヨウコのように日本酒を嗜むわけでもなく、梅酒や杏酒しか飲めなかった。
「それでね!」
「え?まだ続くの?」
当然!全然話せていない。大学を出て入った会社はIT関連の会社だ。
「ヨウコもうるう年の計算が間違っているって言われるよ!」
「そう?でも、いいよ。私は、SEじゃないから」
「違う!プログラマ!」
「はい。はい。それで?」
パンの耳で作られている名物のガーリックトーストを口に放り込みながら私の話を聞いてくれる。
「うん。それじゃダメって言ってやり直しさせられたの」
「いつもの人?」
私は、肩書はSEだが1人でシステムを構築できるわけではない。クラスの一部を担当させてもらっている。仕様書をもらってコードに落とすのが仕事だ。昨日は部内で行われるコードレビューの日だった。
--
「飯塚さん。一応、OKは出せますが、うるう年は4年に一度でありません。しっかりと調査してコードに落としてください」
「え?」
「何度も言っていると思いますが、仕様書を読み解いて作ってくださいとお願いしていますよね?」
上司である井上さんの小言が始まった。
私が作ったコードではお気に召さなかったようだ。仕様書では、”1901年から2099年までの日付と時間をもらって指定されたクラスを生成して返す”となっている。クラスは、存在する日時なのか?うるう年なのか?和暦表現。祝日なのか?曜日。等々カレンダーに関係する情報を返すのだ。
どうやら、私が作ったうるう年の計算が間違っていると言っている。
「井上さん。テストでは、うまくいきました。1901年から2099年までの全部の年で確認しました!仕様は満たしていると思います!」
今までは、私が間違っていたが今回は間違っていない。
毎回、井上さんのコードレビューで注意されたから、今回は全件チェックを行った。実際のカレンダーを見て確認したから間違っていない。
「飯塚さん。この部分でうるう年を判定していますよね?」
「そうですが!」
しっかりとテストしたから強気で出られる!
「確かに、飯塚さんが担当するクラスの仕様では、1901年から2099年ですね。このシステムの概要設計を読みましたか?」
「え?」
自分の担当以外は会議で出た場所以外は読んでいない。そもそも、読む理由があるとは思っていない。
え?周りの人を見ると読んでいるのが当然という雰囲気だ。
読んだほうがいいとは言われたが、読む必要はないと思っていた。
「全部を熟読する必要はありませんが、概要設計くらいは読んでください。今回は時間も差し迫っていますので、改善点を告げますが、次からは注意してください」
「・・・」
「飯塚さん。納得してくれとは言いませんが、自分のミスなのです。認めてください」
「私・・・。ミスして・・・。いません」
「いいえ、貴女のミスです。概要設計には、このシステムは、2200年まで動かすことが前提となっています」
「え?」
「そして、貴女が作ったファンクションでは、2100年と2200年をうるう年の判定してしまいますが、この2つの年はうるう年ではありません」
「・・・」
「いいですか。うるう年は、たしかに4で割り切れる年ですが、条件はまだあります。100で割り切れない年がうるう年です」
え?それなら・・・。
「そうです。2000年は100で割り切れてしまいますが、うるう年です」
「それじゃ!」
「400で割り切れる年はうるう年なのです」
頭が混乱する。
400で割り切れたら、うるう年。
4で割り切れて、100で割り切れない年がうるう年。
「え?でも、仕様では・・・」
「そうです。でも、概要設計では2200年まで使うことを想定するとなっています。確かに、飯塚さんの担当部分では1901年から2099年です。それなら、”4で割り切れる”だけでも問題はありません」
「なら!」
「ダメです。”うるう年”の判定なのですよ?飯塚さんならわかりますよね?」
井上さんが私の目をじっと見つめてきます。
怖いけど、温かい眼差しです。途中からわかっています。私が間違っていたのです。渡された仕様は、協力会社のSEさんから渡された物です。仕様書が間違っていると指摘しなければならない立場の私が仕様書を鵜呑みにして楽な方に逃げたのです。
概要設計を読んでいれば・・・。うるう年をもっと真剣に調べていれば・・・。もっと、私に知識と経験があれば・・・。
井上さんは、”いつも”言っていました。経験がなければ、経験がある人に聞け。または調べる。些細なことでも疑問に思え。きっと、井上さんも、以前に作ったシステムでうるう年を調べたのでしょう。私は、経験がないのに自分の知っている事実だけで作って・・・。無駄なテストに時間を使ってしまったのだ。
悔しくて、うつむいてしまった。
「いいですか?飯塚さんが作っているファンクションは一部ですが、日付や日時のチェックはいろいろな場面で役立ちますし使われます」
「はい」
そんなことは言われなくても・・・。
「それなら修正をお願いします。いつまでに出来ますか?」
「明日には終わらせます!」
「飯塚さん。いいですか・・・」
また小言が始まってしまった。早ければいいと言うものではない。
わかっています。私がこれで明日までに出せなかった、明日から始める予定になっている部分のリスケが必要になる。話を切り上げたくて、ギリギリの日付を口にしてしまった。井上さんは、ギリギリなのがわかっているのか注意してくれているのです。
わかっています。でも、私はこの人に認められたい。”よくやった”と言われたい。
だから。
--
「なんだ!マキが悪いってことなのね」
「そうだけど・・・。でも!でも!言い方って有るでしょ!」
「マキ?あんた。泣いているの?」
「違う!泣いてなんか居ない!」
涙じゃない。目から汗が出ただけ!
「はい。はい。それで?」
「違うからね!」
ヨウコに会議での話を説明する。
おかわりのモスコミュールを一気に飲み干す。強いアルコールが心を揺さぶる。
なんで私はこんなにも井上さんに認められたいのだろう?プログラムのこと以外ではだめな人で、客先に行くのに服装を気にしない、寝癖がついたままのときだってある。酒豪で、いくら飲んでも顔色人使えない。ウォッカやテキーラが好きで、ウォッカベースのカクテルをいろいろ教えてくれた。
そうだ。客先でミスを犯して落ち込んでいる私をバーに誘ってくれたのも井上さんで、そのときにモスコミュールを飲ませてくれた。井上さんにも文句を沢山言ったけど笑って許してくれた。
「マキ。マキ!」
「ん?何?」
酔ってきたかも。
「あんたのスマホがさっきから鳴っているけどいいの?」
「え?」
スマホを取り出して確認する会社からだ。こんな時間に会社から電話がなるなんて問題でも発生したのか?
アルコールが入っているから今から行っても。
「切れた?」
「かけなおしたら?」
ひとまず確認してみると、3回ほど会社から着信がある伝言は残されていない。会社からの電話の前に知らない番号からの電話が入っていた。
「そ・・。そうする」
かけようと思ったときに、会社から4回目の連絡が入った。
「はい。飯塚です」
え?言っている意味が理解出来ない。
なんで?嘘?
「わかりました。すぐに。はい。いえ、大丈夫です。はい」
「マキ?」
電話を切る。まだ電話の内容が理解できない。違う。認めたくないのだ。
今日。2月29日は私の誕生日。4年に一度の記念日。会社を定時で出た。井上さんが”今日は帰っていい”と言ってくれた。ヨウコとの約束が有ったが、仕事が遅れそうだったので、約束をキャンセルしようとしたら、井上さんが”4年に1度の誕生日だろう?6才児は帰っていいぞ。テストだけだろう?代わりに消化しておく、来週の土曜日の結合に参加してくれればいい。休日出勤だけどな”そう言いながら笑いながら・・・。
「マキ?大丈夫?何だったの?顔が真っ白だよ?本当に大丈夫?」
「あっうん。大丈夫。ヨウコ。ごめん。会社に戻らなきゃ。違う。病院に・・・」
--
4年前の2月29日。井上は、事故にあって帰らぬ人となった。
マキは、約束の時間よりも少しだけ早く約束の場所に来た。
「ずるいですよ。人の誕生日に、告白して返事を聞かないで・・・。気持ちに気がついたときには相手が居ないなんて。私の誕生日だったのですよ?4年に一度だけの告白なんて洒落たまね。馬鹿ですね。これから4年に1度。貴方のことを思い出します。それ以外は、綺麗サッパリ忘れますからね。それじゃダメですね。100で割り切れる年は思い出しません。でも、400で割り切れたら思い出すことにします。私が生きていればですけどね。あのクラス、そのままリリースしちゃいましたよ!」
墓石に井上が好きだったウォッカを置いた。
「献杯!」
マキはモスコミュールを飲み干した。モスコミュールの酒言葉は「その日のうちに仲直り」。
「飯塚」
時間通りに社員が集まってきた。今日は、4年に一度の墓参りなのだ。