1
/
5

Wantedlyは、300万人が利用する国内最大のビジネスSNSです

This page is intended for users in Japan. Go to the page for users in United States.

【エンジニア対談】マーケティング支援の軸となるWeb解析ツールを新規開発中。主体的に提案し、改善できる環境がスキルを大きく伸ばす!

「キャリアにプラスになる」開発チーム

ーーUNCOVER TRUTHの開発チームに参画した理由は、何でしょうか?

S:バックエンドとPythonという得意分野に集中できると思ったからです。フリーになってから、フロント側を任されるケースが多くなってきて、本来私がやりたい領域とのズレを感じていました。UNCOVER TRUTHの開発では、バックエンドに徹することができて、さらにPythonをメインで使っている。これは自分にぴったりだ、と感じました。

U:私もPythonでの開発を条件に「魅力的なプロジェクトはないか?」と探していました。検討する中で、重視していたポイントが3つあります。それは、

<1>最新のアーキテクチャ
<2>アジャイル開発
<3>「自社サービス」のプロジェクト

であること。UNCOVER TRUTHは、この条件を完全に満たしていました。さらに「Web解析ツールの新規開発」と聞いて、ぜひやってみたいと思いました。「ユーザーがどのようなコンテンツに興味を示すのか?」「どのような見せ方が有効なのか?」と裏側から学べれば、自分のキャリアにとっても大きなプラスになると感じたのです。

ーー現在、関わっているプロジェクトと、お二人の役割について教えてください。

S:ブラウザ上に表示されているコンテンツで、ユーザーがどの部分をどのくらい見ているか・クリックしているかのデータをサーバー側で集計し、可視化する解析ツールを開発しています。

U:この解析ツールは、SaaSサービスとして販売される予定です。ユーザーに最適なコンテンツを抽出し、CDPを経由して最適化配信するマーケティング機能を備えています。また、UNCOVER TRUTHのコンサルティングサービスや、他のツールとAPI連携して活用することも想定しています。現在、2021年度上期中のリリースを目指して、進めているところです。

S:開発チームは、PM1名(インフラも兼務)、フロントエンド1名、バックエンド2名の4名体制です。私とUさんはバックエンドエンジニアとして、ブラウザから集積される大量のデータを解析できるように、データベースにデータを入れる工程を主に担っています。

より良い技術を柔軟に取り入れる、自由度の高い環境

ーーUNCOVER TRUTHの開発環境の特色は、どんな点にあると思いますか?

S:参画してまず驚いたのが、インフラがすべてコードで構築されていて、誰でもミスなく構築できるベースが用意されている点です。PMが非常に優秀な方で、ここまでやるべきなのか、と刺激を受けました。

あとは、制限が少なく、自由度の高い環境だと思います。自分たちで考えて、より良い技術や新しいサービスの導入を提案すると、柔軟に取り入れられる環境がありがたいですね。

例えば、当初はGCP(Google Cloud Platform)上でプロジェクトを立ち上げていたのですが、アーキテクチャを考え直した結果、AWS(Amazon Web Service)を利用するようになりました。開発の土台部分から考えられるのは、やりがいがあります。

U:AWS一択ではないのも、良い点だと思いますね。ビッグデータ解析には、GCPのBigQueryを導入していて、AWS、GCPそれぞれの良い部分を取り入れています。データのパフォーマンスチューニングの経験はそれなりにあるのですが、BigQueryは今回初めて使ったので、新しい発見が多くありました。

ーー新たに習得できたことは、何でしょうか?

S:今までクラウドやサーバーレスは色々使ってきましたが、このプロジェクトで初めて、コンテナに触れました。現在、コンテナ型アプリ実行環境のDockerを導入しているのですが、使ってみると、本当に便利なのを実感しています。

また、メンバーがそれぞれ自分で調べて「これ便利そうなんですが、どうでしょう?」と新しいツールやサービスの利用を提案し合う環境が、エンジニアとしてのスキルアップに繋がっていると思います。

U:私はこれまでバックエンド中心でやってきましたが、インフラやフロントの経験も積みたいので、自発的に手を挙げて、色々やらせてもらっています。

現在は、ReactやTypeScriptを自学しつつ、フロント周りの業務を通じて実践し、習得しているところです。経験の少ない領域にも幅を広げていけるのが、ありがたいですね。

ユーザー視点で、使いやすさに徹底的にこだわる

ーー自らの提案を起点に、改善できた事例があれば教えてください。

S:コンテンツ表示を分析するために、複数のブロックを切り分ける「コンテンツ分割」という処理があるのですが、当初この処理は非常に重たく時間がかかっていました。

そこで、AWSのECS(Elastic Container Service)というコンテナサービスを用いて、1本1時間かかる処理を、100本並行で実行することで30秒で終わる仕組みを提案し、改善できました。

U:私は「膨大なデータを取り込むため、集計画面の表示に時間がかかってしまう」という課題の改善に取り組みました。BigQueryで検索すると、比較的時間がかからないのがメリットではあるのですが、それでも1億レコードの読み込みで10数秒はかかっていました。

お客様が集計画面を開くたびに、10数秒待たなければならないのは、かなりストレスになります。そこで、キャッシュ機能を使って時間短縮することに。ただ、データが次々と溜まっていく状態では、キャッシュは効きにくいので、溜めるデータと見るデータの2つにテーブル分割する仕組みを考えました。結果、表示にかかる時間は3~5秒まで短縮され、大幅にパフォーマンスをあげられました。

ーーエンジニアとして、心がけていることは何でしょうか?

U:ユーザー視点はかなり重視しています。先ほどお話ししたデータ処理パフォーマンス改善も、「お客様はどう感じるだろう?」と想像しながら取り組んでいました。

「自分が担当している部分を作って、テストして、問題なく動けば完了」で満足してはダメだと思うんですよね。動作確認や画面確認を徹底して「もっとこうした方が使いやすいのでは?」と気付いた点は、チームの皆さんにもフィードバックしています。

S:Uさんはいつも積極的に意見を上げてくれていますね。そのおかげで、チーム内では、知識を結集して、より良い改善につなげていこうという空気が生まれていると思います。

主体的な開発をしたい人とともに、価値あるサービスを

ーー皆さん、フルリモートで開発を進めています。チーム内のコミュニケーションは、どんな感じでしょうか?

S:基本は、Slackでのやり取りがメインで、お互い気負わず、コミュニケーションができています。画面共有したり、詳細な打ち合わせが必要なときは、Zoomや音声通話を使っていますね。

U:参画した当初はわからないことが多かったので、よく質問していました。「テレビ通話でお願いします」と投げかけると、すぐ応じてくれるので本当に助かっていました。

S:行き詰まったとき、わからないときは、1人で抱え込まず、すぐにヘルプを出すことが大事ですよね。あと、想定より早く終わったときは「他にできる仕事はないか?」と投げかけたり。フルリモート環境の中でも、各メンバーがチームを意識して業務を推進していると思います。

ーーUNCOVER TRUTHのエンジニアとして活躍できるのはどんな方だと思いますか?

S:基礎的な部分として、「他者の書いたソースを読めるかどうか」つまりコードを解析するスキルは大事だと思います。加えて、個人で完結する開発ではなくチーム開発なので、メンバーで意見を交わしながら作っていくのが好きな人は、向いていると思います。

U:決められたものをただ作るのではなく、自分の意見を出しながら、主体的な開発をしたい人には、とても快適な環境です。常に先進的な技術にアンテナを張っている、「新しいもの好き」な人にも、面白いと感じてもらえるのではないでしょうか。

ーー最後に、お二人が今後目指す方向性について教えてください。

S:私はこれまで、C言語やRubyなど様々な言語を広く浅く経験してきましたが、中途半端にオールマイティ型でいくより、今後は専門を深めていきたいですね。現在はJavaScriptとPythonに絞って、開発力を高めたいと思っています。得意分野に磨きをかけて、この先も「ものづくり」を楽しんでいきたいですね。

U:私は、Pythonを深めつつも、バックエンド以外でも幅広く対応できるように、研鑽していきたいです。いずれは、個人でサービスを作ってリリースしたいという目標を持っています。

しかし今は何よりもまず、開発中のWeb解析ツールを「クライアントやエンドユーザーにとって大きな価値を提供できるサービス」にするため、最善を尽くしたいですね。引き続き、チームでいいものを作っていきたいと思います。

【プロフィール】

Sさん
新卒で半導体メーカーに就職。その後SIerに転職し、エンジニアとして、主に企業向け基幹システムの開発に従事。インフラ構築からスタートし、ソフトウェアやフロントの開発も手掛ける。2019年に独立後は、バックエンドからフロントエンドまで幅広く担当してきた。2020年6月、UNCOVER TRUTHにジョイン。

Uさん
SIerでシステム開発を10年ほど経験。自動車の組み込み系でC言語を、Webサイト開発でPHPのスキルを培う。その後、データサイエンス領域に興味を持ち、機械学習モデルを構築し、コールセンター業務の効率化を担うプロジェクトに参画。フリーランスになった直後の2020年10月、UNCOVER TRUTHにジョイン。

株式会社 UNCOVER TRUTHでは一緒に働く仲間を募集しています
今週のランキング
このストーリーが気になったら、直接話を聞きに行こう