Unipos engineer blog

Uniposの開発者ブログ

AWS DevDay Tokyo 2019 に参加してきました #AWSDevDay

Fringe81 エンジニアの遠山です。 2019年10月3日 (木)〜 10月4日 (金)に神田明神ホールで開催されたAWS DevDay Tokyo 2019に参加&登壇してきました。

f:id:fringeneer:20191004125124j:plain

AWS DevDay Tokyo 2019

AWS DevDay TokyoはAWS Japan社が毎年開催している開発エンジニアのためのカンファレンスです。ソリューションアーキテクトによる実践的な内容の紹介や実プロダクトでのAWSの活用事例、さらにはエンジニアの組織論/キャリア論までと幅広いセッションが用意されており、普段AWSを利用しているエンジニアには必見のカンファレンスです。

今回CfPに応募して、幸運にも公募セッションに採択されたので私も登壇してきました!

以下にその内容といくつかセッションをご紹介します。

Step Functionsを使ったバッチ基盤を考える

f:id:fringeneer:20191006154037j:plain

弊社内の最近の事例をもとに、広告配信システムでバッチ開発をしてきた中で感じた一般的な課題感と合わせて、サーバレス化が一つの答えになるという内容でお話させていただきました。 詳しい内容はスライドでご覧頂ければと思います。 (アナウンスは無かったように思いますが、本イベント資料が全て公開されたようです)

aws.amazon.com

イベントでの登壇は初めてでしたが、スライドを作ってみると自分の中で曖昧だった部分が明確になったり、伝え方の工夫を考えたりと、得るものの多い経験になりました!

ゼネラルセッション

初日午前中のゼネラルセッションは、Rubyの父として有名なまつもと ゆきひろ氏と納品のない受託開発で有名なソニックガーデン社の倉貫義人氏のセッションとパネルディスカッションでした。

まつもと ゆきひろ氏のセッションではRubyの紹介から始まり、技術選択をするときに何を判断とすべきか等の幅広いテーマで開発者に向けて今後指針となるお話をされていました。 特に技術選択をする際には生産性を考慮すること、またエンジニアとして判断を人に任せないこと、判断を人に任せない環境をつくることが重要とのお話は心に残りました。

倉貫氏のセッションでは自身がソニックガーデン社を創った際のお話から始まりソフトウェア開発の本質等、こちらも同様に幅広いテーマで、開発者に向けて力強いメッセージ性のあるお話でした。 制約条件の中で実現できることを考えるのではなく、実現するためには、どのような制約条件が必要なのかを考えたほうが良い等や、進化は未来は自由になる方向に進んでいくお話等が特に印象的でした。

AWSの「隙間」を埋める隙間家具OSS開発

カヤック社の藤原俊一郎氏のセッション。PerlやGoで有名な藤原氏OSS開発について語るセッションでこちらも非常に楽しみにしていたセッションでした。

マネージドサービスは初期はコアな機能のみで提供され、色々と便利な機能が足りていないことが多く、その間隙間が空いたままとなる。その隙間を埋めるのが隙間家具OSSだ!として定義して、そのようなOSSを作る意味、作る際に注意すべきことについてのお話でした。

マネージド・サービスの運用は自動的に強化されていくが、自前運用の場合は自動的に強くならないので、マネージド・サービスを活用したほうが良いお話等、確かにと思わされるお話が多かったです。

隙間家具OSSを作る際のコツとして、ユースケースを絞った汎用性を意識することで、例えマネージド・サービスに機能が追加され、そのOSSが不要になったとしても別の箇所で活用できるお話や機能が追加された際にきれいに取り外せる設計を意識することが重要等、今後同様のツールを作成する際に参考になる話が一杯でした。

紹介されていたssmwrapについて、開発でちょうど悩んでいた部分だったので、弊社内でも利用しようと思います。

github.com

その他

今回、神田明神ホールで開催されたこともあり、アンケートに答えると神田明神のIT情報安全祈願のお守りを頂けました。私もちゃっかりアンケートに回答し、ゲットしました! 神田明神が会場というのはなかなか無い(ですよね?)ので面白かったです。どのような意図でここにしたのか、聞いてみたいですね。。

f:id:fringeneer:20191006152410j:plain

その他、セッション以外ではAlexaやRoboMakerの展示もあり、AWSにどっぷり浸かることができるカンファレンスでした。

f:id:fringeneer:20191006153932j:plain

PyCon JP 2019に参加してきました

データ分析、及び機械学習の開発を行っている長谷川水谷です。
9/16(月)-9/17(火)に開催されたPyCon JP 2019に参加し、長谷川がライトニングトーク、水谷がポスターセッションで発表を行ってきました。

f:id:fringeneer:20190919150129j:plain

PyCon JPとは

PyCon JPはPythonに関する日本最大級のカンファレンスです。普段業務や趣味でPythonを使用する人々が集まり、さまざまな分野での活用方法や知見を交換し、交流する集まりです。
今年のテーマは「Python New Era」。令和になって初のカンファレンスであることと、来年でPython2のサポートが終了することから、時代の移り変わりを反映したテーマになっております。

各自の発表内容

長谷川は、CfPが無事通り、エンディング前に行なうライトニングトークの一つとして、登壇してきました。

f:id:fringeneer:20190919144400j:plain

発表のテーマは「Pythonで、処理をより効率化するためのTips集」で、普段業務で行っている広告配信の機械学習システムをより効率化するための方法についてです。

水谷は「VS codeとPyrightで始める型のある生活」と題してポスターセッションで参加させていただきました。

f:id:fringeneer:20190919150812j:plain:w400

当日見に来ていただいた方ありがとうございました。たくさんディスカッションもできてとても楽しく、タメになりました。
型について気になっている方は一定数いるんだなぁということを感じることができて嬉しかったのと、Type Hintに関して触れているセッションなどもいくつかあったのでPython2系のサポートが終わったらこの分野も盛り上がっていきそうだなという感触を得ました。

興味深かった発表

2日間で多くのセッションがありました。
そのなかで長谷川と水谷が特に気になったセッションをいくつか紹介させていただきます。

PythonとAutoML

サイバーエージェントAI Labの芝田将さんのセッション

www.slideshare.net

Cloud AutoMLなど、知見がなくとも機械学習モデルの構築が行えるマネージドサービスが台頭してくる中で、誰でもある程度の精度のモデルを作るのが容易になっている反面、中身がブラックボックスになりがちなAutoMLの要素技術について、「パラメータ最適」、「特徴量作成(選択)」、「モデル選択」の観点に分け、応用されている技術や今ホットな話題について発表されてました。
技術ごとに、土台となっている理論、おすすめのライブラリ、ハマりどころについて非常にわかりやすく丁寧な内容で発表されており、多くの知見を得ることができました。

Pythonで始めてみよう関数型プログラミング

SQUEEZEの寺嶋 哲さんのセッション

寺嶋さんは、すごいHaskell本を原書で読む会を主催されており、発表では前提知識がなくとも、関数型言語の有用性がわかりやすく解説されていて、関数合成、パターンマッチ、モナドなどの代表的な機能に沿って、どのようなライブラリを使えばそれらの機能が実現できるのかについて発表されていました。
ライブラリごとの特性や簡単な使い方が理解できたので、実際に試してみて、もし有用な場合は、プロダクトに積極的に導入していきたいと思いました。

【基調講演】Pythonで切り開く新しい農業

www.youtube.com

2日目の基調講演で発表された小池誠さんの基調講演。
こちらの発表では組み込み系でPythonを採用した理由から始まり、きゅうりの出荷作業における農業と組み合わせたPythonの事例を紹介されていました。
講演の最後に話されていた「農業熟練者の技術をAIで保存して誰でもアクセスできるようになる世界」には胸が高鳴りました。

Pythonでの開発を効率的にすすめるためのツール設定

www.slideshare.net

aodagさんことAtsushi Odagiriさんのセッション。
できるだけツールの力を使ってつまらないミスを防ぐためのツールの導入方法について丁寧に発表されていました。
つまらないミスがなくなることでコードレビューの際にお互いに気持ちよく、深いコードレビューができるようしようという話にすごく共感しました。加えて、僕自身の発表がPyrightでの静的型チェックの話だったので、mypyを使った静的型チェックの話もとても興味深く聞かせていただきました。

チームメイトのためにdocstringを書こう!

www.slideshare.net

くーむさんのセッション。
docstringの書き方、3つの流派の紹介という基礎的なところから、docstringからドキュメントを生成する方法、チームにdocstringを書く文化を築かせるための工夫といった発展的なところまで発表されていました。
Type Hintとの併用の仕方とドキュメントの自動生成の部分は今後ぜひ採用したいと思いました。

感想

スピーカーとして参加した初めてのPyConはとても楽しく、自分が発表する題目に関してたくさんディスカッションすることができてとても有意義なものとなりました。
Pythonで開発するための便利なtipsを知ることでき、「これをチームに取り入れたい」と思えるものがたくさんありました。
また、Python〇〇でいろんな可能性や利便性が広がっているんだと強く思いました。
今回弊社から2名がスピーカーとして参加せていただきましたが、今後もPythonを頑張っていきたいと、さらに思うことができました。
最後にPyCon2019を運営してくさったスタッフの皆様方、本当にありがとうございました。

弊社オフィスでElm Meetup in Summerが開催されました

技術開発本部エンジニアの泉です。 先月末8/25にElm Meetup in Summerというイベントを弊社オフィスで開催しました。

elm-jp.connpass.com

今回のイベント開催は、connpassでの募集開始から一週間と立たないうちに100人もの参加応募があるなど、ここ最近のElmの盛り上がりを大きく感じさせるものとなりました。

前回のElm Tokyo Meetup Vol.4開催ののち、かれこれ1年ほどの歳月が経過しての今回のイベントとなりましたが、弊社もオフィスを六本木グランドタワーへと移転し、より収容人数の大きい会場を提供することができるようになりました。さまざまな意味で時期の温まった素晴らしいタイミングだったのではないかなと思います。

f:id:fringeneer:20190905175736j:plain
会場を埋め尽くす参加者

f:id:fringeneer:20190905175834j:plain
オープニングとトークをするわたしと@ababupdownba氏

ライトニングトーク

今回はなんと総勢で8人もの登壇者を迎える豪華なライトニングトークとなりました。

弊社からはわたくし泉も運営の傍ら登壇させて頂きました。直近で登壇したのがフランスのパリで開催されたelm Europe 2019でしたので、そこから続けて日本でもElmに関するイベントで登壇ができたというのはとても喜ばしい限りです。

f:id:fringeneer:20190905175929j:plain
トークをするわたし

同じくUniposチームでフロントエンド・テックリードを務める同期の海老原も登壇し、Elmのアプリケーション開発で遭遇するモジュール分割をどのように考えていくかというトピックでトークをしました。

f:id:fringeneer:20190905180056j:plain
登壇をするわたしの同期

パネルディスカッション

今回のミートアップでは特別企画として、Elmをガチで使っている方々によるパネルディスカッションが行われました。

f:id:fringeneer:20190905181744j:plain

話された内容は、実際の業務でElmを使っていて受ける率直な印象からリアルなツラミなどなど。加えて、Elmのサーバーサイド活用可能性の話からHaskellに至るまでまで幅広い内容で展開されました。

懇親会のようす

みんなお待ちかねの懇親会。ミートアップといえば、やはり懇親会です。

f:id:fringeneer:20190905180336j:plain
乾杯の様子。真っ昼間から酒を飲みます。

今回のミートアップでは、首から下げるネックストラップにElm歴に応じたカラーシールをつけるという新しい取り組みを行いました。こうすることで、Elmの習熟度に応じた情報交換が促されるのではないかという狙いです。

f:id:fringeneer:20190905180413j:plain
語り合あうElmoたち

会場撤収のギリギリまで懇親会は盛り上がりました。聞くところによると、このあとも引き続き参加者たちは夜の六本木でElmについて語り明かしたとのことです。

最後に

世界的に見てもElmはいまだに利用者の少ない言語のひとつですが、一方でコミュニティは非常に親密で、かつ新しくElmの世界へ足を踏み入れる人たちを拒むことのない慈愛に満ちた場所であると私は思います。プロダクト利用をしている経験者から、まだElmに興味があるだけというレベルの方まで、幅広いレベルの人々がElmという共通言語を介して融和しています。

今回のイベントもまた、弊社からボランティアで参加してくれた社員や、コミュニティからの有志ボランティア、そして多くの参加者の皆様に支えられたものとなりました。参加者の多くが、これからまさにElmを始めたい、もっと書いていきたい、というやる気とエネルギーに満ちるような素晴らしいイベントとなったことは間違いありません。

弊社も2年前からElmをプロダクト開発の言語として利用し始め、いまとなっては7万行にも及ぶ大規模なコードベースにまで成長しました。Elmが我々の組織にもたらしたものは、Elmのもつシンプルかつ強力な型システムという「技術的特徴」とその生産性のみならず、その削ぎ落とされたシンプルさから、我々が最も大事にしている「設計」に注力する大きな余裕をチームに与えてくれました。

これからも、日本最大規模のElmアプリケーションを作る会社の矜持としてこのようなミートアップの開催など、コミュニティの成長につながるような支援をしていきたいと思います。

それでは、ごきげんよう

f:id:fringeneer:20190905180459j:plain