Named Log

とあるエンジニアの歩み

「見える化」を新卒が進めたらいい感じに成長できた話

Ateam cyma Advent Calendar 2019、5日目です! 5日目は 株式会社エイチーム の19新卒エンジニア @NamedPython がお送りします。

見える化について話していきますが、この記事では「見える化を新卒が進めることによって得られるもの」について取り上げます。実際の手段であるところのBIツール「Redash」については、技術的な記事として書きます✏️のでお楽しみに!

早速ですが、みなさんの周りで「見える化」というワードはどのくらい出てくるでしょうか?

僕が新卒入社してcymaに配属されたタイミングから次第に「見える化」というワードが非常に多く出ていたタイミングでした。

見える化に必要となるデータの多くは、すでにデータベースに格納されているものが多かったため、

  • 何のために
  • 何を
  • どうやって

見える化するかを考える必要がありました。

目次

TL;DR どう成長できたのさ

話を長くしないために簡潔にまとめると、

  • システムのデータ構造を把握できていない
  • 事業の主たる指標を把握していない
  • SQLをあまり書いたことがなく、苦手意識がある

こんな新卒エンジニアが見える化を推進したら、

  • システムのデータ構造を把握できた
    • 💻 開発スピードUP
  • 事業の主たる指標や、その指標を見る背景を把握できた
    • 🧠 事業理解度UP
  • SQLの苦手意識がなくなった
    • 💪 弱みが一つなくなった

という風に成長できました。

挙げたものは、事業に長くいると自然に得られるものではありますが、始めて1, 2ヶ月ほどで得られました。 以降では、どういった要因で成長できるのかに分解して話していきたいと思います。

システムのデータ構造を把握できる

僕が開発に携わっている「自転車通販サイト cyma -サイマ-」は、通販とある通りECサイトです。販売する自転車情報の管理に加えて、自社で自転車の在庫🚲を持ち、工場で組み立て🔧、お客様の自宅まで配送🚚を行っています。

cyclemarket.jp

そのため非常に多くのデータが関連しています。入りたてのエンジニアがまず労力を割くのは

  1. データ構造の理解
  2. そのデータがどのようなロジックで管理されているかの理解

の順だと思いますので、その課題を早期に解決できるのは開発スピードに大きく影響します。

見える化は抽象、データ構造は実体

なぜ見える化がデータ構造の理解につながるかというと、「抽象を実体の組み合わせで実現するから」です。

例えば、「自転車の欠品率を時系列で見たい」という見える化の要望は抽象です。僕たちエンジニアの本質は、「いかに抽象的な要望を実体の組み合わせで実現(近似)するか」だと思うので、実体による実現を試みます。 データベースのどのテーブルを組み合わせて、どの条件で絞ると希望のデータが得られるのかを探しにいくわけです。それだけで済めば簡単です。

実際、見える化が進んでいないサービスや事業というのは、その集計の仕組みすら整っていない場合があります。例えば先ほどの例で言えば、「在庫のデータは日に一度集計してbicycle_stock_snapshotsというテーブルに格納しているよ」という現状を聞いたとします。在庫の状況は1日の中でも大きく変動するわけですから、「集計の頻度を上げよう」となるわけです。

この過程で、データ構造を早期に把握できるというわけです。

事業の主たる指標や、その指標を見る背景を把握できる

これは主導することの副次的な効果なんですが、事業内の各グループからの要望が自分に集まるので、「広告グループはどんな指標に注目している」、「仕入れグループはこんな指標に注目している」という情報が集まります。

併せて、「なぜその指標が見たいのか」・「その指標はどういう使われ方をするのか」まで注目していくと、自分の参画している事業が

  • どのようなグループによって構成され
  • どんな課題に直面していて
  • どう解決しようとしているのか

すなわち「事業の全体感」をつかむことができる、というわけです。

SQLの苦手を克服できる

これは僕個人が得たメリットの一つでしかないんですが、「SQLってなんとなく苦手なんだよなあ」という漠然とした感覚から抜け出すことができました。

これはBIツール「Redash」の恩恵とも言えるんですが、なんといっても楽しい

f:id:namedpython:20191204211747p:plain
Redashが楽しい

ああすれば見やすいかな、これもできるんだな、と触っていたら会社の中でも珍しいくらいRedashを使い倒していました😎。Redashの活用に関してはAteam cyma Advent Calendar 2019の別日で書く予定ですのでお楽しみに!

ここでの気づきは、単に手段として覚えるSQLよりも、目的達成のための手段としてSQLをやるのでは、吸収の速度や楽しさが圧倒的に違うことでした。

目的や理由づけをうまくやれば、なんでも楽しく身につけられるんじゃないかという予感がしています。

まとめ

まとめはTL;DRにあるとして、新卒の動きとしてこういうのもアリですよ!という話でした。

もちろん、見える化は事業のフェーズに応じて必要/不要や、その形が変わってくるので、手段等もフレキシブルに対応する必要があるでしょう。

それでは皆さんも Let's 見える化、あと Let's Redash

おわりに

Ateam cyma Advent Calendar 2019、5日目いかがでしたか? 6日目はどんな仕事でもすごく楽しそうにこなす @tsutorm が ためになる...かもしれない 記事を書かれるそうですので、お楽しみに!

株式会社エイチームでは、一緒に働けるチャレンジ精神旺盛な仲間を募集しています。

エンジニアとしての働き方に興味を持たれた方はcymaのQiita Jobsをご覧ください。

そのほかの職種は、エイチームグループ採用サイトをご覧ください。