2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
リンクをコピー
記事をブックマーク
やまげん:ISUCONに勝つところももちろんですが、バックエンドエンジニアとしてのスキルアップの話にもつながっていると思います。何かコツとかはありますか? 気をつけたほうがいいことみたいなこと。
金子:コツ。なんですかね。たぶん楽しむことだとは思うんですよね。
やまげん:おお。はい。
金子:初めてISUCONをやった時は、本当になんにも解けなかったんですよ。そこから、「じゃあこうすればいいんだ」「ああすればいいんだ」ということを一つひとつ学んでいったんですよね。
それが僕はすごく楽しかった。初めて出場したのがISUCON4なので、僕がそういうことをやったのが、ISUCON4の少し前ぐらい。そういうふうに、ちょっとずつ勉強して出たISUCON4で準優勝だった。
やはりちゃんと勉強していれば成果が出るし、それにISUCONの知識って、業務でもそのまま使えるので。そういうところが僕には楽しかったです。
やまげん:なるほど。
金子:楽しむことがなにより重要かなとは思いますね。
やまげん:そういうのって、技術自体を学ぶのも楽しいですよね。
金子:そうですね。よく論争があるじゃないですか、「エンジニアは休日に勉強するべきか否か」みたいな。
やまげん:はい(笑)。
金子:僕は別にそれはどうでもいいと思っていて。僕は休日も技術書を読んだりしていますが、別にそれって単純に好きでやっているだけで、エンジニアはそうあるべきだと思っているからやっているわけじゃないんですよね。なので、そういう議論はすごくどうでもよくて、単純に「各自で楽しめばいいじゃん」と思っているほうです。
やまげん:ああ、すごい。聞いている方々は勉強になっているんじゃないかなと思います。
金子:それならいいんですけど。
やまげん:楽しむことはやはり大事ですよね。「おもしろいものをおもしろく思う」みたいなところとか。特にエンジニアの領域はそう考えられるかどうかが分け目になっているかもしれないですね。
金子:楽しいと思いますよ。人によるかもしれないですけど。
やまげん:僕も楽しいと思える派なので。全部大好きで、すごくおもしろいと思っています。
金子:なにより、勉強したことがWebサービスをさらによくする。自分たちが見ているサービスをさらによくすることに直結できる分野って、そんなにたくさんはないと思うんですよね。勉強したことがすぐに活かせるって。やはりそういうところは楽しいなと思います。
やまげん:ああ、なるほど。確かにそのとおりですね。本でカリカリッと勉強したことをすぐに活かそうと思えば、活かせる場がありますもんね。
金子:そういうものはやはりいいなと思いますね。
やまげん:僕も共感でしかないですね。僕の話ではありますが、コンピューターみたいなところって、結局0と1で処理をしているので、「最終的に見たら誰でも理解できるはずなんだよな」と思いながらいつも勉強しています。
金子:そうですかね(笑)。それはあまりピンときていない。
やまげん:すみません(笑)。ちょっと僕のアレとは合わなかった感じですが、でも勉強が楽しくてそれを仕事に活かせて、(それで)さらに楽しくなるのは、すごくわかります。
やまげん:ちなみに今ハマっている技術とか、今だとCTOとしてもご活躍されていると思いますが、なにかそういった日々学ばれていることやトピックなどはあったりしますか?
金子:あまり意識していないですね。機械学習があんまり詳しくないので、最近たまに本を読んだり。あと、やはりシステムプログラミング周りが好きなので、そういうLinuxのシステムプログラミング周りや、Go言語が好きなので、Goの仕様とか本をパラパラッと見たり。そういうのはやりますね。
やまげん:なるほど。
金子:たまにJavaScriptとかTypeScriptの本も一応目をとおしていますね。「最近どうなんだろう?」という感じで。
やまげん:「この本を読んでみよう」と思うのは、何がきっかけですか?
金子:Twitterで流れてきて気になったら、けっこう買ったりしています。あと出版社も、技術評論社さんやオライリーさんなどは新刊は何が出るのかはけっこう見ています。それ以外の出版社さんだと、だいたいTwitterが多いですね。
やまげん:なるほど。Twitterとかでフォローしている方々がすすめている、話題にしているところを見て「読もうかなー」みたいな感じですかね。
金子:そんな感じですね。
やまげん:個人的な悩みとしては、積読が増えてきてしまっていて。「これ読みたいな」というものがほしいものリストにどんどんたまっていっているんですが、金子さんもそういった状況だったりするんですか?
金子:僕もそんな感じですね。「これよさそうだな」と思った本をすでに買っていたり。
やまげん:はい(笑)。
金子:ほとんどKindleで読んでいるんですが、Kindleを見ていたら「あれ? こんな本買ったっけ」みたいな本があったり。そんなのばっかりですね。けど、別にあんまり気にしていないですね。
やまげん:なるほど。
金子:「気が向いたら読もう」ぐらいで買っているので。
やまげん:話していて、もう学びが日々身に付いている感じなのかなと思ったりもしたんですが、いわゆる「優秀なエンジニア」みたいなところだと、「そういった学びを楽しめるか」みたいなことで判断されたりするんですか?
金子:どうですかね。そこまでちゃんと経験を積んでいるわけではありませんが、技術について話す時に、楽しそうかどうかは確かに見ますね。
別にそういうスタンスの人はいいとは思いますが、やはりイヤイヤやっている(人)と「一緒に働きたいか」と言われると、あまり思わないですね。一緒に働きたい人は、技術を楽しんでやっている。「もっといいWebサービスを技術を使って提供したい」と思っているような人と一緒に働きたいというのはあります。
やまげん:なるほど、ありがとうございます。
やまげん:せっかくなので、PR TIMESさんで挑戦されていることとかも、どんどん聞けたらと思っています。今エンジニアの話も出たので、今後、その組織をどういうチームにしていきたいみたいなことってあるんですか?
金子:一言で言うと、技術を使ったサービスをさらによくする組織にしたいんですよね。PR TIMESは自社サービスなんですよ。いまだに伸び続けているものすごいサービス、自社サービスとしては本当に化け物級のサービスです。このサービスの成長を技術を理由に止めてはいけないし、技術でさらに伸ばせるところは多いはずだと思っています。
PR TIMESはすでにビジネス的には成功していて、技術的にちゃんと直していけばもっともっと成長できるはずですが、技術のせいで成長を止めているんじゃないかなって。なんか僕(はそう)感じちゃう部分がけっこうあるんですよね。
そういうところを絶対に止めちゃいけないと思ってますね。なので、PR TIMESの成長を止めずにさらに進める、さらに成長させるような開発本部にしたいとは思っています。
やまげん:なるほど、ありがとうございます。
やまげん:ちなみに、話せる範囲でもいいですが、技術が原因で成長が止まってしまうことって、具体的にどういったところで感じているんですか?
金子:例えば、バグがあるのに直さなかったりすると、お客さんは不信感とか「バグッてるのに直さないなんて、何を考えているんだ」とたぶん感じると思うんですよね。
けどそれって、実はソースコードがすごく複雑で、そこを直すともしかしたら他のところがぶっ壊れるかもしれないような状態になっている可能性があるんですよ。そうなると、「むしろ触らないほうが他のバグが出ないからいい」という判断をしている可能性もあるんですね。
でもそれって、誰も幸せになっていないじゃないですか。バグは本来直すべきだし、そのバグを直したことで他にバグが噴出するのは、「そもそもソースコード自体がおかしいから全部直さないとだめだよね」という話なので。そういうところをやっていかないといけない。
あとセキュリティ。サービスを使いたくても、セキュリティが理由で使えない会社さんも当然あると思います。本当はサービスを使いたいのに、セキュリティがよくないという理由で使わなくなる会社さんも今後出てくる。
もしかしたらもういるかもしれないし、そういう会社さんを出さないためには、やはり「うちはセキュリティにすごく気を遣っている会社なんですよ」ということをちゃんとアピールしていきたいです。そのあたりが大きいです。
個人的にも、もともとサービスが好きで使っていたのに、バグが多すぎて使う気を失くしてしまったサービスってけっこうあるんです。PR TIMESをそういうサービスにしたくないというのがすごく強い思いとしてあります。
やまげん:ありがとうございます。Voicyの開発チームもバグが出て、(そこの)修正をするかしないかの判断は、毎回けっこう迷うところでもありながら、みなさんにはやはり喜んでほしいという思いでやっていたりするので。
やまげん:抜本的にそこを変えていって、品質をどんどん高めていくところを(意識して)活動しているイメージですか?
金子:そうですね。PR TIMESって、フロントエンドもバックエンドも、ものすごく古いんですよね。それだけ長い間いろいろなお客さんに使ってもらっているサービスということですが。使っていただいている間に、ちゃんとアップデートできていないのも事実です。それに対して、ちゃんと手を打っていこうとしています。
具体的に言うと、フロントエンドがほとんどjQueryで書かれているんですけれど、ページ、機能ごとに切り出して、Reactにフルスクラッチで書き換えることは、もうすでに企業ページと呼ばれているところでやっています。
あと、PHPのバージョンアップもやって抜本的な改善をしたり、PHPのソースコードもこれまでとぜんぜん違うクラスの構成で新しいAPIを作ったり。そういうことを実際に始めています。
そういう抜本的な改善をしていくことで、開発スピードが出せるように、ちゃんと改善できるようにということを今後やっていきたいと思っています。
やまげん:ありがとうございます。ちなみに、“古い”というのは、実際にどのくらい運用されたシステムなんですか?
金子:PR TIMES自体10年以上の歴史があるサービスなので、10年前とかに書かれたようなコードがまだ残っていたりするんですよね。
やまげん:ああ、そうなんですね。
金子:厳密に言うと(年数は)わからないんですけど。Git管理されたのがサービスを運営してからある程度経ってからなので、それより前については、開発側からはちょっとさかのぼれないのもあります。
git initされてから、まったくいじられていないコードもたくさん動いていて。「創業して間もないくらいに書かれたコードなんだろうな」というものはけっこうあるんです。そういうコードもちゃんと手を入れていきたいと思っていて。なので、「リファクタリングデー」でPHPのデッドコードを一気に削除したり、問題のあるコードがないかを見たり。
PHPのバージョンアップでコードをけっこう修正しているので、そのタイミングで他に変なところがないのかは、見てもらったりしています。
やまげん:なるほど。「秘伝のタレ」という表現が本当に適切なシステムになっていたというイメージなんですね。
金子:部分的には本当にすごいことにはなっていますね。そういうものは、ちゃんと1個1個倒していこうとは思っています。僕が入ってから1年も経っていなくて、そういう改善が始まってからまだ半年少しぐらいの感じなので、まだぜんぜん道半ばという状況ですが、今後ちゃんとやっていきます。
やまげん:(笑)。
(次回に続く)
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05