Zeals TECH BLOG

チャットボットでネットにおもてなし革命を起こす、チャットコマース『Zeals』を開発する株式会社Zealsの技術やエンジニア文化について発信します。現在本ブログは更新されておりません。新ブログ: https://medium.com/zeals-tech-blog

復活したGotanda.rbに参加&登壇してきました!

f:id:zeals-engineer:20190327215136j:plain

こんにちは、ZEALSでサーバーサイドエンジニアをやっております、あべです!
今回のブログは先日行われたGotanda.rb のイベントについてお伝えしたいと思います。

github.com

Gotanda.rbって?

有名な『Asakusa.rb』や、以前サーバサイドエンジニアのRyutoooooが記事を書いてくれた『Omotesando.rb』など、各地域にRubyコミュニティがありますが、実は五反田にもRubyコミュニティがあります!

tech.zeals.co.jp

正確に言うと、「あった」のですが、コミュニティを立ち上げたOrganizerの方が転職し五反田から離れてしまった、という理由からしばらく運営されておりませんでした。

復活のきっかけは、記事にある『Omotesando.rb』でした。

五反田界隈の方とお会いし、そこで意気投合。
Gotanda.rbのOrganizerを引き受けたトレタの中村さんとつながり、そこから再度立ち上げたという次第です!

今回のテーマは設計!

さて、そんなこんなで2019年3月20日に見事復活を果たしたGotanda.rb、個人的な感想になりますが参加してよかったです!!

今回のテーマは「〜設計について気軽に話そう〜」だったのですが、普段他社の設計の話ってそう気軽に聞けるものじゃないですよね。
その設計の話を、生々しく、時に楽しく、飛び込みLTありのゆるい雰囲気の中たっぷり聞けたのがとてもよかった、と感じました。

この「生々しい話」というのがGotanda.rbのコアなテーマになっていてます。
「正論だけではない、開発現場のあるある」な共感できる話が多いのが特長でした。

全体の雰囲気などはTogetterにもまとまってますので、ぜひ見てください!

togetter.com

前半戦:LT大会!

ZEALSの登壇

まずZEALSの福本がスタートアップにおけるRails開発のツラみ〜なぜ僕たちはRails wayを貫けないのかというテーマで登壇致しました!

speakerdeck.com

スタートアップでリソースが足りない中で小さな工夫をどう重ねていくか、ZEALS内で実際取り組んでいる例を含めて紹介しました。

この内容には含まれていませんでしたが、LTで少し話に出た「ServiceClass」というワードがこのあと一つ大きなテーマになっていました!
ZEALSにもServiceClassは存在しておりますが、やはり会社によって経緯や運用の仕方が違うこと、会社によって良し悪しも180度違っていると感じました。

ServiceClassについてどんな話があったか

  • 行数がやばい一つのファイルをServiceClassとユースケースに切り分けてみたら処理が明確になった
  • ServiceClassを実装したらコードもテストもスッキリしていろんなだるいがなくなった
  • 一人で作り上げたServiceClassが、作った本人にしかわからないやばいServiceClassになってしまっている
  • あとから違う人が作業しようと思っても何をどこにどうやって変更したらいいかわからない…

…など会社によってServiceClassのあり方にかなりの違いがあるようでした。
「じゃあ結局その差はなんなのか?」という話をdelyのjoeさんが飛び込みでLTをされていました。

結論:作っても良いけどルールがないサービスクラスはダメ

ServiceClassをどう作ってどう運用していくか、きちんと決めていくのが重要ということでした。

一方、実際チームでルール作ってちゃんと運用していくのはかなり難しそうだとも感じました。
うまくルールが作られ、良いServiceClassとして運用を心がけているLTに改めて感心しました。

後半戦:実際のプロダクションコードを見ながらの設計相談会

今回参加する前に聞いていてかなり楽しみにしていたトレタのプロダクションコードを見ながら聞けるLT
もちろん写真を載せることはできないのですが、実際にコードを見ながら質問に答えていく形式のLTで非常に盛り上がっていました!

プロダクトが育ってきた歴史を、設計周りやコメントから感じました。
私たちのプロダクト『fanp』は今の形になってから約1年半なのですが、トレタは6年と年季が入っていて、あらゆることが一筋縄で行かなくなるのだな、と感じました。

お話を聞いていた中で、個人的に特に興味を持った部分はデータ分析の話でした。

プロダクトを育てていく過程で、データ分析専門の部隊ができたらどんなことをやるべきなのか。
また、どんなテーブルにどんなデータを保存すればいいのか、何千万件もレコードがあるテーブルに変更を加えるときどうしたらいんだろう、など実際悩んだこともあったので色々と考える機会になりました。

やはり実際のプロダクトコードとのことで、みなさん時間ギリギリまで質問されていました!

さいごに

繰り返しになりますが、参加してよかったです!!

普段勉強会などに行ってもあまり聞けないコアな部分のお話が聞けましたし、これからプロダクトを育てていく上での勉強になりました。

普段コード書いているときはその部分に集中しがちです。
ただ、立ち止まって全体を見てみたり、考えたりすることもこれから意識してやっていきたい、と思ったGotanda.rbでした!

このブログを読んで興味を持たれた方いらっしゃいましたら、次回ぜひ参加してみてください!
思いもよらぬ生々しい話が聞けるかもしれません…!笑

gotanda-rb.connpass.com