2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
リンクをコピー
記事をブックマーク
田中謙次氏(以下、田中):フォルシアの技術戦略で、「これまでどんなことをやってきて、これからどうしていきたいか?」という話ですね。
まず自己紹介をします。私は、田中謙次と申します。名も名字も平凡ですが、先に趣味を言うと、旅行がけっこう好きで、今も旅行のシステムを作っています。行ったことのない場所を開拓していくのが好きで、日本はもう全部行って、海外も33ヶ国行きました。左の写真は、アマゾン川で撮ったものです。赤色のところは行ったことがあります。最近子どもが生まれて、パパになったので育児をやっています。
私は、今、第二旅行プラットフォーム部で技術部長をしていますが、経歴は中途入社8年目です。もともと複写機メーカーのR&Dで働いていて、そこから縁があってフォルシアに来ています。
技術組織や技術推進体制の構築、マネジメントを担当しています。特に今は採用やチーム開発にチカラを入れて推進しています。同時に旅行販売プラットフォームの「webコネクト」の開発を統括しています。よろしくお願いします。
今日話そうと思っていることですが、フォルシアがこれまでどんなことをやってきたかという話と、これからの話ですね。これまでやってきた話は少し中期的なスパンで話します。まずフォルシアがこれまでどんなことをやってきたか、事業内容をザッとお話しします。
弊社は、旅行会社や、理化学機器メーカーに「Spook」というプロダクトを導入してもらっている会社です。今はだいたい120人ぐらいの社員がいる会社で、その内の半分ぐらいがエンジニアという会社です。
弊社の強みは、PostgreSQLなどを使って膨大で複雑なデータを検索に特化したデータに変えて、コンパクトにして、速く検索できるようにする独自の技術です。
普通の検索エンジンだと、なにか1個を見つけてそれを深堀りしていくんですが、弊社はデータを俯瞰して見られるところを売りにしています。「この条件を選んだら、ほかの条件を選んだときに何件になるか」とか「これ押したらどうなるか」とかを一歩先回りして検索するみたいなことをやっています。「ユーザーがいい感じに検索できる」ことを心がけています。
開発の流れですが、今までは基本的には受託開発をメインにしていました。お客さんからデータをもらって、それをお客さんと和気あいあいというか、あーだこーだと議論しながら一緒に作っていって、「ドキュメントよりも動くもの」というところを大事にして、価値を提供しています。また、納品して終わりではなくて、継続的にその事業に関わっていくことができる会社です。ここは今も続いている話です。
フォルシアのエンジニアは基本的に検索を軸にして顧客との仕様調整から実装まで一気通貫でやります。全部やるのは、やっぱりコミュニケーションロスをなくすというのが一番の理由かなと思っています。
伝言ゲームってどこかで失敗すると思っているのもありますし、「なんでこれ作るんだろう?」というところをやっぱり一番大事にしたいなと思っているので、顧客の仕様を決めたり、実装したりというところをきちんと大事にしたいなと思ってやっています。
開発・運用・保守というところで、チームをあえて明確に分けていません。やっぱり継続的な改善と運用がすごく大事だなと思っています。
例えば、運用や保守をあんまり考えずに作っちゃうと、「とりあえずなんとかする」みたいな仕組みになってしまったり、あとの人のことをあんまり考えずに作ったりしてしまうので、あえてそこは明確に分けずに、「自分も保守していくんだな」ときちんと考えてやるという設計を目指してやっています。
あとは少数精鋭でボトムアップですね。高い自律性を売りにしています。今回他のLTで発表されたいろいろやったという話も、別に「やってくれ」と言ったわけではなくて、自発的にやるということをすごく重視しています。
だいぶ昔の話にはなるんですが、私がフォルシア入ったのは7~8年くらい前ですね。今がだいたい120人くらいいるので、半分よりちょっと少ないくらいの50人くらいの会社のときがどんな感じだったかという話です。
私が入社したときどんな会社だったかというと、とにかく圧倒的な実装能力・調整能力を持ったエンジニアがもうバッサバサと案件をこなしていくみたいな会社でした。今と変わらず、とにかく少数精鋭でより多くのアウトプットを出すことを重視していました。JTBさんやANAさんなど、日本の旅行業を牽引する旅行会社を皮切りに、どんどん実績を重ねていく時期でした。
とにかく仕事がいっぱいあって、毎日毎日大変な時期で伸びていたときではあったのですが、課題もありました。
具体的には、「ドキュメントよりも動くもの」を重視した結果、「ソースコードを読めばわかる」仕様になっていたり、少数精鋭の少数もいいところで、プロジェクトが1人メンバーという「ぼっちプロジェクト」と呼ばれるプロジェクトもあったりしました。
ほかにも、ひどいサーバーを運用したことがある人はわかるかもしれないんですが、設定もそれぞれ勝手にやったりしていて、「誰が何をどうしていて」とか「どのサーバーにどんな設定をしているか」とか、もはや誰もよくわからない状態を「秘伝のタレ」と言っているんですが、そんなサーバーがあったり、とにかくいっぱいやっていたので、その障害対応に追われる日々でした。
そこからどういうふうに変わっていったかですが、今から8年前ぐらいから変わってきました。「個からチームへの変革」があったのかなと思っています。
その個からチームへというところでどう変わっていったかですが、まず開発カルチャーの変革です。
これは「えっ?」っていう感じかもしれませんが、実はコードレビューって昔はぜんぜんやっていなかったりするんですね。それを最近は当たり前のようにできるようになってきました。
あとはやっぱりコミュニケーションって大事だなというところとかで、朝会をするようになりました。ほかにもテストを書くようになったり、新卒1年目からいろいろとやったりですね。そういうカルチャーがだいぶできてきました。あとは、1人でプロジェクトを回すことはなくなってきたかなと思います。
あと、意外と大事だなというところで、日常的に気軽にドキュメンテーションする文化ができてきました。重たい仕様書を書くよりか、「ちょっと困ったな」と思ったときや「これ誰かが困りそうだな」って思ったときに、esaなどを使って、本当にちょっとした文章を書くということができてきたと思っていて。何か困ったら書いたり、GitLabを使ったり、変わってきたなと思います。
ほかにも、プロダクト開発と運用の変革というところで、プロダクト軸とは別に個別課題を解決する横串組織を作りました。
なんで動いているかわからないサーバーがなくなったというところです。これは前回「FORCIA Meetup」で、DevOpsがテーマのイベントをやったんですが、そのときも、Ansibleなどを使ってとにかくサーバーの設定をきちんとコード化して管理するという話をしています。「新しくサーバーを入れるときには、Ansibleで絶対やろうね」と強い意思をもってやってきました。
あと、レガシーコード改善もここ数年けっこう力を入れてきました。レガシーコードって、けっこう古臭い感じで「あんまり触りたくねぇな」みたいな気持ちになるのがあって、どうしても臭いものにはフタをしよう、みたいなところがあったんですが、やっぱりこのレガシーコードに向き合っていかないといけないなと思っていて。
こういうコードを改善するのってかっこいいって普通に思うんですね。それをみんなの共通認識にできたということが、このレガシーコード改善の1つのポイントだったと思っています。もちろん気持ちだけじゃなくて、TypeScriptに変えたり、このイベントでも東川から発表がありましたが、ああいう改善したりって普通に考えてかっこいいと思うので、そういう文化を作っていきました。
あとは障害アラートです。メチャクチャいっぱいアラートがあったんですが、これも「いっぱいだなぁ」だとぜんぜん変わらなくて、「このくらいが今あって、このくらいを減らそう」みたいな指標をを作っていったり。単純に可視化すれば「今こういう状況になっていて、前よりだいぶ減ったぞ」みたいなのがあったりしたら「よし、もうちょっと減らそう!」となるので、このように障害を見えるようにするということですね。自分たちがこの障害に対してどれだけの時間を使っているかとか、そういうところをきちんと見えるようにしてきました。
ほかにも、自社で管理できる一部のサービスは、Kubernetesにどんどん移しています。
横串横断組織を作って、まだまだ課題は山積なんですが、個別の課題をけっこうクリアしてきました。
(後半へつづく)
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