こんにちは、エンジニアの岩松です。2022年1月25日のAssuredリリースから1年ということで、エンジニアチームで座談会っぽくこの1年を振り返りつつ様々な話をしてみました。
(聞き手: 岩松)
—— 今回は、サービスをリリースしてから1年経ったということで、チームメンバーで様々な変化を振り返ってみようと思います。早速自己紹介をお願いします。
内山: エンジニアの内山と申します。2022年1月にジョインしまして、バックエンドを中心に開発全般を見ています。iOSエンジニアからキャリアをスタートして、フロントエンド、バックエンド、インフラと広く何でもやってきました。一時期はセールスエンジニア的なこともしていました。
オリバー: こんにちはオリバーです。Assuredではバックエンドとインフラ、必要に応じて評価フォーマットの英訳もしております。私は2020年の4月にジョインしました。前職ではスタートアップで1人で事業部を立ち上げたり、新卒ではBtoCのサービスをいくつか立ち上げたり運用していました。
鈴木: 鈴木と申します。Assuredではプロダクトマネージャーをしております。Assuredにジョインしたのは2020年の7月からで、プロダクトマネージャーをやりつつ、ちょっとコードも書きつつ、みたいな感じです。
—— 実はAssuredリリース1周年と同時に内山さんも入社1周年ですよね。内山さんから見た変化を聞いていこうかなと思います。簡単に入社経緯から聞いてもいいですか?
内山: はい、先ほど触れた通り以前はセールスエンジニア的なことをやっていたんですけども、そのときにプロダクトの技術的なご紹介だったりご支援をしていました。その中で面白いプロダクトであったり社会の課題解決をするようなプロダクトに触れることが多くなって、もう一度自分自身で手を動かして社会の課題解決に繋がるプロダクトを作りたいという気持ちが強くなってきました。そんなときに代表の大森さんに声かけてもらってAssuredについてお話を聞きました。セールスエンジニアのときに、セキュリティリスクの観点で導入に時間がかかってしまうお客様もよくいらっしゃったので、クラウドリスク評価のプロセスを改善していけば社会のIT化、DX化を加速できるんじゃないかなと思い、Assuredに入社を決めました。
(詳細な入社経緯は過去記事もご参照ください!)
—— 内山さんはセキュリティ領域に専門性を持っていたわけではないと思うんですけど、入社してから結構ここは苦労したな、勉強したなということはありましたか?
内山: そうですね、今までセキュリティを専門でやったことはないので若干不安がありました。ただ実際入社してみてやりづらいことは一切なく、入社直後に各チームがどういうフローで何をしているのか一通り説明してもらえましたし、お客様とのミーティングに同席させてもらってお話を直接聞かせていただくこともできました。さらにAssuredには監査の資格を持ったドメインエキスパートがいるので、その人と一緒に仕事していく中で自然とセキュリティやリスク評価といった知識を身につけていけました。なのでハードルはそこまで高く感じませんでした。
—— 開発に関してざっくりと振り返ってみていかがでしょうか。
内山: はい、僕はバックエンドの開発歴に関してはJavaが長かったんですけど、AssuredではScalaがメインで使われているので若干不安がありました。しかし最初に「回答共有リクエスト」という、クラウドサービスを提供している企業様向けにセキュリティチェックシートの公開フォームを設定できる機能を担当させてもらいました。機能開発を一通り経験することでScalaは一定書けるレベルになったと思います。直近でいえば「シャドーIT検知」という、会社に無許可で利用されるいわゆる「シャドーIT」を検知するための機能を作りました。シャドーIT検知機能を実現するためには、ユーザーがどんなサービスを使っているのかといった大量のログを集めて捌く必要があります。そこでサーバーを素早くスケールアウトしたいというモチベーションからGo言語を選定していました。自分自身Scalaが初めてだったということに加え、チームとしてもGo言語を使いだし、新たに始めたことが多かったなというのがこの1年間の印象です。
—— オリバーさんもこの「シャドーIT検知」をはじめとした機能の技術選定に関わっていたと思いますが、その変化について何か思うところはどうでしょうか?
オリバー: 先ほどScala、Goとお話に出てきましたが実は「ウェブ評価」という機能ではPythonも使っています。これは機能に合わせてベストな技術設定を意識していたからなのですが、この過程においては議論を重視していたなと感じています。また、シャドーIT検知機能でGo言語を選定するまでにもエンジニアチームでよく話しましたし、メインで開発に携わったメンバー間でもああだこうだと話しながら議論を進めていたのを覚えています。
—— 技術選定において具体的にどんなことを会話していたのでしょうか?
オリバー: シャドーIT検知機能では大量のログを捌く必要があります。そこでスケールアウトしやすいCloudRunを選択し、その上で軽量なコンテナで動作するGo言語を選びました。また、BigQueryにデータを格納する際にStorage Write APIが最も利用しやすかったという理由もあります。また、ウェブ評価機能ではセキュリティ関連のライブラリ等の充実度からPythonを選択しています。
(詳細は以下の記事でも解説しています。)
—— 新しい機能を作るにあたっての学びはありましたか?
内山: ブラウザの拡張機能の開発は今回初めてだったので、そもそもブラウザ拡張で何ができるのかというところから始まり、ユーザーがどういうサービスを使っているのかというログを集めるためにブラウザのどういうAPIを使わなきゃいけないのか、といったところから調べたりしていました。
オリバー: ブラウザ拡張機能とそのAPIの開発をメインで担当されたのは内山さんですが、収集したデータを裏側でどう処理するかといったところを私が担当しました。インフラのリソース計算などもそうですが、BigQueryのStorage Write APIがどのような挙動なのか学んだことも良い経験になったと思います。単純にBigQueryを上手に解析で活用する手法なども改めて勉強になりました。
—— 技術的でなくチームの様子や雰囲気も結構変わったんじゃないかなと思いますが、入社当初チームの雰囲気として印象的だったことはありますか?
内山: そうですね。人柄というか雰囲気で言うとこれまでチームをリードしてきた人が多く、みんな大人というか、個々が事業を進めていけるようなメンバーばかりだと思いました。頼れるし、頼り合える関係が印象深かったです。チームをリードできる人がいっぱいいると「船頭多くして船山に登る」というように違う意見がいろいろ出てきてしまい、まとまらないのではないかと思っていましたが、Assuredには大人な人が多いのでうまく意見を尊重しあっています。
—— 内山さんから見たチームの変化はありますか?
内山: 大人な人が多い一方でお互いに意見を尊重しすぎてしまい、少しやきもきする場面もありました。後に事業部全員でのワークショップを通じて事業部の行動指針を作ったのですが、その中にある「最速のスプリンター」という言葉が良い効果をもたらしたと感じています。「完璧を目指すより、スピードが命。価値を最速で届けよう。」といった考え方をみんなが意識するようになってきていて、判断基準として明確に「どちらが結果が出るのが速いか」という基準が生まれたことで判断がしやすくなったり、「時間をかけて事前に詰め切るより、8割でもいいからまずは走り出してみよう」というような動きが多くなりました。
—— 内山さん自身はこの行動指針で変わったなってことはありましたか?
内山: 変わったなというより意識しなきゃいけないな、これから改善していかなきゃいけないなと思ってることが「学びのティーチャー」という言葉です。積極的に学び、発信していきましょうという言葉なんですが、現在ちょっと学びつつもアウトプットを発信していくことはまだまだ弱いなと感じています。ブログもそうですけど、もっとアウトプットの機会をしっかり増やしていきたいなと思っています。
—— せっかくなので他の人にも聞いてみようかなと思います。鈴木さんはこっそりセキュリティの資格を取ったりしており、個人的に日頃からインプット・アウトプットを意識しているんだろうなと感じているんですが、どう意識している、とかありますか?
鈴木: それは初めて言われました(笑)。そうですね、意外と自分の知っていることを他人は知らないっていうことを意識するのは第一歩なのかなと思っています。最近も Qiita でたくさんアウトプットをされている伊藤淳一さんの発表で、「アウトプットの際には3日前の自分をペルソナにする」という話をされていて、まずは自身の発信のハードルを下げることが大事なのだと改めて感じていました。
—— 鈴木さんがプロダクトマネージャーとしてこれからやっていきたいことや、組織と技術に関して考えていることがあればぜひ聞いてみたいなと思ってます。
鈴木: 直近ではプロダクトチーム以外のメンバーや使ってくださるお客様も増え、よりプロダクトへの期待値が上がってきたなという感覚があります。より大手のお客様への導入が増えたり、サービスの利用も2年目に入るお客様がいらっしゃるからこそ、エンタープライズレディな基盤やサービス自体が使われ続ける仕組みを整えなければ、とより強く思うようになりました。これまで作ってきた機能も、ウェブ評価やシャドーIT検知のような機能はエンジニアリングの力を活かして改善しやすいものだと思うのでゴリゴリ改善していけたらと思いますし、メインのクラウドリスク評価機能も、最近世間を騒がせているChatGPTやAI系のプロダクトを参考に機能の改善ができたら非常に面白いと思います。
プロダクトチームの組織については、事業とともに組織が順調に成長するのであれば、これまでのお話に出てきたような全員がそれぞれリードを取って機能開発をする形から、より組織的な開発へうまく遷移させるということは意識したいと思います。現状、それぞれの機能の開発に際して個人への依存度が高いのは、それが最適でもあるとチームで納得したことでもあるのですが、やはりバス係数が1の状態を続けるのは避けたいですからね。
—— 他の皆さんも次に挑戦してみたいことはありますか?
オリバー: 先ほど行動指針の話がありましたが、他にも「未踏へのチャレンジャー」「楽しもうアドベンチャー」という言葉があります。お客様と向き合いながら新規事業を立ち上げていくこと自体を楽しみつつ、しっかりとプロダクトづくりに取り組みたいですね。また、内山さんからセキュリティの専門性という話もありましたが、自分自身これからどんどん色んな知識をキャッチアップしていきたいと思います。
内山: 1年を通して「回答共有リクエスト」や「シャドーIT検知」といった機能を作り続けていましたが、そうした機能を使っていただくに従って「やっぱりこの部分使いづらいよね」といったお客様からのフィードバックをいただくことも増えてくると思います。ただ開発をするだけではなく、もっとお客様と二人三脚のように開発をしていきたいと思っています。
—— ありがとうございました!
普段とは異なる形式を試してみましたがいかがでしたしょうか?チームの雰囲気をよりお見せできたのかなとは思っています。テックブログでは引き続き様々なコンテンツを発信していきますので、ぜひこれからもよろしくお願いします!
この記事を通して「Assured」に興味を持っていただけた方は、ぜひカジュアルにお話してみませんか?下記のリンクをぜひご参照ください。