春編 第1章:完璧なコードは、誰も助けな
かった
入社から一週間。
僕には密かな目的があった。あの賭けに勝
つこと。
TNK-Insidersなんて精神論だ
と証明して、夏に推薦状をもらって、ここを
出ていく。そのためにはこの「世界観」とや
らが現場で何の役にも立たないことを自分の
手で確かめればいい。
その日、僕は白石さんについて既存クライ
アントのWebアプリの改修作業をしていた。
「桜井くん、このログイン画面のバリデーショ
ン追加しといて」
「はい」
タスクは明確だった。ユーザー名の形式チェッ
ク、パスワードの強度チェック。院の研究で
も扱った基本的な実装だ。これくらいなら目
をつぶってでも書ける。むしろ好都合だ。
僕は教科書どおりに完璧に仕上げてやるこ
とにした。八文字以上、英数字記号混在。セ
キュリティの正解。文句のつけようがない。
これで何か言われたら、それこそ"現場を知
らない理想論"だ。賭けの初戦、もらった。
二時間後、僕はコードを書き上げた。
「白石さん、できました」
「お、早いね。ちょっと見せて」
白石さんがコードをレビューする。
「うん、動作は問題ない。でも……」
そこで白石さんは首を傾げた。来た。
「桜井くん、このバリデーションなんでこの
条件にしたの?」
「一般的なベストプラクティスに従いました。
パスワードは八文字以上、英数字記号混在。
セキュリティの基本ですよね」
僕は自信を持って答えた。技術的には完璧
だ。隙はない。
「うん、それは分かる。でも、このクライア
ントの顧客層ってどんな人たちか知ってる?」
「……いえ」
「このシステム、高齢者向けの地域コミュニ
ティアプリなんだ」
「……ああ」
「八文字の複雑なパスワードって彼らにとっ
てハードルが高すぎない?」
白石さんの声は優しいけど、核心を突いて
いた。僕は黙った。
頭の中で何かが引っかかる。高齢者向け?
確かに仕様書には書いてあった。でも読み流
していた。「誰のためのシステムか」なんて
考えていなかった。ただ、「技術的に正しい
コード」を書くことしか考えていなかった。
「セキュリティは大事。でも、使いやすさも
大事。バランスを取らないと」
返す言葉が見つからなかった。——でも、
ここで引いたら、賭けに負ける。僕は無理や
り反論を探した。
「でも、セキュリティ弱くしたら問題になり
ませんか?個人情報漏洩とかそっちの方がリ
スク高いのでは?」
「いい質問だね」
白石さんは頷いた。
「じゃあ、このシステムで扱う情報は何?」
「……地域のイベント情報とか、掲示板とか」