ScalaMatsuri運営ブログ

アジア最大級のScalaカンファレンス「ScalaMatsuri」の運営ブログです。このブログは株式会社はてな様のご協力でお送りしています。

ScalaMatsuri2023 のセッション募集します!

こんにちは。 ScalaMatsuri2023 運営スタッフの池田(@taket0ra1)です。 ScalaMatsuri は Scala をテーマとしたアジア最大規模の技術カンファレンスです。

来年度 ScalaMatsuri 2023 の開催が決定しました!

日程については 2023 年 4 月 15 日(土)、4 月 16 日(日)を予定しております。

概要

  • 名称
    • ScalaMatsuri2023
  • 会場
    • オンライン
  • 開催日
    • 2023 年 4 月 15 日(土) 10:00 - 17:00、16 日(日) 10:00 - 17:00 (いずれも日本標準時)
  • 発表枠
    • 20 分枠
    • 40 分枠(20 分枠を 2 コマ利用します)
      • 40 分枠もございますが、20 分枠が中心のイベントになります。
        • 現段階で枠数を決定していません。公募されたセッションの状況に応じて枠数を決定します。
  • 備考
    • 時差の関係で当日発表が難しい方のために、事前録画による登壇を検討しております。事前録画による登壇を希望する人はセッション応募時点でお伝えください。

基調講演

Cats Effectの作者であるDaniel Spiewakさんに基調講演を行って頂きます。日本語で同時通訳を行う予定です。

セッション募集

イベントの開催決定につきセッションを募集します。

セッション応募の内容は入門者向けの内容から、好きな技術、新しい技術の導入事例など Scala に関わる内容であれば OK です。

2022 年度は以下のようなタイムテーブルでした。

なおセッションの選出方法は、ScalaMatsuri 先行チケット販売時に、購入者へ ScalaMatsuri で聴きたい Scala のテーマについてアンケートをとりまして、運営スタッフで議論の上、選出させて頂きます。

ScalaMatsuri は毎年多く方のご協力と、様々な方のセッションによって充実したイベントになっていますのでぜひご応募くださいませ。

募集についての概要

  • 募集締切 2023 年 1 月 14 日(土) 23:59 Anywhere on Earth (1 月 15 日 20:59 JST)
  • セッション発表枠は 20 分枠と 40 分枠を用意しています。
    • ScalaMatsuri2023 は 20 分枠がメインです。
  • 提出可能なプロポーザルは 1 人最大 3 つまでです。
  • 時差の関係で当日発表が難しい方のために、事前録画による登壇を検討しております。
    • 事前録画による登壇を希望する人は CFP 応募時点でお伝えください。
  • 講演者の選出方法は運営スタッフで検討の上選出します。
  • 詳しくは https://scalamatsuri.org/ja/cfp をご確認ください

ScalaMatsuri2023 で聞いてみたいカテゴリのアンケート結果

10 月に ScalaMatsuri 2023 で聞きたいセッションのカテゴリーにつきましてアンケートを取らせて頂きました。 ご協力ありがとうござました。

現時点(2022 年 12 月 1 日)で上位が以下のようなカテゴリになっています。

  • Scala3
  • Software Design and Architecture
  • 関数型プログラミング一般や圏論
  • Effect System (Cats Effect / Monix / ZIO / eff etc.)

ぜひご参考にしていただければと思います。

皆さんからおすすめのトークセッションも募集しています

また初の試みとして、すでに何か過去のイベントで発表されたトークセッションで、ScalaMatsuri の参加者にぜひ視聴してほしいトークセッションがあれば、合わせて CFP 募集のフォームより応募できます。

ScalaMatsuri で流した方が良い動画があれば、動画の発表者に合意を頂いた上で飛び入りカンファレンスなどで、翻訳機能などを使い視聴するようなことを考えています。

  • 海外で発表されたトークセッションを知っている。ScalaMatsuriで広まってほしい。
  • Scala 以外の言語のトークセッションであるが、言語にかかわらず内容が良い。
  • ライセンス周りの知見についてわかりやすい動画がある。

など様々な軸で参加者のためになりそうな動画を教えてださいませ。

応募フォーム 

みなさんのセッションのご応募、お待ちしています!

ScalaMatsuri2022を開催しました!

こんにちは。ScalaMatsuri2022 運営スタッフの西立野です。 だいぶ遅くなってしまいましたが、2022/03/19~20 に開催されました ScalaMatsuri2022 のお礼とご報告をさせていただきます。

参加者

Doorkeeperでの参加申し込み者数は 426 名でした。
ご参加いただきましてありがとうございます!

ご協賛企業

(敬称略・申込順)

  • 将軍スポンサー
    • Chatwork株式会社
    • 株式会社COMPASS
    • 株式会社リクルート
    • 株式会社スリーシェイク
    • 株式会社ギブリー
  • 大名スポンサー
    • アルプ株式会社
    • 株式会社チェンジ・ザ・ワールド
    • 株式会社はてな
    • 株式会社ネクストビート
    • 株式会社FLINTERS
    • Kipp Financial Technologies 株式会社
    • AnyMind Group Inc.
    • Visional
    • ファンズ株式会社
    • 株式会社FOLIO
    • 株式会社スタンバイ
    • 株式会社アットウェア
    • レバレジーズ株式会社
    • エクスプレスAI合同会社
  • 侍スポンサー
    • ソルフレア株式会社
    • 合同会社ザウエル
    • ワンダーソフト株式会社
    • 日本インサイトテクノロジー株式会社

ご協賛ありがとうございます!

運営について

前回の開催から約1年半ぶりの開催となり、いろいろと変化がありました。

ScalaMatsuri座長チーム制

今回から、座長がチーム制となりました。
ScalaMatsuri座長の公募を始めます - ScalaMatsuri運営ブログ

座長の交代どうする?から始まり、やはりいきなり交代は負荷が高いことなど議題は多く、複数回にわたり議論を重ねました。スタッフに手を上げてくださった皆さん、Scala好きだったり、Scalaをもっと普及させていきたいなど同じ志を持っている中、それに大きく貢献しているScalaMatsuriをどう継続的に運営していくか、今回の座長チーム制は一生懸命考えて出した結論です。
今回の座長チームメンバーは、私と omiend さん、竹下 さん、そして歴代座長だった OE さんで務めさせていただきました。

そして、スタッフの皆さんです。ありがとうございます!
(順不同)

完全オンライン開催

今回はキックオフ当初からオンライン開催前提で計画が行われました。
前回のScalaMatsuri2020では途中からオンライン開催に切り替わったことで若干ドタバタしましたが、今回は余裕を持って準備を進められたかなと思います。でもやっぱり対面でワイワイしてみたいですね。次回の開催形態はまだ未定ですが、より楽しんでいただけるよう考えていきますのでお楽しみに!

合言葉は「カロリー低め」

座長チーム制となって初めてのScalaMatsuriなので、わからないこともたくさんありました。持続可能なScalaMatsuriとなるよう、負担が大きくなりそうになるところは削り、ミニマム(カロリー低め)な開催としました。とはいえ、単に削るのではなく、負荷を下げつつもいかに皆さんに楽しんでもらえるか?という点も常に意識しながら企画していました。
皆様のご意見を参考にしながら、次回以降もよりよいScalaMatsuriを作っていきたいと思いますので、どうぞよろしくお願いいたします。

カンファレンスDayまとめ

1日目の動画をまとめましたのでご覧ください。

Abstract Type Members 入門 - Introduce Abstract Type Members

NAKAMURA Manabu さん GitHub / Twitter

youtu.be

美しいドメインロジック

Beautiful Domain Logic

Pierre Ricadat さん GitHub / Twitter

youtu.be

Scala3のTupleとMirrorとHigher-kinded data

Tuples and Mirrors in Scala3 and Higher-kinded data

@phenan さん GitHub / Twitter

youtu.be

Cats Effect 3とScala 3による純粋関数型プログラミング

Purely Functional Programming with Cats Effect 3 and Scala 3

Toshiyuki Takahashi さん GitHub / Twitter

youtu.be

Quine: モダンなデータパイプラインのためのストリーム化グラフ

Introducing Quine: a Streaming Graph for Modern Data Pipelines

Ryan Wright さん GitHub / Twitter

youtu.be

Bazel 入門

Intro to Bazel

Eugene Yokota さん GitHub / Twitter

youtu.be

Akka Persistence Typedにおけるドメインオブジェクトの実装パターン

Pattern of Implement Domain Object with Akka Persistence Typed

TSUJI Yohei さん GitHub / Twitter

youtu.be

AlpのEff独自Effect集

Alp-original Eff pearls

Tsubasa Matsukawa さん GitHub / Twitter

youtu.be

おわりに

新しい取り組みなど、様々な挑戦があったScalaMatsuri2022、お楽しみいただけたでしょうか。
間もなく次回の開催に向けて動き始めます。座長チームやスタッフへのご参加も大歓迎。
またお会いできるのを楽しみにしています!

ScalaMatsuri開催直前!オンラインイベントを120%楽しむ参加者ガイド

みなさんこんにちは、ScalaMatsuriの運営スタッフ入中です。

いよいよScalaMatsuri2022の開催が迫ってきました。チケットは無料です。参加登録は3月20日 17:00まで受け付けています。

scalaconfjp.doorkeeper.jp

さて、今回は初のオンライン開催となったScalaMatsuri 2022を楽しむ方法について、紹介します!

TL;DR / まとめ

  • ZoomとDiscordのクライアントアプリをインストールしましょう。
  • Discordアカウントを作ってアイコンを設定しておきましょう。
  • ヘッドセットやイヤホンの用意をお願いします。
  • タイムテーブルを確認をお願いします。
  • 飛び入りカンファレンスを眺めて、話したいネタをぼんやり考えておきましょう。
  • 行動規範の再確認をお願いします。

Zoom Webinar と Discord について

ScalaMatsuri 2022では、Day1である3月19日はカンファレンス、Day2である3月20日は飛び入りカンファレンス主体のイベントです。 両日ともにZoomとDiscordを利用します。

Zoom Webinar

Zoom Webinarは、Zoom社が提供するオンラインビデオチャットサービスです。ScalaMatsuriではセッションを配信するために利用します。

Webinarでは、スピーカーとスタッフのみが映像と音声を出すことができます。参加者のみなさんのマイクやカメラはOFFのままですので、視聴者として楽しんでください。Day1の全セッションについてZoom Webinarの同時通訳を利用しますので、WindowsもしくはMacの「ミーティング用Zoomクライアント」が必要です。

Download Center - Zoom

もしLinuxのPCしかお持ちでない場合は、タブレットやスマートフォンなどでZoom Webinarのセッションを見るのもお勧めです。

Discord

Discordはオンラインコミュニケーションサービスで、サーバーと呼ばれるグループの中に、テキストおよびボイスチャットのチャネルがあります。 ScalaMatsuriではメイン会場として利用します。セッションの質問投稿や、雑談、懇親会、そしてスポンサーブースが催されます。

Discordのアカウント名(ニックネーム)と、アイコンが「みなさんの顔」になります。 久々に会った知人と立ち話をするようなことは、カンファレンスではよくあると思います。今年のScalaMatsuriも、そういう場になれたらよいと思っています。お知り合いが見つけやすいように、アカウント名もしくはニックネームとアイコンは、普段SNSなどで利用しているものに設定してくださることをお勧めします。

Discordのボイスチャネルをクリックすると、マイクがONの状態で入室することになります。入室後にカメラをONにすることもできます。 ハウリングを防ぐため、必ずヘッドセットやイヤホンなどを使用するようお願いします。ミュートにしているときは、スピーカーで音声を聞いていただいても構いません。

セッションの質問は、Discordの #track-a/#track-bチャネルにそれぞれ記入してください。botが自動で日<->英 翻訳しますので、セッションの言語にかかわらず、日本語・英語どちらで記入しても構いません。

セッション中の感想や雑談など、質問以外のものについては、 #track-a-chat / #track-b-chatに気軽に書き込んでください。

Zoom WebinarとDiscordを両方開きながら参加してもらうと最大限楽しんでもらえます。Discordのデスクトップクライアントは、以下のリンクからダウンロードできます。

Download Discord to Talk, Chat, and Hang Out

プログラム

Day 1: 3月19日(土)

Day1はカンファレンス形式で実施します。10時00分にオープニングが開始されます。

プログラム | アジア最大級の Scala のカンファレンス

すべてCFPに応募・採用されたセッションです。同時通訳が付きます。 それに加え、ブース出展するスポンサー企業のコンテンツで構成されるスポンサートラックをご用意しています。

メイントラックはZoom Webinarで実施します。スポンサートラックを含めたスポンサーコンテンツは、Discordサーバに設けたバーチャルブースで実施します。

今回はオンライン開催ですので、セッションを聞きながら飲食したり、リラックスして楽しんでください。

こまめに休憩をとって、無理なく参加してくれることを願ってます。

15時30からは懇親会をDiscordのボイスチャネル上で実施します。飲食物のご用意をお忘れなく!

Day 2: 3月20日(日)

Day2は飛び入りカンファレンス形式(旧称:アンカンファレンス)で実施します。10時00分にMorning Session / 朝会です!

プログラム | アジア最大級の Scala のカンファレンス

飛び入りカンファレンスとは、参加者がセッションのアイディアを持ち寄って、当日にタイムテーブルを一緒に作り上げるイベントです。詳しい説明はWebサイトに掲載してあります。

飛び入りカンファレンス | アジア最大級の Scala のカンファレンス

セッションのアイディアは、Githubリポジトリにissueとして作成してください!(今から作成しても構いません!)

github.com

こんな話がしたい、これについて議論したい、こういう話をぜひ聞きたい、など、どんな形式のアイディアでも構いません。

面白そうだな、ぜひ参加したいなと思ったアイディアには👍などのリアクションをつけていってください。

集まったアイディアをタイムテーブルに割り当てていきます。

Track AとBはZoom Meetingで実施する予定です。それ以上に必要になった場合は、Discordのボイスチャネルを新たに開設していきます。 トラック数の上限はありませんので、みなさん奮ってアイディアを投稿してください。

なお、飛び入りカンファレンスでは同時通訳は提供されません。ご注意ください。

行動規範

行動規範 | アジア最大級の Scala のカンファレンス

ScalaMatsuri は、様々な地域やコミュニティから集う技術者に対して開かれたカンファレンスを目指しています。 そのためには、性別や人種など多様な背景を持つ、普段の生活では会わない人々同士でも、互いに敬意を払って楽しい時間を過ごせることが重要だと考えています。

以下の行動規範は、意図せずそういった配慮の行き届かない発言や行為をしてしまうことを防ぐためのガイドラインです。 ScalaMatsuri の主催者は、発表者や参加者、スポンサーの皆様に行動規範を守っていただくことをお願いしており、その場にそぐわない発言や行為を未然に防ぐための手助けをしています。

そのほか本文では、ハラスメント行為の概要についても列挙していますので、ぜひ目を通してみてください。

過去のハラスメント行為の具体例として、特定の性別、宗教や性指向等の人たちが集う街について「あそこには近づくな」と懇親会で言及された方がいた、との報告がありました。

この発言のように、特定の属性を持つ人を忌避したり、貶めたりする発言には、傷ついたり嫌悪を感じる方がいます。ScalaMatsuriでは、こういった「ヘイトを表明する」発言はハラスメント行為として認定し、注意や警告、度を過ぎる場合は退場していただく可能性があります。

万が一、ハラスメント行為だと受け取られかねない発言をしてしまった場合には、スタッフに注意される・されないに関わらず、すぐに撤回していただくことを期待しています。

互いに敬意を払って楽しい時間を過ごせるよう、みなさんのご協力をよろしくお願いします。

最後に

ここまで読んでくださり、ありがとうございました。

それでは、当日にお会いしましょう!

scalaconfjp.doorkeeper.jp

Scala Matsuri2022 2日目の飛び入りカンファレンス につきまして

こんにちは。運営スタッフの池田です。

いよいよ Scala Matsuri 2022 の開催日が近づいてきました!

1日目のタイムテーブルが公開されて、発表内容を楽しみされている方も多いかと思いますが、これまで2日目の「飛び入りカンファレンス」の内容についてあまりご紹介する機会がありませんでした。

f:id:taketor:20220305033124p:plain

今回は2つ日目の「飛び入りカンファレンス」について内容のご紹介と、「飛び入りカンファレンス」で発表したい方への参考情報として、イベントの参加者がどのようなセッションに興味があるのか?

この2点についてご紹介したいと思います。

飛び入りカンファレンスにつきまして

飛び入りカンファレンスとは、例年までアンカンファレンスという名称で行っていた形式のイベントです。

講演内容や発表者が当日まで決まっておらず、来場者が自分の話したい内容を発表する、参加者が全員でつくりあげるカンファレンスです。 発表したい人が、カンファレンス中に発表内容を提案し、参加者の投票によってプログラムが決まります。(Hatena Keywordよりアンカンファレンスの説明)

アンカンファレンスよりも、よりわかりやすい名前にしましょうということで今回は「飛び入りカンファレンス」という名前になりました。

また英語ではOpen Mic (オープンマイク)Conference という名前になります。

Open Mic という意味は以下のようになっております。

オープンマイク(英語: open mic)とは「店のマイクを、飛び入りの客に開放する」あるいは「客が店のマイクを使って、音楽の演奏や歌唱、詩の朗読、寸劇、お笑いのネタ披露、手品、紙芝居などのパフォーマンスを行えるという営業形態(の店)」のことである。(weblio より)

個人的には飛び入りの発表枠を開放しているというイメージが頭に浮かび、今回の飛び入りカンファレンスとイメージが近い名前だなと感じています。

飛び入りカンファレンスの進め方について

HPにも詳しく記載していますが

scalamatsuri.org

セッション、LTのアイディアを募集するGItHubリポジトリを用意しております。

このリポジトリにご自身が発表したいセッションのアイディアをGitHub issueに書いて下さい。

今から書いてもらっても構いません。また、参加したい他の人のアイディアを見かけたら、GitHub reactionで投票してください。飛び入りカンファレンス当日の朝会(2022-03-20 10:00 JST)では、これらのアイディアと投票をもとにタイムテーブルを作り上げていきます。

飛び入りカンファレンスDAYの「朝会」を行い、集まった発表の内容と参加者からの投票をもとにセッションの決定とタイムテーブルの作成を行います。

開始時間 時間 Zoom A Zoom B
10:00 ~ 60分間 朝会
11:00 ~ 15分間 休憩
11:15 ~ 30分間 セッションA セッションB
11:45 ~ 30分間 セッションA セッションB
12:15 ~ 45分 お昼QK お昼QK
13:00 ~ 15分間 休憩
13:15 ~ 15分間 LT1 - A LT1 - B
13:30 ~ 15分間 LT2 - A LT2 - B
13:45 ~ 15分間 休憩
14:00 ~ 30分間 セッションA セッションB
14:30 ~ 30分間 セッションA セッションB
15:00 ~ 15分間 休憩
15:15 ~ 30分間 セッションA セッションB
15:45 ~ 30分間 セッションA セッションB
16:15 ~ 15分間 休憩
16:30 ~ 15分間 LT3 - A LT3 - B
16:45 ~ 15分間 LT4 - A LT4 - B
  • 2022/03/07 update 朝会の時間と、LT枠について修正いたしました

LT(15分間)とセッション(30分間)で種類がありますが、こちらは単に時間で分けています。

色々な粒度の発表の内容が出せればと、LT(15分間)とセッション(30分間)枠を用意しています。 (ただしLTは必ず15分間である必要もなく、短くても問題ないです。)

前後の時間を調整して、飛び入りカンファレンスを進めて行ければと思っています。

飛び入りカンファレンスのトラック以外にも、スポンサーのバーチャルブースも常設されています。休憩時間のコンテンツの一部はタイムテーブルにも掲載されていますので、ぜひ訪れてみてください。

前回の内容

また前回の二日目のタイムテーブル(一部)は以下のような内容でした。

10/18 ScalaMatsuri 2020 Unconference Timetable · GitHub

f:id:taketor:20220305013936p:plain

一部抜粋

  • 「みんなScala教育どうやってますか?事例共有など」
  • 「Scala無双 実践編: AirframeとScala + Scala.jsでライブコーディング」
  • 「Explanation roughly a CQRS/Event Sourcing system built by akka-typed / Akka-Typedによって構築された、リアクティブシステムを雑に解説する会」
  • 「御社の独自 Scalafix ルール教えてください!」
  • 「ひどいScalaコード選手権」

座談会形式のものから、概念をわかりやすく解説する、各組織のルールやプラクティスや、「ひどいコード選手権」といった企画など幅広い内容でした。

予め話したい内容をしっかり書かれてもよいのですが、「私こんな話ができます」であったり、「ひどいコード選手権」といった企画など、ラフなアイディアでも歓迎です。

発表に興味がある方は、人に伝えたい話がある方は、発表したいセッション内容についてイシュー作ってください。

参加者が興味があるセッションのカテゴリについて

今回飛び入りカンファレンスのアイディア出しの参考として 今年のScalaMatsuriの参加者に「聞きたいセッションのカテゴリ」というアンケートを取り、集計しました。

集計結果はアンケート結果の活用を許可されている212名を対象に行っています。

f:id:taketor:20220304090841p:plain

f:id:taketor:20220304090505p:plain

  • 関数型プログラミング一般や圏論(45票)
  • Software Design and Architecture(38票)
  • Scala3(30票)
  • 事例紹介(19票)
  • Effect System (Cats Effect / Monix / ZIO / eff etc.)(19票)
  • Big Data / Fast Data / Data Science(17票)
  • Scala入門(13票)
  • DevOps & Tools(7票)
  • 組織関係(6票)
  • エモい(1票)

という集計結果で、関数型プログラミングの話(圏論やEffect Systemなど)や Software Design and Architecture、Scala3などは興味がある方が多いことがわかりました。

ご参考にしてください。

最後に

それではいよいよScalaMatsuri 開催間近となってきましたが、飛び入りカンファレンスでは直前でも発表できる機会があります。 これまで発表の機会をうかがってこられた方などぜひIssueを書いてください。

私、ScalaMatsuri で転職しました Vol.7 株式会社アットウェア オヤマさん

みなさんこんにちは! @omiend です!

ScalaMatsuri 2022 開催まで残すところあと3週間となりました!

今日はいくつかのお知らせと、「 私、ScalaMatsuri で転職しました Vol.7 株式会社アットウェア オヤマさん 」と題しまして、ScalaMatsuri がきっかけとなり、株式会社アットウェアさまへ転職をされたオヤマさんに話を聞きましたので、その模様をお伝えします!

お知らせ

タイムテーブル公開

タイムテーブルを公開しました!

scalamatsuri.org

当日スタッフ募集

一緒に ScalaMatsuri を盛り上げてくださる、当日スタッフを募集しています!

事前のマニュアル読み合わせ会を予定していますので、はじめての方も歓迎です👍

かくいう私も、はじめは当日スタッフからの参加でした!

応募はこちらからお願いします

docs.google.com

Tシャツショップオープン

ScalaMatsuri 2022 のオリジナルTシャツが購入できるショップがオープンしました!

忍者スポンサーになれる特別仕様のTシャツがとてもCOOLです!

scalamatsuri-online-shop.myshopify.com

参加登録へは Doorkeeper より

参加登録、まだまだ受け付けています!

みなさんのお越しをお待ちしております!

scalaconfjp.doorkeeper.jp

私、ScalaMatsuri で転職しました Vol.7 株式会社アットウェア オヤマさん

それでは「私、ScalaMatsuri で転職しました Vol.7 株式会社アットウェア オヤマさん」をどうぞ!

f:id:omiend:20220205202936p:plain

  • 左上: オヤマさん 株式会社アットウェア
  • 右上: OE ScalaMatsuri 座長チームメンバー
  • 下: omiend ScalaMatsuri 座長チームメンバー

また、アットウェアさまは「Scala 先駆者インタビュー」という記事を公開されてまして、そちらも併せてご覧いただければと思います!

株式会社アットウェア

www.atware.co.jp

Scala 先駆者インタビュー

tech.atware.co.jp

インタビュー

OE > よろしくおねがいします!

omiend > よろしくおねがいします!

まずは簡単な自己紹介と、現在の社内のお仕事などを教えてください。

オヤマ > よろしくおねがいします!オヤマと申します。

株式会社アットウェアでソフトウェアエンジニアとして主にウェブサービスの開発と運用をしてます。

Scala 歴はだいたい 2 年半ほどになります。

Scala のいいと思ったところ

omiend > 早速ですが、Scala との出会いを聞かせてください。

オヤマ > 実は前職までは基本的に Java をやっていました。

ですが、自分でプログラミングをするというよりは、協力会社さんに依頼してコーディング頂いたものをレビューして〜というのが主な仕事の流れだったんですよね。

もうちょっと自分の技術力を伸ばしたいなっていうのを考えていて、いわゆる Better Java というところからいろいろ調べるようになり、その中で候補に挙がったのが Scala と Kotlin でした。

どちらかというと Scala が自分にはあっていそうに感じて学習をはじめました。

OE > Scala のどんなところをいいなと思ったんですか?

オヤマ > 自分にあってると思ったところ、大きく 2 点ありますね。

1 点目が、「自然言語みたいに書けるような仕組みがある」ところです。

例えばカッコを外したりできるじゃないですか。

そうするとより英語に近づけて記述できると言いますか、これって本当に突き詰めたら、コードをほぼほぼ英語のように書けるんじゃないか?みたいなところをすごく感じて。そういった表現力に魅力を感じました。

もう 1 点が、「Scala コミュニティの方たちが情報発信にとても力を入れている印象を感じた」ところです。

ScalaMatsuri もそうですし、SpeakerDeck 等にいろいろスライドがあったり。 また、ドワンゴさんの「Scala 研修テキスト」といった基礎もしっかり固めてくれる情報もあり、どんどんアウトプットしてくださる人が多いのかなという印象を受けたので、そこも魅力的な点でしたね。

scala-text.github.io

omiend > Scala そのものの表現力の高さと、アウトプットする人が多くいることで他の人の学習にもつながる印象がすごく魅力的という感じの 2 点ですかね。

オヤマ > そうです。

omiend > 学習を進めていく上で、オヤマさんにとって Scala はどんなものだと感じましたか?

オヤマ > Scala は学習すればするほどいろんな知識が身に付くという印象を受けてます。

例えば Scala はオブジェクト指向言語と関数型言語のマルチパラダイムな言語だとよく言われていると思うのですが、そうすると Scala を調べるだけで、その二つの視点が情報として入ってくるっていうのがあったり。

Scala を勉強することで、Scala の言語仕様を知るだけでなく自分のスキルアップにつながる、そういう意味でも良い言語だなあと思っています。

OE > 「Scala は学習すればするほど、いろんなことを勉強できる」というの、すごく分かるなあと心の中でめっちゃうなずいてました。

自分も Scala 好きになった理由の一つがそこだった気がします。これ、一石二鳥じゃんみたいな笑

コードを書けるようになったし、いろんな言語の良いとこどりで楽しいですね。

オヤマ > いろんなエッセンスが交じり合ってる感じが良いですよね。

Scala のつらいところ

omiend > 次は反対に、Scala を学習したり、実際業務で書いたりするときに、少なからずシンドイと感じることがあると思うんですけど、いかがでしょう?

オヤマ > はじめはやっぱり implicit がつらかったですね。

Better Java の文脈から入ったのでそう思っちゃうのかもしれないんですけど、Java で明示的に書かなきゃいけないことを、「そういうテンプレートを排除しよう」という考えで、暗黙的にいろいろしてくれてるじゃないですか。

implicit もその中の一つなんですけども、暗黙的にやってくれているところが触った中で結構多くて、そういった明示してない箇所でやってくれていることを掴むまでがちょっときついかなあと感じました。

OE > 分かりますー!

オヤマ > Java から入ったので case class も「コレすげえ!」ってなったんですけど、そのまま Java を知らなかった頃の自分に向けて出したら、何がどうなっているんだろう?ってなっちゃうのかなあと。

やっぱり暗黙的にやってる部分というか、「何をやりたくて」っていうとこを知ってると知ってないで、学習コストに差が出るのかなあって思います。

omiend > objectclass と、case class は何が違うんだ?みたいなのとかですかね。def と関数は何が違うの?とか。

OE > 事前の知識を想定しちゃってる感じありますよね。

Scala 以外に気になっているのは Rust

OE > Scala 以外に、気になってる技術とかってあったりします?

オヤマ > 言語では Rust がちょっと気になっていますね。

社内の Scala を好きな方だったりが Rust の話をすることもあって、社内にも Rust の波がきているので気になっています。

OE > Scala 好きな人、大体 Rust も興味ありますよね。 *1

オヤマ > そうなんですよね。

OE > また新しい言語をちょっと勉強したいみたいな感じになりますか?

オヤマ > 基本的に新しい言語に興味を持つことが多いのでそうですね。

あとは、コンテナ技術も気になってるというか、勉強しなきゃなあと思っているところですね。

omiend > Docker とかですね。

オヤマ > そうです。

omiend > Docker は良いですね。大好きです。

オヤマ > Docker の環境とかを独立させるというか。良いですよね。

OE > 欠かせない感じになってますね。

Scala を始める上で知っておいたほうがよいこと

OE > Scala をこれから学ぼうとしてる人とか、あるいは Scala を学び始めた頃の自分に「こうしたらよかったよ」とアドバイスするとしたら、どうしますか?

オヤマ > Java を知っておくといいですね。

OE > まず、Java を勉強せよ、みたいな。

オヤマ > なお良いのは、Java で書く時手間に感じる箇所を理解した上で Scala ではこう書くことができる、というふうにつなげると理解がスムーズになる気がします。

OE > それ、面白いですね。確かに、そうかも。

ScalaMatsuri について

omiend > そうしましたら次に ScalaMatsuri を知ったきっかけみたいなのを聞かせてください。

オヤマ > Scala 実践入門』を買ったところから本格的に学習をはじめたと思うのですが、共著の一人であるOE さんの自己紹介欄で「Scala のカンファレンスを主催している」と記載されているのを見て ScalaMatsuri を知りました。

OE > 『Scala 実践入門』から ScalaMatsuri ですか!書いておくもんですね、恐縮です...。

オヤマ > 勉強を進めていく中で、コップ本で一回挫折してしまったんですよね。

オミ: ちょっとワカリマス。私もコップ本は何度か挫折しました...笑

オヤマ > ですが、あの本(『Scala 実践入門』)に拾っていただいた感じなんです笑

実は今年の抱負として、Scala の学習を頑張るっていうのを考えてまして、コップ本の第 4 版も出たので、今年こそは読破しようかなと...。

OE > うれしいですね。ありがとうございます。『Scala 実践入門』はどうやって知ったんですか?

オヤマ > 多分、「Scala 本 入門」とかで検索して行きついたと思います。

omiend > ScalaMatsuri について感想みたいなのはありますか?

オヤマ > そうですね、セッションがアーカイブとして残ってくれるのがうれしいですね。参加できなかったセッションも見れるので感謝しかありません。

英語のスピーカーの方もいらっしゃるので、動画だと字幕を出しつつ聞いたり、スローで聞いたりできるというのが良いですね。

また、初心者からすると結構分からない単語にぶち当たることが多く、例えばモナドとかも最初に聞いたときは意味が分かんなかったですし。そういうときに動画だと後から見返して調べながら自分のペースで進めることができるのが良いですね。

やっぱり、アーカイブがあるっていうのはありがたいですね。感謝ですね。

あとは、どうしても上級者向けのやつだと基礎知識がなくて「分からん」となってしまったんですけれども、ScalaMatsuri にはビギナー向けもいろいろあるっていうのが非常にありがたかったです。

2018 年辺りかな?implicit の説明のスライドと発表があって、自分が初心者で悩んでいた部分を発表を通して知識を深めることができて。自分の学習に役立てることができたのでありがたかったです。

OE > ScalaMatsuri 初参加は 2018 年からですか?

オヤマ > いえ、実は初参加は 2020 年です。

OE > 2020 年ということは、オンラインのときですね。2018 年は過去のアーカイブを見たということですね。

オヤマ > そうです。アーカイブ動画を見ていく中で、一番衝撃で記憶に残っているのが 2018 年でした。

OE > 衝撃だったんですね。

オヤマ > 辻さんの『実践 Scala で DDD』です。

OE > なるほど辻さんの『実践 Scala で DDD』か!

www.youtube.com

オヤマ > そうです、これです!!

DDD を知ることができて、さらに Scala のいいところをすごく綺麗にまとめてくださっていて。

見たのは 2019 年ですが、これはいまだに PDF を読み返してます。

Scala の書き方やメリットだけでなく、DDD で使われる知識や用語など幅広い知識が凝縮されていて、本当にすっごい衝撃を受けました。

OE > いいですねえ!この年は確か初心者向けのトレーニングディみたいなのを初めてやった年でしたね。

だから、初日のがくぞさんの「implicit 入門」とか、「Scala 入門ハンズオン」とかも、この辺りは初心者向けの日など新しいことに力を入れだした印象が強かったです。

www.youtube.com

この年がすごく役に立ったのであれば、すごいうれしいです。

オヤマ > そうですね。うまくはまったというか、うまく作用した気がしますね。

私は初心者だったんですけど、すごく響いたのでありがとうございますという気持ちです。

omiend > すごく良い話を聞かさせてもらっている気がします!すごい!笑

オヤマ > まさかそういう背景があって、自分もその恩恵を受けていたんだっていうのがなんかうれしいですね。

アットウェアとの出会い

omiend > ScalaMatsuri 2019 ぐらいのときにアットウェアさんと出会った感じですかね。

オヤマ > そうですね。2019 年の確か、秋頃から転職活動を始めて、Scala の会社もしくは、Scala に興味を持ってる会社を探しまして、アットウェアさんを ScalaMatsuri さんのスポンサーリストで見て応募をして、入社をしたという感じだったと思います。

omiend > ScalaMatsuri のサイトを見て Scala の会社を探して転職活動されてるっていう人が実はよく聞くんですよね。

オヤマ > そうなんですね。

omiend > アットウェアさんに決めた決め手みたいなのはどうでしょう?どんなところに魅力を感じたとか。

オヤマ > 決め手はまず、Scala に興味を持っている会社っていうことですね。やっぱり、自分が興味を持ってるもの、つまり Scala に興味を持ってる会社なんだなっていうのが一番大きくて、自分の進む方針として多分合ってるんだろうなっていうのがありました。

あとは、社内の勉強会をかなり頻繁に開いていて、そういう意味で自分の成長にもつながりそうだなっていう印象を受けたところですね。

omiend > 勉強会はどのぐらいの頻度でやられてたりするんですか?

オヤマ > だいたい 1 ヶ月に 1 回くらい、社外の方を招いて開催していると思います。

あとは、最近だと社内で『セキュア・バイ・デザイン』っていう本を、みんなで読んでこうという感じの読書会を週 1 の頻度で開いてます。

それから、勉強会とはちょっとずれるかもしれないんですけど、社内のメンバーでこういうことを学んだよっていう「テックバッシュ」というイベントをやってますね。勉強したことをみんなで共有しようというイベントです。

omiend > 面白い文化がありますね!

文化の話でいうと、他に、こういうとこが気に入ってるみたいなエンジニア文化みたいなのってあったりしますか?

オヤマ > そうですね、技術好きで勉強熱心な人が多く、「知識をみんなで共有する」っていうところや「やってみよう」みたいなスタイルがあるので、それがエンジニア文化になっていると思います。

omiend > アットウェアさんでは普段どういった感じでお仕事をされていますか?

例えば、コミュニケーションツールなどは何を使ってますか?

オヤマ > 基本的に Typetalk や Backlog といったツールを使ってます。

OE > ヌーラボさんの!

オヤマ > そうです。Scala 先駆者インタビューの第一回に登場してくださったヌーラボさんですね!

omiend > 1 チーム何人ぐらいとかってのは、ありますかね。チームなのかプロジェクトなのか、どうですかね。

オヤマ > プロジェクトの大きさにもよるんですけど、今私が参画しているチームは、10 人前後ですね。

最後に

omiend > 最後になにか一言お願いします!

オヤマ > 転職をしたのが 2 年前ぐらいだったので、そのときに ScalaMatsuri を見て、Scala のカンファレンスの雰囲気だったり、スポンサーの会社のリストが知れたり、こういう人たちが Scala に興味を持ってるんだっていうのを知れたり。

それで Scala の勉強に役立てたり、実際、今回も ScalaMatsuri のスポンサーさんのリストを見て、転職活動に活かせたので ScalaMatsuri さんにはお世話になりました。

OE > こちらこそ、ありがとうございます!

omiend > 今日は本当にありがとうございました!

オヤマ > ありがとうございました!

*1:主語が大きくて、失礼しました。by OE

ScalaMatsuri 2022のスポンサー募集を開始します!

f:id:omiend:20211201132156j:plain

みなさん CFP の準備はいかがですか?

こんにちは。ScalaMatsuri 2022 運営スタッフのおみ( @omiend )です。

ScalaMatsuri 2022のスポンサー募集を開始します!

2022年3月19日(土)、20日(日)開催予定の ScalaMatsuri 2022 に協賛してくださる企業・組織を募集します。

プログラミング言語 Scala に関するアジア最大級のイベントです。

技術コミュニティ貢献、参加者へのブランディングや接点作りの機会としてぜひご利用ください。

お申し込みはこちら。

スポンサー募集 | ScalaMatsuri 2022

ScalaMatsuri 2022 チケットは無料!

ScalaMatsuri 2022 では、計画当初からオンライン開催であることや、また広くみなさんに楽しんでいただけるように、参加チケットを無料とさせていただくことになりました!

チケットのご案内はもうしばらく先になりますが、みなさんに楽しんでいただけるよう、スタッフ一同準備にいそしんでおります!

お楽しみ!

ScalaMatsuri2022 のセッションに応募しませんか?

こんにちは。 ScalaMatsuri2022 運営スタッフの池田(@taket0ra1)です。 12月1日(水)よりScalaMatsuri2022 セッションの公募が始まりました。

scalamatsuri.org

セッションの公募のことをCFP(Call For Papers またはCall For Proposal)と呼ぶので、この記事でもCFPと呼びます。

CFPに興味はあるけれども発表するネタがなかったり、中には発表自体のハードルが高くなっていて CFPを出そうか悩んでいる方もいらっしゃるのではないでしょうか?

少しでもCFPを考える参考になればと思い、2点CFPに関わる話をしたいと思います。

今回のScalaMatsuriでは 20分発表枠がメイン

ScalaMatsuriでは過去に 90分枠、40分枠などが主な発表枠でしたが、今回から20分の枠をメインにしました。

変更理由ですが発表がオンラインになったことが主な要因です。

オンラインになったことで以下のような側面がありました。

  • 発表者
    • 長時間の発表の中で聞いている人のリアクションがみえにくい。
  • 聴講者
    • 長時間PCの前で張り付いて聞くことが難しい。(疲れてしまう、集中力を切らすなど)

そこで 発表者も聴講者も快適に参加できる枠にすべく 他のオンラインイベントを参考に 20分枠をメインにしました。

20分枠になったことで、発表者にとっては話すスコープが狭くなると思いますが、多様なテーマが詰まったカンファレンスになることを期待しています。

一方で時間が限られていることで、概念的に難しい内容の発表ができなくなってしまったり、発表の内容が表面的になったり、スコープが狭くなったりするといった 弊害も出てくるかと思います。

その場合に、40分枠(20分枠×2)も応募可能であったり、二日目のアンカンファレンス(名称は未定です。)を活用して、さらに深い発表ができる場になればと思っています。

発表枠の更新に伴い、ScalaMatsuriがどんなものになるか楽しみして頂ければと思います。

セッション投票数と満足率の関係について

CFPを応募するにあたり、どういったセッションが実際に満足率が高いのか気になるかと思います。

そこで過去のScalaMatsuriのアンケート結果を集計して、各セッションと、セッション投票数と満足率の関係について調べました。

f:id:taketor:20211227072919p:plain

縦軸が満足率で横軸が投票スコア(セッション投票数にいくつかの変数を掛け合わせたもの)になっています。

  • 全体傾向として投票スコアが高いこと(グラフの右上部分)は参加者が聞きたいテーマであり(CFPの段階で多くの投票が集まっているため)満足率も高い。
  • 一方で満足率が高いセッション(グラフの満足率が75%以上の部分)は全て投票スコアが高いわけではなく、投票スコアが4前後のものも多く存在している。

多数が聞きたいテーマであることも重要ですが、一方で参加者の数割だけが興味を持ってくれるテーマであっても満足率が高くなりえます。

終わりに

CFPの締切は2022年1月15日(土) 23:59 Anywhere on Earth (1月16日 20:59 JST) です。

聴講者の数割に興味を持って頂き、自分が発表できるテーマを見つけることが難しいことかと思いますが、 ちょっとニッチだな、と思うテーマでも自分の得意分野や情熱を持っている内容があればぜひ応募してみてください。

またご自身が発表されないにしても、自分の周りでご活躍されている方などに「CFP応募してみない?」背中を押して頂けると非常に有り難いです。

docs.google.com

CFPを考える上で、参考になるスライドもございますので、興味ある方はご確認ください。

どうぞよろしくお願いします!