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

フリークアウトのミッション「人に人らしい仕事を」

情報革命の「仕事の収奪」という側面が、ここ最近、大きく取り上げられています。実際、テクノロジーによる「仕事」の自動化は、工場だけでなく、一般...

大嫌いで顔も見たくなかった父にどうしても今伝えたいこと。

今日は父の日です。この、STORYS.JPさんの場をお借りして、私から父にプレゼントをしたいと思います。その前に、少し私たち家族をご紹介させ...

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

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

あいりん地区で元ヤクザ幹部に教わった、「○○がない仕事だけはしたらあかん」という話。

「どんな仕事を選んでもええ。ただ、○○がない仕事だけはしたらあかんで!」こんにちは!個人でWEBサイトをつくりながら世界を旅している、阪口と...

あのとき、伝えられなかったけど。

受託Web制作会社でWebディレクターとして毎日働いている僕ですが、ほんの一瞬、数年前に1~2年ほど、学校の先生をやっていたことがある。自分...

ピクシブでの開発 - 金髪の神エンジニア、kamipoさんに開発の全てを教わった話

爆速で成長していた、ベンチャー企業ピクシブ面接の時の話はこちら=>ピクシブに入るときの話そんな訳で、ピクシブでアルバイトとして働くこと...

bottom of page