Developers Summit 2020 1日目の感想

Developers Summit 2020 2日間とも行ってきました!

忘れないうちに感想を書いておこうと思います。


概要

公式ホームページはこちら。2/13(木)と2/14(金)の2日間開催です。

6セッションぐらい並行して開催しているんですが、どの会場も満員になるくらいたくさん人が来ていました。企業ブースもたくさんあって活気がありましたね。

人口密度が高いのと、行き帰りが通勤ラッシュ時間帯と重なる時間のこともあり、暑いと感じるときが多かったです。上着で温度調整できるようにしておくと良さそうです。

参加したセッション

1日目は以下のセッションに参加しました。

10:00~10:45 ITがモビリティを創る:MaaSに向けた技術とエンジニア像

11:05~11:50 アプリケーションやシステムが悪い奴らに攻撃されたらどうなる?

12:10~12:40 noteの決して止まらないカイゼンを支える、エンジニアリングへの挑戦

13:05~13:50 質とスピード

14:10~14:55 Best Practices In Implementing Container Image Promotion Pipelines -知っておくべきコンテナイメージ・プロモーションの方法

15:15~16:00 礼節から育てるチームの健康と信頼性

16:20~17:05 InterSystems IRIS Data Platformで高度なデータ分析のための基盤を整備しよう

17:25~18:45 「ITエンジニア本大賞 2020」プレゼン大会

セッションの感想

個別のセッションの感想です。

ITがモビリティを創る:MaaSに向けた技術とエンジニア像

これは標題の内容から想像する以上に面白かったです。

私たちが普段旅行するとき、乗換案内アプリで調べて、JRのアプリや航空会社のアプリで切符を買って、地図アプリの道案内を活用して……

のように様々なアプリを別々に使いこなすのが当たり前で、それを不便にも感じてないわけです。(少なくとも私にとっては)

ただ、これらをワンストップで提供するアプリが国内外問わず出てきているというのは面白いと感じましたね。世の中ここまで便利になるか……と

また、交通機関のデータ整備の話も非常に興味深かったです。

GTFS形式という交通機関の時刻表や地理情報を表すデファクトスタンダードの形式が、日本でも国土交通省が関わって導入が進められているようで。

地方のバスなど、大手の乗換案内アプリではカバーしきれないところでも

GTFS形式のデータをフリーで提供する流れが広がっているようです。

データはRDBなどに流し込めば、SQLを通じて結果が取得できますしこれがあればいろいろなアプリが作れる、という夢が広がる内容でしたね。

アプリケーションやシステムが悪い奴らに攻撃されたらどうなる?

こちらはセキュリティを意識した開発プロセスの話がメインでした。

OSSなど、様々な製品を複数組み合わせて開発するのが今や当たり前になってきているわけですが、製品が増え、コード量が増えれば増えるほどその中に脆弱性が潜んでいるリスクは高くなります。

もちろん、自分のコードに脆弱性が混入しないようにセキュアプログラミングをするというのも大事なんですが、こういうOSSなどの製品についても自分がいま何を使っていて、どういう脆弱性があるのかというのを日々キャッチアップする必要性を痛感しました。

開発初期からどの工程においてもセキュリティを意識することが大切で、それが結局手戻りを防ぐというところは確かにとうなずく内容でしたね

noteの決して止まらないカイゼンを支える、エンジニアリングへの挑戦

noteの開発では役割ごとにチームが3つに分かれているそうです。

基盤チームはその名の通りデータ基盤や課金基盤などの基盤部分を担当し、リリースサイクルは長期になる傾向がある。

機能開発チームはnoteの主要機能の開発を担当していて、リリースサイクルは3ヶ月ぐらい。

そして、カイゼンチームは高速でPDCAをまわして様々な施策をリリースするチームで、リリースサイクルは最長でも2週間くらい。

この役割分担は面白いなと思いましたね。自分のチーム・組織でもやったほうが良いけど、忙しさから後回しになってしまう案件というのがたくさんあるわけですが、そういう後回しになったやつっていつまでもやらない傾向があります。明確に役割分けたら確かにそういうものは減りそうです。

最近、自分のチームの仕事の進め方がうまくいってないなと感じる部分が多くてこういう組織構成だったり開発プロセスだったりの話は少しでも参考になる部分がないかと、前のめりに聞いちゃいますね。

発表者の方がnoteでスライドと説明を挙げているので、詳しい内容はこちらを参考にしてみてください。

質とスピード

薄々わかってはいたけど、直視したくなかった現実をグサグサと突きつけられる切れ味するどいプレゼンでした。この日一番印象に残りましたね。

核となる主張は質とスピードはトレードオフの関係じゃない、ということで一方を犠牲にすると、他方も犠牲になるということです。

これは本当にそうで、スピード重視であとでリファクタリングして綺麗にすれば良いやと思ってリリースしても、実際それを綺麗にする機会って作れないんですよね。どんどん案件は降ってくるし、リファクタリングのためだけの時間なんてなかなか確保できない。

そして、汚いコードを書いてしまったことによる、保守性・可読性の低下が後々足を引っ張っていく……これ、ある程度開発経験のあるエンジニアなら誰もが大なり小なり心当たりがあるんじゃないでしょうか。

結局品質の高いコードを書くことが、手戻りを防ぎ、変更が容易になることでスピードも得ることができる方法なわけです。

ただ、時間をかければ品質の高いコードを書けるか、という問いについても自分の持っている技術力以上の品質のものはいくら時間をかけても出てこないという現実を突きつけられてまたグサリ……

日々の勉強の大切さを痛感しますね。

エンジニアの質を高める方法として、自分の作ったシステムを自分で長期にわたってメンテすることが推奨されていました。自分がした設計の拙さがダイレクトに自分に返ってくるということで、(大変ですが)貴重な経験を得ることができそうです。

Best Practices In Implementing Container Image Promotion Pipelines -知っておくべきコンテナイメージ・プロモーションの方法

Dockerfileってほとんど書いたことないんですが、いつでもどこでも同じ環境がすぐ作れる、というコンテナに持っていた印象からだいぶ違うんだなということがわかりました。

バージョンを固定しても、同じバージョンでセキュリティパッチが当たることがあるから完全にバージョンを固定するにはバイナリをそのまま持っていくしかないと言っていました。

普段コンテナをあまり使ってないので、正直わからない話も多かったんですがコンテナも夢のツールではないんだなとわかっただけでも収穫でした。

礼節から育てるチームの健康と信頼性

チームとして成果を出すために重要なこととして「心理的安全性」をクローズアップして解説していました。そして、心理的安全性の醸成に不可欠な要素としてTeam Geekで紹介されていた、Humility、Respect、Trustを挙げていました。

Team Geekは今まで何度か評判は聞いていて、いつか欲しいと思ってはいたんですがまだ読んでないんですよねぇ……人間関係には自分もすごく気をつけていて、納得いく内容なのでぜひ読んでみたいです。

このプレゼンではこの考えをさらに推し進めて、礼節を持って人と接するのが大事とまとめています。チームメンバーに対しても、敬意を持って接することが大切であるということです。

心理的安全性の誤解として、正しければ何を言っても良いと思われることがあると述べていましたが、これも礼節に沿って考えれば誤りであるとわかります。

正しいことはそれだけで強いので、なおさら言い方や礼儀を考えないといけない、というところはなるほどと思いましたね。

自分もすごく優秀な方と同じチームになる機会があったんですが、自分としては正しいと思っても、優秀な人の目からみたら間違っているんじゃないかと悩んでしまってなかなか言い出しづらかった経験があります。(指摘してもらえるのはチャンスだと思って最近はむしろ積極的に言うようにしています)

InterSystems IRIS Data Platformで高度なデータ分析のための基盤を整備しよう

インターシステムズさんから自社製品の紹介がメインの内容でした。恥ずかしながら初めて聞く社名だったんですが、設立当初から1つのコア技術をずっと育ててきたそうで、すごいなと思いましたね。ITは特に技術や周辺の環境の変化が激しいですから、数十年もの間メインに据えられる技術を持っているというのはすごいことです。

内容としては機械学習を進めるうえでの問題点をIRIS Data Platformがいかに解決してくれるかというもので、単一でスケーラブルなデータプラットフォームで複数言語間での相互運用性やメッセージの流れを視覚的に追えたりするなどの機能がデモを交えながら紹介されました。

後半では機械学習をそこまで勉強していなくても、簡単に触れる製品としてIntegrated MLという製品を紹介されていました。SQLライクな文法で機械学習のタスクを実行可能ということで、興味深い製品でしたね。

「ITエンジニア本大賞 2020」プレゼン大会

ITエンジニア本大賞は翔泳社さんが毎年やっている、その年で最もおすすめの本を選ぶイベントですね。イベントの公式サイトはこちらです。

私も投票したので、プレゼンもぜひ聞いてみたいと思って行きました。

技術書部門、ビジネス書部門でそれぞれ3冊選出されて、その本の関係者(著者であったり、編集者だったり、翻訳者だったり)が5分間、本の内容をプレゼンするというものです。

自分が読んだ本も半分くらいあったんですが、むしろ読んでない本のプレゼンがうまくてぜひ読んでみたいと思いましたね。

例えば『Kaggleで勝つデータ分析の技術』はデータ分析コンペのノウハウ集のような本で、私もこのイベントで初めて知ったんですがプレゼンでいろいろデータ分析コンペの素晴らしさを聞いてみると興味が湧いてきましたね。

スコアや順位で明確に結果が示される、ぐだぐだ言わずに結果で示す精神を学べるなど厳しくもありつつ、自分の成長がダイレクトにわかる面白さは私が学生時代に勉強した数学でも同じようなことを思った覚えがあります。

また、ビジネス書部門の『プレゼン資料のデザイン図鑑』は実用的なスライドのデザインがBefore, After形式でたくさん紹介されていて、みているだけでわかりやすいデザインが学べそうな内容でした。

最後はプレゼンを聞いて大賞の投票を行いました。読んだことある本も無い本もあったので、純粋にプレゼンを聞いて読みたくなった上記2冊の本に私は投票しました。

自分が読んだことのない本にも興味がモテる良いイベントだったと思います。

1日目終了!

こうやって振り返ってみると、内容盛り沢山ですね。終わってから疲れでクタクタでしたが、まだ2日目がある、ということで次の記事に続きます。(執筆中)


サポート頂けたら大変励みになります。よろしくお願いします。