ScalaMatsuri運営ブログ

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

私、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