hakobera's blog

技術メモ。たまに雑談

海外カンファレンスの CFP の書き方 - RubyConf Taiwan 2016 の事例

この記事は Recruit Engineers Advent Calendar 2016 の15日目の記事です。

12月2〜3日に開催された RubyConf Taiwan 2016 にスピーカーとして参加してきました。

この記事ではカンファレンスそのものではなく、その前段階の CFP の書き方について、実際に RubyConf Taiwan 2016 に提出した私の実例をあげて、CFP に書く内容と、どういう点に注意して書いたかというのを解説してみたいと思います。自分自身も初めての CFP かつ、英語の CFP だったので、同じように挑戦してみたい人の参考になれば良いな、と思います。

なお、カンファレンスの雰囲気自体は4日目担当の remore さんが書いていますので、ぜひご覧ください。初めての海外カンファレンスでしたが、発表もパーティーもセッションもすごく面白かったです。

RubyConf Taiwanが良い感じだった | 48JIGEN *Reloaded*

実際に提出した CFP

私が実際に RubyConf Taiwan 2016 に提出した CFP の内容と解説を以下に書いていきます。 英語の原文、そして日本語の解説という体裁で書きます。そして、進化した Google 翻訳には大変お世話になったこと、ここでお礼を申し上げておきます。

Bio (自己紹介)

Kazuyuki loves Ruby and a cup of coffee. After working 9 years at IBM, M3 as a Java/Node.js web application developer, he joined EdTech company Quipper as a DevOps engineer. And now working on to make something automatic.

自己紹介なので、自由に書けばいいと思います。実際、ちゃんと経歴を書く人もいれば、Ruby Lover とか一言で済ませている人もいます。注意するとすれば、カンファレンスの雰囲気に合わせる、ということです。ビジネスよりのカンファレンスの場合は、経歴を書いておくのが無難かと思います。

Title

How to write complex data pipeline in Ruby

セッションのタイトルです。タイトルは審査する側が最初にふるいにかけるものだと思うので、内容が分かりやすく、かつ簡潔に書くように心がけました。

個人的には Data Pipeline ではなく、Workflow と書きたかったのですが、データを処理する Workflow なのか、申請の承認フローなどの Workflow とどちらの意味にとらえられるか怪しいなと思い、Data Pipeline という単語を選びました。

Abstract (概要。大体の場合、これが公式サイトに掲載されます)

We often write a code to build data pipelines, which include multiple ETL process, summarize large size data, generate reports and so on. But it's not easy to write robust data pipelines in Ruby. Because there are many things to consider not only write a business logic but idempotence, dependency resolution, parallel execution, error handling and retry.

I'm working on it over 2 years, so I want to share how to write complex data pipelines in Ruby using tumugi, which is a gem I made.

タイトルと同じくらい重要なのが、この概要です。公式サイトに掲載される関係で、文字数制限があることがあります。ですので、できるだけ簡潔に重要な点だけを書くことを心がけました。今回は自作の gem の話をするのと、Markdown が許可されていたので、公式サイトへのリンクなどを張って、興味を持ってくれた審査員がより詳細な情報を得やすいようにする点、工夫してみました。

Outlines

I'm plan to talking about written in http://tumugi.github.io/architecture/ with more detail and samples.

  1. What is data pipeline?
  2. Why is writing data pipe line so difficult?
  3. Idempotence
  4. Dependency resolution
  5. Parallel execution
  6. Error handling
  7. Retry
  8. How to resolve?
  9. Basics of tumugi (Task, Target, Parameter and Plugin)
  10. Rake-like internal DSL
  11. Plugin architecture
  12. Show concrete examples (https://github.com/tumugi/tumugi-recipes)
  13. Simple ETL
  14. Integrate with Google Cloud Services
  15. Multiple ETL with Embulk and Google BigQuery
  16. Write your own plugin

For more detail about tumugi, see followings.

Official Page: http://tumugi.github.io/ Github: https://github.com/tumugi

Intended audience is DevOps/Data engineer or any engineer who are interested in data analytics.

これは公式サイトには掲載されていないもので、概要に書ききれなかった詳細や、対象としている聴講者などについて書きます。 審査をする運営の人にしか見えない情報なので、ネタバレを覚悟で、結構細かいところまで書いてみました。既に GitHub や個人のブログなどで関連する情報を書いていれば、そのページへのリンクを適切に張っておくことで、ここに書いた文章を補強や裏付けすることができると思います。なお、ここで目次レベルまで詳細を書いておいたので、後でスライドを作る時に悩まなくて済むという副次的効果がありましたので、頭の整理としても目次を書くというのはお勧めです。

あと、「対象としている聴講者」は結構重要だと思っていて、これがカンファレンスの参加者の層と合っていないと採択されにくいでしょう。これを書いてみて、なんかカンファレンスの雰囲気とあっていないなと感じたら、そもそも応募するカンファレンスの選択を間違っていないか、もう一度検討してみましょう。

Pitch

There are some famous date pipeline library, such as Luigi and AirFlow, but it's written by Python, not Ruby! We can use python but I'm a Ruby lover, I believe people, who build their applications in Ruby, want to write it in Ruby. Because some code can share, especially database model.

So I want to share knowledge how to write data pipelines in Ruby. My knowledge is summarized in tumugi which is ruby port of Luigi, but more simple and provide rake like DSL and plugin mechanism.

I'm happy if someone learn about data pipelines in Ruby, and write their own data pipe line or tumugi plugin.

これも公式サイトには掲載されていないもので、発表にかける意気込みを書きます。具体的にどの程度審査に影響するかはわからないのですが、審査員の立場に立って考えると、ここまでの情報で当落線上に並んだセッションの合否をここの「熱さ」で決めているのではないかと思います。

なので、発表にかける熱い思いを書いておきましょう。今回は RubyConf Taiwan だったので、Ruby への思いを綴りました。

実際の発表内容

スライドはこちら。

発表内容の動画は例年通りなら、数ヶ月以内には公式サイトにアップロードされるはずです。 実際にどういう風に英語で発表したのか知りたい方は、公式サイトをチェックしてみてください。

まとめ

RubyConf Taiwan 2016 にスピーカーとして採択されたセッションの CFP の実例を掲載し、その解説しました。

個人的に日本のエンジニアのレベルは高く、海外カンファレンスでもガンガン発表して行けると思っています。 まずは気軽に CFP に提出してみてはどうでしょうか。この記事が、その一助になれば幸いです。