Cha道

Chatworkの「人」「組織」を
伝えるメディア

みんなが乗るレールを作るような仕事が好き。「Chatwork」の地盤を支えるSREの想い。

「何の仕事をしているときが一番楽しいか?」という問いへの答えは、エンジニアによってさまざまです。「アプリケーションの新機能を作るのが好き」「難解なアルゴリズムを組むことに魅力を感じる」など、その人の志向に応じた答えが返ってくるでしょう。

今回インタビューをしたSRE部の坂本 諒は「インフラやミドルウェアなど、システム全体の基盤となるような仕組みを構築することが好き」だと語ります。そんな坂本は、どのようなキャリアを歩んでChatworkへ参画し、SREの仕事に取り組んでいるのでしょうか?

■プロフィール

坂本 諒
プロダクト本部 SRE部

新卒で鉄道会社に就職し、列車制御システム関連の部署で働く。SIerへの転職後、客先常駐の形態でインフラやミドルウェアを整備する仕事に従事。この時代に、Chatworkの現・執行役員CTO兼プロダクト本部長である春日重俊と出会う。その後、自社メディアを運営する企業にてレコメンド基盤の構築・運用に携わり、春日からの誘いをきっかけにChatworkへ転職。SREの業務を担う。

新卒で鉄道会社へ就職。エンドユーザーに触れる仕事をしたかった

――坂本さんは大学卒業後、鉄道会社へ就職されてエンジニアではない職種で働かれていたと伺っています。エンジニアとしては少し特殊なキャリアからのスタートだったのですね。

もともと大学では情報工学を専攻しており、学生時代からITスタートアップでエンジニアのアルバイトをしていました。そのため「将来的にはエンジニアとして働きたい」という気持ちはありましたが、新卒ではエンジニア職種もそうでない職種も両方受けていたんです。

就活では、エンドユーザーに向けた仕事ができる、特定の人だけが使うのではなくいろいろな人がさまざまな用途で使うものに携われる、新卒でないと入りにくい大手企業で経験を積める、という3点を重視していました。複数の企業を受けていたなかで、一番早く内定が出たこともあり鉄道会社に就職を決め、列車制御システム関連の部署に配属されました。先ほど述べたようにエンドユーザーに向けた仕事ができ、大学で学んだ情報工学の知識を活かせるのも魅力でした。

――鉄道会社ではどのような業務を経験されたのでしょうか?

私が就職したのは2011年で、東日本大震災が起きた年です。偶然にも、福島第一原発エリアを担当する支社に配属され、震災の数年後には鉄道を動かすエリアの復興作業を担当しました。鉄道会社の歴史に残るような仕事に携われたのは、貴重な経験だったと思います。

また、通常業務としては工事のときの対応が印象に残っています。鉄道会社では常にさまざまな駅や線路で工事をしているのですが、もしも失敗すると列車の運行が止まってしまいます。もちろんバックアッププランは用意してありますが、切り替えるまでは列車を動かせないですし、始発の時間が決まっているのでタイムリミットがある作業です。緊張感を持って働きつつ、利用者に影響を出さずにインフラを改善する面白さや達成感を味わえました。

鉄道会社時代に痛感したことは、準備の大切さです。それから、しっかりとエビデンスを調べて仕事をする習慣が身につきました。鉄道会社のように歴史の長い企業になると、資料が紛失していたり、情報源が伝聞だけで残っていたりというケースもあります。そんなときに、不確実な情報をうのみにせず、自分で丁寧に調べて仕事をすることの大切さを学びました。

Sler時代に感じた「自動化は素晴らしい」という思い

――その次はSlerに転職し、エンジニアへキャリアチェンジされたそうですね。この時代の印象的なエピソードはありますか?

Slerでは客先常駐する形で仕事をしたのですが、ある企業のプロジェクトへの参画時に、Chatworkの現・執行役員CTO兼プロダクト本部長である春日(重俊)さんと出会いました。

――なんと! ここで出会われていたのですね。

当時の私はDockerに可能性を感じていたので熱く語ったところ、春日さんが「面白い!」と感じてくれたようで(笑)。春日さんは、手を動かして何かにのめり込むエンジニアやインフラ関連の技術が好きなので、Dockerの話題が響いたんだと思います。

そこでは、ポイントサービスを導入するプロジェクトを担当しました。私の主な役割は、機械学習チームのインフラやミドルウェアを整備することです。やはり私は、みんなが乗って進めるレールのような仕組みを整える作業が好きです。そうした意味で、インフラやミドルウェアを構築する仕事は、自分のマインドに合っていました。

また、その職場はクライアント企業とパートナー企業の立場が対等なのも印象的でした。そのクライアント企業は「各々が自分なりの考えを持って、自発的に提案し行動してほしい」という文化があったため、Slerからの常駐でありながら自分の意見がきちんと反映される楽しさがありました。

――その職場で学んだことはありますか?

いくつもありますが、ひとつ挙げるなら「自動化は素晴らしい」という考え方が身についたことです。プロジェクトの立ち上げ期だったこともあり、初期の頃はデータセンターでのサーバーのセットアップなどを手作業で行っていました。

手順書はあったものの、どうしても人によって作業内容にばらつきが出ますし、ミスも発生します。それを全て自動化して「ターミナルでコマンドを2回叩けば済む」という状態にしました。これによって圧倒的に効率が良くなり、作業を平準化・自動化する大切さにあらためて気が付きましたね。

Chatworkなら、やりたいことが存分にできると確信した

――その後、自社メディアを運営する会社に転職されたと伺っています。

事業会社に行きたいと考え、転職しました。Sler時代にExadataやHadoopなどを扱っていたんですが、その過程でビッグデータが面白そうだと感じ、事業系のなかでも大きな会社のやり方を経験したいと思ったんです。採用面接で面接官と話したところ、「Hadoopをやっている部署があるよ」とのことで、その部署に参画することになりました。

でも入社してからすぐに、「想像していた仕事と違うな……」と感じるようになりました。会社自体は大きいんですが、当時は事業部ごとに扱うデータが細分化されていたため、データ量はそれほど大きくありませんでした。集計処理は日次バッチだけで、ストリーミングにも対応できていない状態でした。それに何かの施策を動かそうとしても、部署のサイロ化があって、チーム外に賛同してくれる人が少なく、なかなか物事が進みません。仕事に物足りなさを感じるようになってしまいました。

――Chatworkへの転職を考えたのは、いつごろでしょうか?

実は、前職に勤め始めてからすぐに春日さんから「Chatworkで働かないか?」と誘われました。でも、転職して間もなかったので、当時はお断りしたんです。前職に入社して1年くらいが経った頃、春日さんが再び誘ってくれて、私が「お話を聞かせてください」と答えて、そのまま面接まで進みました。

――Chatworkのどのような点に惹かれましたか?

Chatworkは事業を成長させつつ、先進的な技術を積極的に採用しています。KubernetesやApache Kafka、HBaseなどの技術を取り入れたり、CQRSというアーキテクチャを採用したり。「この会社ならば存分に、自分の好きな技術に取り組める」と確信しました。また、数多くの人々がチャットツールの「Chatwork」を利用していることから、「世の中で使われるインフラを作りたい」という自分自身の考えにマッチしていたのも、転職を決めた理由です。

自分のアイデアでプロダクトを改善できる喜び

――ChatworkのSREとして担当したプロジェクトで、特に印象深いものを聞かせてください。

大きな価値を提供できたり、組織にプラスの影響を与えられたりしたプロジェクトはいくつか思いつきます。まずはHBaseのバージョンアップです。Chatworkでは初めてのHBaseのバージョンアップで、かつ更新までの期限が3週間しかなかったため、なるべく安全で効率良くプロジェクトを進める必要がありました。

バージョンアップの方法として、rolling upgradeまたはblue-greenデプロイメントが考えられました。rolling upgradeは切り替え後に何か障害が起きたとき、revertする方法がないことが課題でした。そこで、私の提案でblue-greenデプロイメントを採用することになりました。当時の記録は「3週間で出来たEvent SourcingでCQRSなアーキテクチャ上でのHBaseのupgrade」というブログに残っています。自分のアイデアがシステムの改善につながり、印象深かったです。

他にはKubernetes関連の環境整備です。私はChatworkに入社して以来ずっとKubernetesに関する作業をしています。Amazon EC2で運用されていたのをAmazon EKSに移行するとか、クラスターの管理方法や各チームのマニフェストの管理方法を検討・実施するといったことを担当してきました。

それから、社内のPHPのアプリケーションのリリースには昔からJenkinsを利用し続けてきたんですが、そのメンテナンスが徐々に大変になっていました。そこで、Jenkinsで実施していたジョブを他のCI/CDの仕組みに移行することを決めました*。移行に伴って必要になる各種の作業を私が担当するだけではなく、説明会も実施するなどして、ほぼトラブルなくスムーズに移行プロジェクトを完了できました。

*参考:ArgoCDとGitHub Self Hosted Runnerを使って リリース時間を1/4にした話

「Chatwork」を強いプロダクトにしていきたい

――Chatworkという会社の良さはどのような点だと思いますか?

社員同士の距離感の近さですかね。象徴的なのが、代表取締役CEOである山本(正喜)さんとも、とても距離が近いことです。雑談用のグループチャットがあり、そこで山本さんと気軽にコミュニケーションを取れます。そのグループチャットでは、真面目な話からたわいもない雑談まで、さまざまなことを話せるんです。

それから、社員同士の一体感を醸成する工夫をしているのも良いところです。半期に一度全社員が集まる全社総会の「Cha会」や月次で実施しているオンライン会議の「Cha室」、毎月配信されている社内ラジオの「Chadio」など、さまざまな取り組みが行われています。こうした場を通して会社のことを深く知ることができ、社員同士の交流の場も生まれています。

――最後に、これからチャレンジしたいことを教えてください。

今後の目標は「Chatwork」をより強くすることです。どのようなときでも、安定して動くプロダクトを目指したいです。余談ですが、私はマラソンがすごく好きで。大迫傑さんという選手をご存知ですか?

大迫傑さんは非常に優秀なマラソンの選手で、よく「強くなりたい」という旨の発言をされています。私は彼の言葉に「速くなりたいのではなく強くなりたいというのは、どうしてだろう?」と思ったんですね。そして、「こういうことかな」と自分なりに解釈していることがあります。

マラソンという競技は体調や環境に左右されやすく、優秀な選手でもまるで駄目なときがあります。しかし、大迫さんはかなり結果が安定しており、コンディションが悪いときでも大きく崩れることがありません。つまり「強くなる」とは、コンディションの良し悪しに左右されずに、一定以上の結果を出せる選手になるということだと、私は思っています。

「Chatwork」というプロダクトにも、同じことが言えます。現在の「Chatwork」はモノリシックなアーキテクチャになっており、何か特定の機能で障害が起きると他の機能にも影響してしまいます。

今後はシステムを全体的に疎結合なアーキテクチャに変えていき、仮に特定機能に障害が起きても他の機能への影響を最小限に抑えられるよう、プロダクト全体の可用性を高めていきたいです。それを実現するためのプロジェクトが進行しているので、私はSREとして他の人たちの下支えをする役割を果たし、「Chatwork」を強くすることに関わりたいと考えています。

撮影場所:東京オフィス(WeWork 日比谷FORT TOWER)