プロポーザルのすゝめ

TL;DR

gocon.jp

Go Conference 2022 Springが4月23日に開催され、無事終了しました。
大規模カンファレンスで初めて登壇したこと、そしてその際にプロポーザルを提出するにあたりいろいろ得た知識や知見を残そうと考えました。
このブログをみて「あ、これなら自分でも登壇できるかもしれない。プロポーザルを出してみようかな?」と思うひとが1名でも増えると嬉しいです。

プロポーザルを出すきっかけ

まずプロポーザルを出そうと思ったきっかけについてです。

実はきっかけ自体はさほど気負ったことではなく、Kyoto.goを曲がりなりにも2年ほど立ち上げから運営まで行ってきたのでなにかコミュニティの話をしようかな?と思い立ったのが原点です。

コミュニティ運営者は星の数ほどいますが、Kyoto.goを運営した経験はぼくと運営メンバーの @uji さん、@yebis0942さんにしか話せないと考えたからです。

kyotogo.connpass.com

twitter.com

twitter.com

仮にカンファレンス側の登壇基準に満たなければプロポーザルが未採択になるだけで、カンファレンスのクオリティーコントロールは運営メンバーのお仕事だと考え、気軽に投稿しようと考えていました。

プロポーザルの投稿に対する心理的ハードルが下がったのはGo Conference 2021 Autumnで運営メンバーを経験したことが大きかったです。 長々と登壇までの苦悩と苦労を語っても仕方がないので、「いつかは登壇してみたい」と思うかたに向けて、プロポーザルを出すときに注意するとよい点と登壇資料を作る際に学んだことをお伝えしようと思います。

gocon.jp

プロポーザルのすゝめ

ぼくが長々と書くまでもなく、素晴らしい先人たちがすでに記事を書いてくれていますね。 まずは、こちらを読みましょう。 (カンファレンス運営者がプロポーザルについてブログを書いている場合は一読しておくといいですよ!)

medium.com

ymotongpoo.hatenablog.com

これら2つの記事には共通点があります。

それはカンファレンス主催者がカンファレンスの登壇者になにを望むのか?どういう価値を参加者に届けたいと考えているか?ということです。 カンファレンスによって求めることは異なりますが、おおよそ同じ到達点にたどり着くのではないかと思います。

  • 対象技術固有であること。
  • 専門性の高い知識・経験であること。
  • 既存の内容ではなく、独自性・革新性があること。

上記3つの要素に加えて

  • 登壇者本人が参加者に伝えたい価値はなにか?
  • それをなぜこのテックカンファレンスで登壇するのか?

これら2つの要素を掛け合わせたものを運営者は登壇者に求めます。 全てが揃っている必要性はありませんが、どれ一つもマッチしない場合はプロポーザルの内容を考え直したほうがいいでしょう。

Go Conference 2022 Springでの事例を元に解説

今回のGo Conference 2022 Springでぼくが登壇したセッションでいうと

  • 対象技術固有であること。

Kyoto.goの話なのでGoコミュニティ固有の事象。

  • 専門性の高い知識・経験であること。

Go言語そのものではないが、Goコミュニティ運営者のニッチな経験と知識であること。 (正直このあたりは理論武装としては弱かったと思います。)

  • 既存の内容ではなく、独自性・革新性があること。

コロナ禍の中で生まれたコミュニティが成長した軌跡の話なので新規性がある。 またコミュニティがコロナ禍で休止していくなか、歩みを止めずにいるノウハウなのでGoコミュニティにとって価値がある。

……という要素を盛り込んで作ったプロポーザルを作成していました。 実際に作成したプロポーザルはこちらです。

www.papercall.io

あとは採択されるかどうかを運営スタッフに託しました。 ぼく自身もGoConの運営スタッフの一員ではありますが、自分のプロポーザルに対する採択、投票に関しては棄権しています。 当たり前のことですね。

これらの運営者が登壇者に書いてほしい情報がきちんとプロポーザルに含まれることで、採択率は大きく変わります。 受かるためにプロポーザルで嘘をついてはいけませんが(そんなことしたら次回以降出入り禁止になっちゃう)、 自分が登壇することの価値やその意義を正しく伝えるにはカンファレンス運営者が思い描く登壇してほしいイメージと自身が登壇することの価値や意義を近づける必要があります。

自身の主張を捻じ曲げて運営者におもねりなさい、ということではなくお互いの期待値をすり合わせて、参加者の価値を最大化することが重要ということです。 カンファレンスの目指すべき理想像がわからない場合は運営チームにメールで問い合わせてもいいですし、あるいは裏技的ですがカンファレンスの運営スタッフになればこれらの情報は自然と知ることができます。 まあほとんどのカンファレンスは「どういう価値を提供したいのか?」が書かれているので、その価値にマッチする登壇内容を考えるだけで大丈夫なはずです。

このあたりはサイモン・シネックのStart with whyが参考になるんじゃないかと思います。

www.ted.com

もちろん、これらの対応を行っても採択されない可能性はあります。 例えば、Go 最新バージョンで導入された機能についての解説などは非常にネタかぶりしやすいです。 同じテーマやネタであった場合、両方が採択されることはまれでしょう。 運営者は出来るだけ多くの、よりたくさんの知見を参加者に届けたいと考えるため、重複したものはより運営者が近しいと感じるものを優先することになります。

情報は重複しやすくなってしまいます、あなただけの経験が付与された知識は誰も真似のできないオリジナルコンテンツになります。 ぜひ、あなたにしか話すことができないセッションを次回Go Conferenceで聞けるのを楽しみにしています。

実引数、仮引数。ParameterとArgument

TL;DR

発端はこれ。

これを正しい、間違っているという気はなくて、自分は逆に覚えていたので言語によって呼び方が違うのか? そもそもParameterとArgumentの違いってなんだろう?コンピューターサイエンスの世界では明確に区別しているのだろうか?と気になったので雑に調べたメモを残しておく。

調べたメモその1

2016年に書かれたブログ。 タイトルがズバリ知りたい内容だったので一読してみた。

hhsprings.pinoko.jp

なるほどなるほど〜と読んでいて、あ、これが正解じゃない?となったのが次の一文。

parameter は、もともとは数学での「媒介変数、助変数」。仮置きする変数、なのよね。

数学的にParameterと表記する際はどうやら仮置する変数として使われる、とのこと。 この出典元については記載がなかったが、体感と一致しておりなんとなく納得感があった。 が、さすがに学術的な裏付けではないのでもう少しだけ調べてみることにした。

調べたメモその2

次に見つけたのが京都産業大学の仮引数と実引数というページ。(どうでもいいけどいつまでHTTPなんだろう?と気になった) 対象言語はC言語だが、

プログラミング用語に,仮引数(parameter)と実引数(argument)という言葉がある.それについて解説する

とズバリな内容を記載してくれている。

www.cc.kyoto-su.ac.jp

仮引数とは関数定義時に使用される引数のことである。 実引数とはその関数を実際に使用するときに関数に引き渡される引数のことである

とあるので、仮引数はParameter、実引数がArgumentであると述べられている。 さすがに最高学府が公開している内容が誤っているわけではなかろうと考えたため、この時点で調査を終了とした。

まとめ

実引数はArgument、仮引数はParameterが言語に関わらずコンピューターサイエンス的には正しそうだと理解をした。 ちょっとした疑問だったがクイズを問いてるような感覚で楽しかったのでログとしてこの場に残す。 もし間違っていたら指摘してほしい、かなり雑に調べてふむふむと納得した内容なので正直自信はない。

Go Conference 2022 Spring 登壇します

「Motto Go Forward Goを支える文化とコミュニティ 〜なぜ我々はコミュニティにコントリビュートするのか?〜」というタイトルでプロポーザルを出したら採択されました。

テックな内容ではなくコミュニティ運営に主体をおいた発表する予定です。

今年はマネーフォワードのテックブログばっかり書いてた

今年はブログの更新があまりできていない。 理由としては会社のテックブログへの投稿が多かった&技術広報的な取り組みはnoteに書く…という決めを入れていたのでそうなった。

PR記事なんかも含めるとそこそこの量を書いている。 なお、これ以外にも社内ドキュメントにいろいろ情報整理するために書いていたので実際の文字数は以下であげたブログ + 10倍くらいある。

会社で書いたブログの一覧

moneyforward.com

moneyforward.com

moneyforward.com

moneyforward.com

moneyforward.com

moneyforward.com

moneyforward.com

moneyforward.com

moneyforward.com

moneyforward.com

note.com

note.com

note.com

note.com

note.com

感想

こうして年間でふりかえると毎月なにかしら発信してたなーと思う。 ただ会社での発信が多くなりすぎて個人側の発信が減ってしまったのが個人的には気になっており、このあたりを来年は改善したい…というふりかえり記事でした。

雑談

最近、以下の2つのYouTubeをよくみている。 あまり動画コンテンツを見続けるのが得意でないのだけど、この2つはずっと1年間通してみれている、とても楽しい。

www.youtube.com

www.youtube.com

FREENANCE×はてなブログ 特別お題キャンペーン #フリーにはたらく

FREENANCE×はてなブログ 特別お題キャンペーン #フリーにはたらく
by GMOクリエイターズネットワーク株式会社「FREENANCE(フリーナンス)」

Kyoto.goでgolang/goのIssueやproposalを眺める会をやったら言語仕様や提案している背景が理解できたという話

TL;DR

  • 自分が主催するKyoto.goのイベントで golang/go のIssueを読み漁る会に参加した
  • 割とぶっつけ本番でやったが意外といい企画だった
  • よいイベントなので継続してやりたいと言いう思いと誰にとってもいい企画だったのでもっと周知したいなと思った。

kyotogo.connpass.com

今回の企画はujiさんプレゼンツだった。 元々はGoCon運営もあるし、毎月継続しているけど10月難しそうだなーというところから 10月は忙しくて開催できないかも〜という話やイベントの立て方が定型化してきていることを議題に上げました。 定型化していることに大きな課題感を感じたというよりはたまに味付けを変える変化をつけて、いつもと違うメンバーが参加しやすいイベントを目指したいね…という話しをメインでしてました。

あとはアンケートをそういえば取れてないから取りたい、Kyoto.rbでは新しく参加したメンバーがブログを書いてくれていた、Umeda.goみてると我々の運営メンバーは少ないのでは?…という話をしていました。 実際にKyoto.rbのるりま読書会で書いてもらったブログは↓

fuga-ch85.hatenablog.com

詳しい内容を知りたいかたは議事録を公開しているのでこちらを読んでください。

scrapbox.io

当初、イベント企画していたときはOSSにコミットできるといいよね〜という夢の話しをしてました。 会が始まり、まず読みたいIssueを探そうという話になったのでDiscordのスレ機能を使って気になったIssueを収集しよう!というチャレンジをしました。 その際、Issueの探し方もスレに書いてもらうようにしました。「 label: NeedsFix から探している」「 label:Proposal が面白そう」「NeedsFixが多いから label:help wanted みてみる」という個々人で別々の動きが生まれて面白かったです。

Issueのうち、これが気になる!というものが見つかるとスレにURLを貼る方針で30分 + 10分ほど時間を取りました。 時間後はどういう点が気になって、そのIssueを選んだのか?を軽く説明してもらい、絵文字リアクションで投票の多いものからみていく…ということをしてみました。

気になったIssueをみていると次のような会話が生まれました

  • 提案内容で挙げられている実装で課題そのものは対応できそうだが、セキュリティ要件が含まれるので迂闊に実装するのが不安
  • 普通にこれ直せばコントリビュートいけそう。日曜のお供にどうぞ。
  • 初めてGoのリポジトリにPR作ったとき、GitHubで完結すると思っていたものがGerritで議論されたりしていて驚いた
  • errors.As() のこの挙動は知らなかった。普通に罠っぽいので直ってほしい→直されてる…どういう変更をしたんだろう?→変更されたPRのコード眺める
  • Proposalのラベル面白い。error-handlingのラベルも面白い。
  • Rejectされているけど then keywordの提案は正直旨味がないし、いらない。
  • いまのままだと難しいのでもうひと工夫ほしいけど check keywordが欲しくなる理由はわかる。
  • chaining method や pipeline 演算子みたいな機能が欲しい気持ちはわかる。でもエラーの処理が難しすぎる。いまの提案のままだと難しい。

などなどの会話が生まれて非常に楽しい1時間半になりました。 その後も30分ほど居酒屋トークをおこない、あーでもないこーでもない、この場合はこうしたい、言語仕様にエラーの文脈を入れると途端に難易度が跳ね上がる、Rejectされた label: error-handling をみるとやりたいことは一緒だけどちょっとGoにはあわないかもね…とGo言語コミュニティらしい会話が生まれて非常に楽しめました。 運営者目線でこのイベントを振り返っても初心者から上級者まで楽しめる企画だなと感じることができ、今後も定期的に開催したいねという元々のマンネリ化してるかも?という課題を克服することができました。 また運営側がなにも用意する必要なく、参加者も事前になにかしておかなければいけないということがなく非常に低コストでイベントを開催できる割に学びを得ることができる点が魅力に感じました。

↓開催後の参加メンバーの感想。

運営者の1メンバーなので少しポジショントークな感じもして、純粋な意味での参加レポートという感じではないのですが、他のコミュニティでも応用ができそうな企画案だったことと先日イベントに参加したらレポート書いてね!という話しをしたのでとりあえず雑に書いてしまおうと考えてこの記事を書いています。 Kyoto.goではGoに関係する全てのひとが楽しめるコミュニティを目指しています。 もし、こういうことがしてみたいんだけど?や運営のボランティアしてもいいよ!というかたがいたらGophers Slackの #kyoto チャンネルに投稿いただければと思います。

最後に告知です。 弊社マネーフォワードの関西拠点でミートアップをおこないます! ぼくは登壇しないのですが、関西拠点で働くメンバーが参加しています。 「カジュアル面談するほどではないけど話だけ聞いてみたい」や「マネフォって関西拠点あったんだ?」というかた向けのイベントになっています。 関西で働くことに興味がある、マネフォってどんな会社なの?ただのミートアップと何が違うの?と思われたかたは是非ご参加してメンバーに質問してみてください! 少しでもぼくたちマネーフォワード、その中でも関西拠点で働くメンバーや拠点のことに興味を持ってもらえれば嬉しいです。

moneyforward.connpass.com

テックコミュニティーの運営としてお願いしたいこととCfPの応募に関する告知

来週遅めの夏休みを取る予定なので積ん読になっていたプログラミングElixirを読もうと考えているluccafortです。

みなさんはGoConというテックカンファレンスをご存知でしょうか?

次回GoCon 2021 Autumnはぼくが運営するご当地コミュニティであるKyoto.goとfreeeさんで働くhatajoeさんたちが運営するUmeda.goの共同運営で諸々進行をしています。 京都と大阪という2拠点のコミュニティによってオール関西なメンバーが主導するかたちで次回のカンファレンスは運営されています。 (実は今回からGo Conference Tokyoではなく、Go Conferenceになってより地域に縛られないという進化を遂げています。気づいてたよ!というかたがいたらマジですごい。)

kyotogo.connpass.com

umedago.connpass.com

大規模カンファレンスの運営は初だというメンバーが多いなか、tenntennさんはじめさまざまな企業に所属しているかたが企業の垣根を超えてGoコミュニティのために日々奮闘しています。 GoCon運営メンバーには本当にさまざまな面で助けられています。

hatajoeさんとtenntennさんのアカウントはこちら。

twitter.com

twitter.com

GoCon 2021 Autumn のCfP締切は8月末だぞ!☆|彡サ

そんな忙しいメンバーのスケジュールの合間を縫っていろいろ企画したり、準備したりしているGoConですが、実はCfPが公開されています。

このCfPの締め切りが8月末までとなっており、もしかするとご存知ないかたもいるかもしれないと考え、ブログで告知をさせてもらおうと考えてこの記事を書いています。

CfPだけでなくスポンサードの締め切りも8月末となっています。 Goルドとシルバーはすでに満枠になってしまいましたが、ブロンズとグリーンに関しては締め切りギリギリまで応募を受け付けています。 もし興味があるかたは締め切り前にご応募いただければと思います。

gocon.jp

GoCon 2021 Autumn に参加するひとに1コミュニティ運営者がお願いしたいこと

Umeda.goとKyoto.goと異なるコミュニティが共同でおこなうはじめてのイベントになります。 運営するメンバーはそれぞれいろいろな企業に所属しています。

中には競合他社でライバル関係というようなメンバーもいますが、それも含めてお互いを高め合うライバルであり、助け合う仲間、Gophersだと考えています。 このように書くとポジショントークっぽくみえてしまいますが、もっともっとGo Forwardな世の中にしていきたいと個人としても考えていますし、他のメンバーも同じだと信じています。

そして更なるGoの発展、より人類がGopherへと近づくためにも皆さんのご協力が必要です。 ぜひともGoコミュニティへのコントリビュートをお願いしたいと考えています。

でもコントリビュートって難しんじゃないの?と考えるかたもいらっしゃると思います。 なんと、とても簡単にGoコミュニティへのコントリビュートをする方法があります!

それはブログに参加レポートを書くことです!

ぼくはかつてPHPカンファレンスというテックカンファレンスで「ブログを書くまでがカンファレンス!ブログを書いてコミュニティやカンファレンスにコントリビュートしよう!」と言われたことがあります。

これは実に素晴らしい文化であり、全てのテックコミュニティで継承していきたい考えだと思っています。 しかしながら残念なことにコロナ禍でイベントがオンラインになったことで、参加する特別感が薄れてしまい、この素晴らしい文化が徐々に途絶えようとしているようにみえます。 ぼく自身もイベントやカンファレンスの参加レポートを書く機会が薄れてきてしまっています。

これは非常にもったいないことだと考え、今回CfPの応募告知とあわせて参加者のかたにブログを書くお願いをしようと考えました。

「このセッションが楽しかった!」「GoConに参加してよかった」など一言だけでも立派なコントリビュートです。

Twitterで盛り上がってもらうのもすごく嬉しいのですが、ブログを書くことで参加できなかった人たちへ向けたメッセージを書いてもらえればなと考えています。

ぜひ皆さんのフィードバックをコミュニティや登壇者のかたに届けてあげてください。

GopherCon 2020の A Rainbow of Gophers Building A More Diverse Community でも紹介されたようにGoが大事にする文化を伝えていくのもテックコミュニティの大事な責務です。

www.dropbox.com

強制するようなものではありませんが、参加されたかたはぜひブログや企業のテックブログで感想や学んだこと、得られたことなどを書いて次のGopherにバトンをつなげていただければなと考えています。

忙しくなったので朝活とかマインドフルネスとかそういうのをやり始めたよって話。

4月になりました。 最近テクニカルなことがなかなか書けていないなあと反省してるんですが、本業がエンジニアと技術広報という形になったので普通に忙しいです。 あと会計サービスの宿命として年度末年度始まりは大変というのがあるのでそういうものと割り切るしかないなーって思ってます。

で、いままでは夜に自分の時間を確保するように働きかけてたんだけどもこれがうまくワークしなくなってきました。 単純に自分ではコントロールできないタスクが増えてきて、確保できたりできなかったりで安定しなくなってきたので最近朝に自分の時間をとって使うようになったよ…という話です。

元々フロントエンドに課題を感じていたのでそれを学ぶ社内勉強会を1年ほど行ってきました。 その結果として元々は「ES5 is なに?ES6となにが違うかわかってない…。」という状況から React + RecoilでGitHub APIを叩いてモブプログラミングしてみよう!やNextJSがわからんのでGetting Startedをやってみよう!というところまで来ました。

毎週1時間を1年やるだけでそこそこ成長できるんだなってことがわかり大変良いので時間がなかなか取れないかたにはおすすめです。 朝に勉強するのはリモートが前提になったいまだと非常にやりやすくてよいです。

朝活を福岡拠点メンバーが開始しているのをみつけた同僚が真似をして始めたことがきっかけでマインドフルネスに入門しました。 数人でzoomごしにマインドフルネスを毎朝15分〜20分ほど行うだけなのですが脱力によって肩のこりや腹筋など身体のこわばりが解消される感じがあり、胡散臭さを感じていたんですが現在社会は慢性的にストレスに晒されるのでその息抜きをするための訓練なんだなーということがわかってきました。

さきほどとは別の同僚からGoogleの「Search Inside Yourself」がめちゃくちゃいいので未読なら読むといいですよ!という話を聞いていま読んでる最中です。 だいたい3割くらい読みました。マインドフルネスってそういう感じでいいのね!と感じながら読んでるのですが結構いい感じです。今週末あたりに読み切ってしまおうと思います。

あとリモートワークが主になってからまあ運動しなくなったので太りました。 ちょっと本気でまずいなと思うレベルで運動不足になっているので雨以外の日は出来る範囲でジョギングやウォーキング、柔軟をやっていこうと考えて今晩から初めてみました。

無理のないレベルでまずは運動習慣を身につけることを目的としてやっていこうと思います。

なんかそんな感じで最近いい感じに忙しいです。