見出し画像

anti_stylishさんインタビュー

anti_stylishさんの略歴

anti_stylishさん
文系大学の出身でして、たまたま時間あわせで参加した会社説明会で、IT業界に入りました。
当時のスキルとしては、平均的な文系大学の学生、というレベルで、特別なにかスキルがあるとかはありませんでした。
会社はBI系のシステムの構築をしている会社でした。多くの同期は画面側をやりたがる人が多かったのですが、オレはDB側に回りました。
僕が選んだと言うよりは、上司がそちら側だったので、その人の弟子のような扱いでそっち側に特化をしていった感じですね。
それなりにDWHに関する適正があったので、それなりに重宝されていた思います。ぶっちゃけ、誰もDB周りをやらなかったのでオレと上司の所が駆け込み寺という感じでした。
あ、マイナーな用語を使ってごめんなさい。DWHのほうは用語として大丈夫ですか?

anti_stylishさんのインタビュー

――私も文系でスキルがないのでよくわかります。BIツールの「BI」とは、「ビジネス・インテリジェンス(Business Intelligence)」を意味らしいですね。
DWHはデータウェアハウスでしたっけ。

業務に使うデータベースではなくて、分析の用途の為だけのデータベースと思って貰えれば結構です

――存在は知ってるのですが、どんなものなのかは知らないです。私もDWHエンジニアの方とお話するのは初めてです。DWHといえば大容量使ってるな、みたいな感覚です。実際どんなものなのでしょうか。

業務システムからデータをかき集めて二重持ち状態なので、DBより大容量になります。
なので、どの期間を持つのかとか考慮が必要ですし、大量に分析する場合は負荷がデカくなるので、分析特化型のテーブルに作り直したりとかするわけです。
そのあたりが通常のDBと持ち方が違ったりして、経験があるとかえって苦労する部分らしいですね。

――なるほど思想が普通のDBと全然違うんですね。じゃあ、その設計はどうやってやるんですか?

先ずは「お客さんが何を分析したいのか?」の特定ですね。それができてなかったら結構頭を抱えます。
その次は、その分析をやるためのデータがあるのかの調査になります。
要は「支店毎の年間売上」を分析したいんだったら、当然日付付きの売上データ、それに紐付く支店のデータが必要になる訳です。
さらに、営業部が分かれている場合、そこは統合するの?課ごとにわけるの?とかいろいろと細分化されていきます

――なるほど。「日付付きの売上データ」がないとやりたいことができないわけだから、必要なデータを取ることから設計することもあるんですか?

逆にその辺がメインになると思います。(僕の経験した現場はそうです)
無い場合は、みなしでやる方法を試したり、今後は業務システムにカラムを増やして連携してね、ってなることもありますね。
見なしでやる例としては、この取引先は、××支店という紐付けテーブルと作るという荒技ですね。データを作らなければ分析ができないので。

――機械学習のデータ集めと似たようなつらみを感じますね・・。お客様自身が要件出すときに何がしたくてどんなデータが必要で、どんなデータを出せるのかわかってれば話が早いってことですね。
それがなければ、そこを作ることからだから大変ということで。

ですです。

――DBとかSQLとかの知識も必要なんですよね。思想が違うだけでDBの一種?みたいに思ってたのですが。

DBの一種という認識で問題ないですよ。MySQLでもDWHは作れますし。DBの知識はそこそこで大丈夫で、SQLを書ければ大概どうにかなります
ただ使っているデータが莫大なので、変なSQLを考え無しに投げると「あの日投げたSQLの結果を僕たちはまだ知らない」という状態に。

――怖い。桁違いにでかいわけですから、投げた問い合わせの結果がなかなか返らないわけですね。

昔使った某DWH特化型DBは全力でSQLを実行してハングアップした事もあります。中止命令さえ受け付けてくれない。
お客さんに電話して、謝って、サーバー再起動です。流石にその辺はシステム開発時なので影響はなかったのが救いですが、DWH再起動するとBIで使用してる人たちにダイレクトに影響があります。

――DWH一筋で長いのですか?

8年やりました。そのうち6年が新卒で入った会社で、残りがフリーランスでした。とてもニッチです。2年目からDWHの設計をやっているとか訳の分からない人間だと思います。
ニッチすぎて転職するときは難しかったですね。何処の会社もDWHエンジニアの募集とかまず無いし、書いている経歴を凄く疑われました。

――確かに求人は見たことないですが、なんで疑われたんですか?

テーブル設計と要件定義を2年目からやっていたりとか、やたら高いDWH特化型のシステムばっかり作っていたりとか、冷静にみると疑われても仕方ないです。
そんなこんなで諦めかけていたら、フリーランスを進められてフリーランスになった感じですね。フリーランスになってからは結構気軽でしたねー。嫌な案件は断っていいし、お客さんもそれ専門の人として扱ってくれるしで。ぶっちゃけ、DWHエンジニアとか必要なときだけいれば困らない人間なので、フリーランスくらいが企業的にもちょうどいいのかなと思いました。

――今は何をされてるんですか?

今は実家の農業を継いだ感じですねー。DWH的な分析を行かせたら面白いかもなぁと思っていたけど、手が回らない状態です。PMをアサインしてほしいです。WBS的な価値観が0なのがやっていて怖いところがあります。

――それはどういう意味ですか?

晴れたからこれやろう、明日の天気をみて考えよう、この辺でこういうことやろう、とかざっくりしたスケジュールで動くんです。要するに、計画性がファジーなんですよね。全く無いわけではないんだけど。
自分の立ち回り自体はIT系の頃と変わってない感じですね。
ヤリながら分からないことを調べる、専門書を読む、同業者の勉強会に参加とか、エンジニアと同じことをしてます。

――エンジニアと同じ勉強方法ですね

農家って勉強しないんですよ。古い理論とどこからか流れてきた情報と経験で動きますから。勉強は必要だと思います。
そういう意味では、ITエンジニアも若い子達には色んな勉強会とか言って欲しいかなって思います。特にニッチな分野の人ほど行くべきです。会の相性とかはあるけど、色んな人と知り合えたり、有名な人が参加してたりします。
ポスグレのDeveloperが参加してきたこともありますし。

――ちなみに、コードが書けない人のキャリアということでは、何か意見がありますか?

個人的にはコードが書けないと言うことはマイナスにはなっても、プラスにはならないだろう思っています。
だからこそ、コードを書かないキャリアを目指すのであれば武器を磨き続けるというのが必要になります。そして、自分の武器を正しく認識することが大切です。
昔、「お前の武器って何よ?」と聞かれたときに「SQLです」って答えて鼻で笑われました。
後から思い返せば「データモデリング」と答えたかったのですが、その言葉を知らなかったのです。
(SQLでデータを加工して、データを作成していたのでSQLこそが武器だと思っていました。SQLに落とし込むための処理設計ができる、というのが自分の武器だと気付くのには時間がかかりました)
自分の武器を自覚して、その上でそれが他に使えないか、と考え準備する。
それがコードを書かないでやっていくために大切なことなのかもしれません。

――SQLも決して鼻で笑われる特技ではないと思います。今日はありがとうございました。

この記事が気に入ったらサポートをしてみませんか?