はじめに
こんにちは、システム本部 CTO 室で内定者インターンをしている岸です。
DeNA TechCon では、様々な事業を展開している DeNA に所属するエンジニアが得た知見などを数多く発表されています。 これらの発表はどれも興味深いものばかりですが、渋谷ヒカリエで開催されることが多く、地方住みの学生にとっては発表を聞きに行くのは大変でした。 しかし、今年は例年とは異なりオンライン開催になったため、世界中どこからでも視聴できるようになりました!
そこで、この記事では 3 月 3 日にオンラインで開催される DeNA TechCon 2021 のセッションの中から、学生目線で選んだおすすめセッションを紹介します。 一足早くセッションを視聴した私が感想と共にセッションを紹介するので、気になったセッションがあった方はぜひ Web サイトからセッションをカレンダー登録して、当日にセッションをご覧ください!!
時間の都合上、紹介したくてもできなかったセッションがたくさんあります。セッション一覧は DeNA TechCon 2021 公式サイト から見られるので、合わせてチェックしてみてください。
機械学習基盤 Hekatoncheir の取り組み
この記事をご覧になってる学生の中には、機械学習の研究を行っている方もいるのではないでしょうか?
私もかじり程度ですが研究で機械学習を触っています。
私の研究テーマは応用系のため、実装したモデルを社会実装できるように持っていくことが重要でした。
しかし、試行錯誤を重ねたコードを社会実装まで持っていくのは非常に大変です。
こういった課題を解決するのが「Hekatoncheir」です。
このセッションでは、Production Ready までに時間がかかると言われている機械学習プロジェクトのリードタイムの短縮のために開発された機械学習基盤である Hekatoncheir について紹介されています。 機械学習プロジェクトを Kaggle のようなコンペ形式にすることで、データサイエンティストと ML エンジニアの責務の分離を実現しており、アイデアとしては思いつくかもしれませんが、実際に開発しプロダクションに既に投入されているのは驚きました。
機械学習の実行に Docker を用いている点や Python 上の学習・推論のインターフェースを予め定めておくといったテクニックは普段の研究開発にも役立つかもしれません!
セッション詳細: 機械学習基盤 Hekatoncheir の取り組み | DeNA TechCon 2021
横浜スタジアム技術実証・COCOA インストール率のリアルタイム可視化 IoT システム
横浜スタジアム技術実証の一環として、新たに開発・実証を行った「新型コロナウイルス接触確認アプリ(COCOA)インストール率のリアルタイム可視化 IoT システム」の紹介セッションです。
このセッションはタイトルを見たときから非常に気になっていたセッションの一つでした。
Bluetooth Low Energy (BLE) や Raspberry Pi など、普段 Web 系のエンジニアリングに携わっている私には馴染みない技術が使われていて新鮮さを感じました。 また、現地で電波をキャッチして計測するため、現地の構造や電波の強度といった PC 上だけでは解決できない課題に対してどう対処してくかといった部分も非常に面白かったです。
それとは対照的に、Fluentd や Google BigQuery などデータパイプラインでよく使われる技術も使われているので、「ハードは全く分からない」という人にも面白いセッションですので、ぜひご覧ください!
セッション詳細: 横浜スタジアム技術実証・COCOA インストール率のリアルタイム可視化 IoT システム | DeNA TechCon 2021
0→1 開発における迅速なプロダクト改善を支える技術
このセッションでは、主な開発メンバーが 1 人という少人数開発において、素早く改善を繰り返しながらリリースへたどり着くために活用した技術について紹介されています。 学生の中には、個人でプロダクトの開発をしている方も多いかと思いますが、このセッションはそういった個人開発にも活かせる話が非常に多かったです。
セッションでは、0→1 開発において重要なこととして「プロダクトの改善を繰り返すこと」が挙げられています。リリース前だとしてもユーザインタビューを通し改善を繰り替えすことが重要で、スピーディーに改善するためには、マネージドなサービスを有効活用して工数を最小化するべきだと述べています。 このような考え方は私自身も大事に考えていて、良いプロダクトを作るのに役に立つものは積極的に使うというのは良い考えだと思っています。
セッション内では、Stripe や Firebase、GCP といったマネージド・サービスを有効活用した事例を紹介しており、そのメリットだけでなくデメリットや注意すべき点なども紹介されていて、自分がいざ使うときの参考になりそうだなと思いました!
また、iOS クライアントの開発の話では、自作のコードジェネレーターの話もされており、プロダクト改善の高速化を図るために技術を使っている点がとても良いなと感じました。
セッション詳細: 0→1 開発における迅速なプロダクト改善を支える技術 | DeNA TechCon 2021
自動テストのないプロダクトの開発効率化への道
ソフトウェアを開発する上でテストは重要だと言われていますが、実際にテストを書いている人はどれだけいるでしょうか? 勿論、毎回書いている人もいると思いますが、中には書いていない人もいるかと思います。 このセッションを聞けば、**「良い機会だしテストを書いてみるか」**と思えるかもしれません。
このセッションでは、テストが全く書かれていない大規模なプロジェクトにいかにしてテストを導入してきたかについて紹介されています。 テストのコストパーフォーマンスについてや、後からテストを導入するテクニック、テストデータの生成、Go による具体的なテストケースなど、概念的な話から実用的な面までまるっと話されているので、とても納得させられるセッションでした。 特にテストデータの生成は私自身とても悩む部分だったのでとても参考になりました!
セッション詳細: 自動テストのないプロダクトの開発効率化への道 | DeNA TechCon 2021
Pococha を支えるバックエンド 〜アーキテクチャと DB シャーディング〜
このセッションでは 20 卒で新卒 1 年目である佐藤さんが Pococha のアーキテクチャや急激な成長に伴って必要になったデータベースのシャーディングといった Pococha の裏側について紹介されています。
学生が趣味で開発するようなプロダクトでは、シャーディングするような高負荷な環境に出くわすことは少ないですが、やったことがないからこそ全ての話が面白かったです。
シャーディング時の id 採番方法に関する話は「とりあえず AUTO_INCREMENT
にしとけば良いか」と考えていた自分に多くの示唆を与えてくれました!
また、なぜ Pococha のバックエンドは Ruby on Rails なのかといった技術選定の背景についても語られていて興味深かったです。
セッション詳細: Pococha を支えるバックエンド 〜アーキテクチャと DB シャーディング〜 | DeNA TechCon 2021
おわりに
ここまで 5 つのセッションを紹介してきました! DeNA TechCon 2021 では、ここで紹介したセッション以外にもたくさんの面白いセッションがあります。 公式サイト をチェックして面白いセッションがあれば、カレンダー登録をして当日ご覧ください!
また、 DeNA 公式 Twitter アカウント @DeNAxTech では、 Blog 記事だけでなく色々な勉強会での登壇資料も発信しているので、フォローお願いします!
最後まで読んでいただき、ありがとうございます!
この記事をシェアしていただける方はこちらからお願いします。