猫でもわかるWeb開発・プログラミング

本業エンジニアリングマネージャー。副業Webエンジニア。Web開発のヒントや、副業、日常生活のことを書きます。

【ScalaMatsuri2018】「もしScala初心者がMonoidを投げ込まれたら」メモ

もくじ

これはなに?

ランチタイムに行われたLT(10分の発表)の一つです。

もしScala初心者がMonoidを投げ込まれたら

注意

  • Monoidの説明はしません
  • Scala初心者が新しい概念と戦っていく有様です

自己紹介

あるひ

こんなコードがプルリクで投げられた

trait Monoid[A] extends Semigroup[A] {
  def zero: A
}

trait SemiGroup[A] {
  def append(a1: A, a2: A) = ...
}

なにこれ。Monoidって?

ググってみる

なるほどわからん

エンジニア困惑

チャットでのやり取り

自分「MonoidやSemigroupの追加はドラスティックでは?」 ???「Monoidに怯えすぎでしょ...」

なぜ困惑

  • 業務で知らない概念に触れたときどう対処したらいいのかわからなかった
  • チームの(Scalaなどの)技術レベルの共有が十分ではなかった

新しい概念と戦っていく力をつける必要がある。

対策

チームとして最適化していく

モチベーションが非常に重要。

まとめ

  • DO IT! so, Just DO IT!
  • monoidに怯えすぎでしょ

おまけ