top of page

13/3/14

システムを速度改善して1時間の処理を10分に短縮したら怒られた話

Image by Olia Gozha

パッケージベンダーのエンジニアとして配属された僕は、とある機能の速度改善を任された。当時開発経験0・Javaってなに?状態だった僕。事の大きさもわからないのでとりあえず全力でやるかと思い、とにかく勉強して改善することにした。

結果、二度と忘れられない得難き経験をすることになったわけである。

「遅いからいい感じにしといて」と言われ、とにかくやってみた

遅かったのは、月に1回自動実行されるバッチだった。2万人分の処理で1時間くらいかかっていて、今後5万人6万人をさばくことを考えると今改善すべきなのは明らかだった。

それから3ヶ月間はとにかくひたすら勉強しつづけた。何を勉強したらいいのかすらわからなかったので、とりあえず速度改善とかパフォーマンス改善とかでググって出て来た記事や書籍を読みあさり、最終的にはマルチスレッドで並列処理させることで1時間の処理を10分程度まで改善させることができた。並列処理は社内でもまだ例のないやり方だったし、何も知らないところから我ながらよくやったものだと思う。ちなみにこの時技術面のフォローをしてくれたGentaro Okaさんには今でも頭が上がらない。

「なんで速くしたの?」と言われてレビュー惨敗

一応効果と言えるものが出たので、マネージャーレビューに持って行った。マネージャーレビューを通らないとリリースさせてもらえないのだ。改善効果の説明を一通り終えた後、ボスから受けた最初の質問を僕は忘れることができない。

「なんで速くしたの?」

一気に場の雰囲気が最悪になった。僕はもう目が点。ザ・ワールド状態。「いやいや、だって速度改善って案件だったやんけ!?」とも当然思ったが、「言われたからやった。今は反省している」なんて言えるはずもない。納得できずごにょごにょ言ってみたわけわけだが、当然レビューは落ちた。それはもう壮絶な惨敗であった。

「誰も開発して解決しろとは言ってないよ?」という言葉

僕がレビューでごにょごにょ悪あがきしている時、ボスにこの言葉を言われた。レビューの時は「そりゃねえよw」と思ったが、後で落ち着いてよーく考えてみた。

言われてみれば、たしかに「お客さんが困ってるからいい感じにしといて」とは言われたが、「速くして」とは一言も言われていなかった。なのになぜ自分は、速度を改善しようとしたのか?

先入観だらけのクソエンジニアだった僕

お客さんはシステムの速度が遅いことに困っていたわけではない。システムが遅いことで業務のスケジュールが逼迫してしまうことが問題だったのだと気づいた。本質的には、お客さんはシステムの速度なんて興味はない。もっと言うと、興味をもっちゃいけない。エンジニアは「そもそもなんで速くしたいとか言いたくなっちゃったの?」という問いから考えなければならないのである。

「誰も『開発して解決しろ』とは言ってないよ?」というのは、「開発で解決するのが一番メリット出るの?」ということだ。1時間の処理を改善して10分にすれば確かにお客さんは喜ぶだろう。しかし50分しか変わらない。もしかしたら、それより前の処理に2日かかっているところを1日でこなせるように助言すれば、開発しなくても24時間の削減効果があったかもしれない。問題解決のアプローチは色々あったにも関わらず、上司に、コンサルに、お客様に言われたままに最初からシステムの改善に注力しまくっていた僕。つまり、僕は先入観にとらわれまくっていたクソエンジニアだったわけだ。レビューで怒られて当然と言える。

今となってはいい思い出

それから、僕は開発する前にそもそも開発が必要なのかというところから考えるようにしている。エンジニアは開発で解決できる幅が大きい分、ユーザーの要望を正面から解決しようとしがちだと思う。もちろん結果的にそれが一番いい解決かもしれないが、それはユーザーの本質を捉えてはいない。

開発はあくまで手段であって目的ではない。ユーザーの目的はサービスの特性によって様々かもしれないが、そもそも本質的に抱えている問題はどういうことなのかを常に問い続けることが大事だと思う。

新卒の僕の失敗からそんなことを考えさせてくれた前職のマネージャー陣の皆さんには非常に感謝している。

ちなみにこんな感じのことを悶々と考えてからレビューにリベンジしてちゃんと説明した結果、無事にレビューに合格し、リリースすることができた。今も色んな会社で高速に動作していると思うが、ユーザーがそんなことを意識していないのを祈るばかりである。

※ 自分のブログにもまとめてみました。『ユーザー目線って何?システムの速度を6倍にしたのに上司に怒られた話』⇒ http://konifar.com/627

←前の物語
つづきの物語→

PODCAST

​あなたも物語を
話してみませんか?

Image by Jukka Aalho

急に旦那が死ぬことになった!その時の私の心情と行動のまとめ1(発生事実・前編)

暗い話ですいません。最初に謝っておきます。暗い話です。嫌な話です。ですが死は誰にでも訪れ、それはどのタイミングでやってくるのかわかりません。...

忘れられない授業の話(1)

概要小4の時に起こった授業の一場面の話です。自分が正しいと思ったとき、その自信を保つことの難しさと、重要さ、そして「正しい」事以外に人間はど...

~リストラの舞台裏~ 「私はこれで、部下を辞めさせました」 1

2008年秋。当時わたしは、部門のマネージャーという重責を担っていた。部門に在籍しているのは、正社員・契約社員を含めて約200名。全社員で1...

強烈なオヤジが高校も塾も通わせずに3人の息子を京都大学に放り込んだ話

学校よりもクリエイティブな1日にできるなら無理に行かなくても良い。その後、本当に学校に行かなくなり大検制度を使って京大に放り込まれた3兄弟は...

テック系ギークはデザイン女子と結婚すべき論

「40代の既婚率は20%以下です。これは問題だ。」というのが新卒で就職した大手SI屋さんの人事部長の言葉です。初めての事業報告会で、4000...

受験に失敗した引きこもりが、ケンブリッジ大学合格に至った話 パート1

僕は、ケンブリッジ大学トリニティ・カレッジ、政治社会科学部(Social and Political Sciences) 出身です。18歳で...

bottom of page