新卒がde:code2019に行ってみた

de:code振り返り

はじめまして。今年の4月に入社&上京した新卒の田村です。今年の夏はサーフィンを始めようと考えているのですが、身体がだらしなさすぎるので先日ジムに入会しました。 東京のご飯が美味しすぎるのが悪いですね。東京のせい。

さて、先日Microsoft主催のde:codeというカンファレンスが催されました。 幸運なことにそれに参加する権利をいただけたため、簡単ではありますが、面白かったセッションの振り返りをしたいと思います。

HoloLens2

今回のde:codeで最も心が揺さぶられたのが、HoloLens関連のセッションです。 僕はde:codeの会場で初めてHoloLensという存在を知り、HoloLensが見せてくれる未来感に興奮しました。 「これあればトニー・スタークになれるやん」と心から思い、映画の中にしか無かった未来がもうそこまで来ていることを肌で実感しました。

HoloLens2がどんなにすごいのかはこの映像を見てもらうのが一番てっとり速いかもしれません。

youtu.be

youtu.be

どうでしょう。すごくないですか。僕はワクワクしっぱなしでした。 HoloLens2に関するセッションにも参加したのですが、HoloLens2はホログラムを自在に操ることができるようです。

f:id:open8tech:20190730134903j:plain f:id:open8tech:20190730134944j:plain f:id:open8tech:20190730135005j:plain

以上のように、本当に物体がその場にあるかのように操作することができるのです。 ハードをいじったことのない僕からすると理解不能です。なんでこんなことができるんだろうって感じでした。工学部は偉大。

これをHoloLensは主にファーストラインワーカーへのインパクトを期待しているため、弊社のような企業で導入するのはなかなか難しいかもしれません。しかし、弊社のルトロンは「体験」をキーとしているメディアであるため、イベントなどでHoloLensを使い、コスメや服などの仮想展覧回などができるかもしれません。1台39万円程度するため、個人で購入することが難しいので、会社で購入してもらって開発したいなぁと思う日々です。

HoloLens体験

会場では実際にHoloLensを体験できるブースがありました。 最新のHoloLens2の体験は完全に抽選になっており、だいたい5〜10%程度の当選率になっていました。 残念ながら僕はハズれてしまいましたが、現行版のHoloLensを体験することができました。

いくつかある体験ブースの中で最も人気だったのが、トヨタのブースでした。 会場にはプリウス実車が運び込まれており、車体をHoloLens越しにみるとプリウスの内部構造を見ることができるという体験でした。 プリウスハイブリッド自動車なので、車内に蓄電装置が搭載されています。本来、その蓄電装置を一般の人が見る機会は殆どないのですが、HoloLensを使うと、その蓄電池がホログラムとなってプリウスの中に現れます。 このホログラムは本物の物質のようにそこに存在します。自分が移動してもホログラムは常にその場所にあり、前、横、後ろと様々な確度から観察することができました。 驚愕の体験でした。そもそもどうやって蓄電装置の位置を決定しているのか疑問に思い、質問してみたところ、車のバンパーを基準にして人力で位置を調整しているようでした。 さすがにそこはまだ手動なのですね。

しかし、この技術を使えば整備士の仕事の効率が格段に上がるのではないでしょうか。 車の情報がインプットされたHoloLensを使えば、設計書がその場に無くても、視覚的に、もっと言うなら体験的に車の構造を認知することができます。 更に構造を見ている間も両手は空いているため、かなり作業効率が上がるのではないでしょうか。実際に今年からHoloLensがトヨタに導入されるとのアナウンスもありました。HoloLensがあればファーストラインワーカーの仕事に革命が起こるのではないでしょうか。

サーバーレスなスマートスピーカー

初めてちょまどさんを生で見ました。de:code参加直前にちょまどさんの存在を知り、ちょうどサーバレスに興味があったので、このセッションに行きました。参加者も多く人気のセッションでしたね。文系出身→SIer3ヶ月で退職→AndroidIOSエンジニア→Microsoftという経歴の持ち主であり、文系出身&SIer内定もらっていた身としては親近感を覚えました。

さて、肝心のセッションの中身なのですが、主に、スマートスピーカーのバックエンドとしてAzure Functionsを使うという内容になっていました。 一問一答のために用意された回答をスマートスピーカーに登録するのは簡単です。しかし、そんなのは全くスマートではありません。 もっとスマートにスマートスピーカーを使うために、バックエンドを作り、Microsoft製品であるOffice365と連携してビジネスに活用していこう、というのがセッションの主な内用でした。

f:id:open8tech:20190730135045p:plain

Azure FunctionsはMicrosoftが提供しているFaas(Function as a Service)です。いわゆる「サーバーレス」というものですね。Azure Functionsを使う上で、使用者が考えるべきことは眼前の問題を解決する関数(コード)だけです。慣れていない人からしたら小難しく思えるインフラ周りのことはほとんど気にする必要がありません。さらに料金形態もシンプルで、コードが実行された時間に対して料金を払えばいいだけです。Paas(Platform as a Service)のようにRequestを待機するためにサーバを起動しつづけて、その待機時間分の料金が取られるということがありません。似たようなサービスとしてAmazonが提供しているAWS Lambda(以下Lambda)があります。

以前から「サーバーレス」という言葉を耳にしたことはあったのですが、その実態をこのセッションで始めて知りました。ただ、注意したいのは本当にサーバーが"存在しない"わけではないという点です。サーバーのインフラ周りを"考慮する必要が無い"という意味でサーバーレスと呼ばれているようです。勘違いしないようにしなくてはなりません。

構成図のAzure Functionsの右側に配置されているアイコン、GraphAPIはMicrosoftのサービスリソースへのアクセスを可能にするRESTful Web APIです。そのためGraphAPIを使えば容易にOffice365のデータにアクセスすることができるようになります。 スマートスピーカーをよりスマートにするために、Azure FunctionsとGraphAPIを活用してOffice365と連携しようという内容だったのですが、実装する際には本当に関数だけに集中すればいいので、割と簡単に実装できるようです。

帰ってすぐに実践したいと考えたのですが、僕はスマートスピーカーもなく、Azure関連のサービスを使ったことがありませんでした。しかし、僕にはSlackとAWSのアカウントがありました。先にもちらっと紹介しましたが、AmazonもLambdaというFaasを提供しています。Slackにはアプリ機能があり、自分でSlackを拡張することができます。これだと思い、僕はLambdaを使ってSlackを拡張することにしました。

弊社では日報をDocBaseで提出することになっています。そこでSlackから日報を提出する機能を作ろうと考え、実装しました。LambdaはSlackとDocBaseの橋渡し的な存在で、SlackからのRequestをそのままDocBaseに渡し、DocBaseからのresponseを成形してSlackに返すというシンプルな構造です。

Lambda自体触るのが初めてだったのですが、設定が終われば後はコードに集中すればいいので割と簡単に実装することができました。インフラ周りを考えなくていいのは本当に楽ですね。しかし、まだエンジニア歴3ヶ月程度の僕がこれに慣れてしまうのもいかがなものか、という気も少ししました。まぁ今回みたいな簡単な処理を行いたいだけだったり、バッチ処理を流すためにインスタンスを叩かせるとか、ちょっとした機能がほしいけどわざわざサーバ立てるのも馬鹿らしいという場合にはちょうどいいのではないでしょうか。

エンジニアのキャリア

澤 円さんの公演でした。de:codeのこのセッションで初めて存在を知ったのですが、とても面白い(interest)方でした。まさかの澤さんも文系出身。エバンジェリストは文系出身の方が多いのでしょうか。このセッションは最終日の最後のセッションということもあり、かなり多くの人が参加しており、立ち見の人の数も凄まじかったです。

さて、肝心のセッションの内容についてです。澤さんの社会人としてのストーリーを語りつつ、自分の身を置く場所についての話になりました。適材適所に通ずる話ですね。 最も印象的だったのが、この表です。

f:id:open8tech:20190730135118p:plain

社会人であれば、会社から何らかの役割や仕事を与えられ、その仕事に従事するはずです。仕事をこなしていくうちに、嫌でも自分ができるとか、自分はできないとかいう感情を抱くことになります。その状態を表にしたものが、上の画像です。

言うまでもなく最も良いのは右上の「"賢い"かつ"速い"」です。ここにいる人間は、個人として会社に評価されるだけではなく、「組織全体を引き上げる上昇気流」を作り出します。周りの社員のロールモデルになることで下が育っていくわけです。 では、右上以外の箇所にいる人間はどうなるのでしょうか。その人はダメな人間なのでしょうか。

澤さんはそれを否定しました。仕事ができないの主語は「あなた」ではなく「今ここで仕事をしている状態」だと。de:codeという舞台でセッションを開く澤さんでも、向いていなかったエンジニアの仕事をさせれば「"愚か"で"遅い"」になってしまいます。これはキャリアを積む上で非常に大切な考え方で、自分の居場所やあり方を選べば、誰でも「"賢い"かつ"速い"」になることができるのです。 キャリアで悩む人はたいてい主語を自分にしてしまって苦しむパターンが多いので、そうならないように注意する必要があるとも話されていました。

では、どうすれば「"賢い"かつ"速い"」になれる居場所を見つけることができるのでしょうか。 そのためには自分がどうありたいのかを言語化していくことが大切だと話していました。誰しもこうなりたいという願望はあると思いますが、それを上手く言語化できてる人は少ないでしょう。 ちなみに、「"愚か"で"遅い"」になる簡単な方法も紹介していました。それが睡眠不足です。

f:id:open8tech:20190730135201p:plain

誰もがパフォーマンスを上げるために今できる改善が睡眠だそうです。 話を戻しますが、自分を知るためには行動が大切です。ここでは2つのやり方が紹介されました。

・レジュメを書く
日本語で言う履歴書です。転職するしないにかかわらず、全員書くべきだとおっしゃっていました。 レジュメを書くことで、今の自分の経験値を言語化することができます。1回書いて満足するのではなく、定期的にレジュメを更新すべきだそうです。

・リクルーターと会う
転職するしないにかかわらずリクルーターに会うべきだとおっしゃていました。リクルーターに会えばIT業界の人材の流れや、自分の市場価値を知ることができます。 先のレジュメ作成と合わせて、行うのが良いそうで、レジュメ作成=問診票、リクルーターと会う=健康診断、だそうです。人間の身体と同じで、キャリアも定期的に健康診断を受けましょうということですね。

以上の話が、澤さんのセッションで印象深かった箇所です。転職するしないにかかわらず、レジュメを更新してリクルーターと会うっていう発想は全くありませんでした。主語を自分じゃなくて、状態にするという考えも良いなと感じました。今後「仕事全然できないなぁ。ダメだなぁ。」と思うこともきっとあるでしょうが、主語を自分にしないように注意します。「自分ダメだなぁ」と思ってしまうと精神的にもキツくて、何やってもダメみたいな気持ちになってしまいそうですし。十年一昔ではなく、一年一昔というIT業界で長く活躍できるためにも、定期的に健康診断を受けていきたいと思いました。数年後にはアラサーなので身体の方の健康診断も必ず受けるようにします。

最後に

入社して2ヶ月でde:codeという大きなイベントに参加することができて本当に幸運だと感じています。今回紹介したセッション以外にも2日間びっちりセッションを聞いて回ったのですが、この経験はエンジニアとしての技術も未熟な僕にとって、知見を広めるとても良い機会でした。何が一番心に残ったかと言われると、僕の脳みそは単純なので「HoloLensの体験!」思ってしまうのですが、ITに携わるものとして、大きな発表を知ったり、最新技術に触れたりするなどして、ワクワク感、やる気を得られたのは自分にとって大きな収穫だったと思います。