freeeのエンジニアが餃子作りにチャレンジしたらこうなった

どうも、freee Developers Advent Calendar 2日目を担当します、freeeで初代GYOMUハッカーとしてGYOMUハックエンジニアをしているmiryです!

昨日はGYOMUハックのAdvend Calendarで業務改善系のお話をしたので、今日はもういっこ本気で取り組んでいる餃子作りについてお話します。

mirygoaround.hatenablog.com

きっかけ

突然、餃子が食べたくなりました。 それは本当に突然で、同僚と話している時に、餃子食べたいね、という話になったのです。

それから、最高の餃子を求める旅が始まりました。

餃子への挑戦

1回目(2017.07某所)

初めてだったので、まずはメンバー集めと場所決めから始まりました。 場所は五反田のレンタルスペースで、キッチンスタジオみたいなおしゃれなところに決めました。

そこから適当に「餃子好き?」とナンパして、10人のメンバーを集めました。 そのレンタルスペースのMAX人数が10人だったのです。

まずは買い出しから。なにを買うのかから手探りで始めました。

合挽き肉、大葉、キムチ、モチ、チーズ、餃子の皮、しいたけ、ニラ、にんにく、ネギ、と言った感じです。とくにひねりはありません。 そこから具材を3人くらいで切り、肉をこね、具材を混ぜ、包む作業が始まります。

テーブルを囲んで餃子を作る面々の写真

ちなみにこの時点で遅刻者2名。 なぜか私は工場長と呼ばれ、流れ作業のように餃子が包まれていきます。

遅刻した人は労働を探して、食器を洗ったりなど、みずから働き始めるという知見を得られました。 美味しく餃子を食した後、UNOで遊んだり、催眠術をかけたりと、とっても楽しかったです。

餃子の写真

学んだことは次の通り

  • キムチは入れてもあまり味がわからない
  • 青じそドレッシングで餃子を食べるのは最高に美味しい
  • 包む方法に何種類かある
  • 意外とあの小さな皮にたくさん包める
  • 餃子はみんなで作って食べるの美味しい

そして次へのチャレンジ

  • 次は皮から作ってみる

ここから餃子の泥沼にはまっていきます。

2回目(2017.10某所)

場所は前回と同じレンタルスペース。 今回も10名集めて餃子作りが始まりました。

今回は皮から作ってみるということで、強力粉と薄力粉を1:1で混ぜ、水を入れてこねました。 そして問題発生、寝かせたら柔らかすぎて大変なことになりました。

慌てて粉を追加して、それっぽい柔らかさに。

そして、ちぎって丸めて伸ばしてを繰り返し、餃子の皮を量産するメンバーと、包んでいくメンバーに分かれて作業しました。 綿棒がなかったので、その辺りにある瓶やら棒状の物体にラップを巻いて伸ばすということをしました。

ここで、人は道具がないと大体の道具を編み出すという知見を得ました。

餃子の写真

噛んだら肉汁が溢れる美味しい餃子が出来上がりましたが、皮が分厚かったため、めちゃくちゃお腹いっぱいになりました。

今回の変わり種はモチ&チーズ。美味しかったです。

学んだことは次の通り

  • 手作りの皮は膨らむ
  • 手作りの皮で餃子を焼くと、肉汁たっぷりで美味しい餃子ができる
  • 皮は厚さと大きさが均一じゃないと包むのと焼くが難しい
  • 手作りの皮は最高なので次回もやる!
  • 場所代が高くついてしまう

次へのチャレンジ

  • 皮が厚すぎるとおなかいっぱいになっちゃうので薄く作ってみる
  • 場所を誰かのお家で開催してみる

3回目(2018.01某所)

今回は、同僚のタワーマンションの共有スペースを借りました。メンバーは8名。

前回と同じように材料を刻むメンバーと皮作りのメンバーに分かれます。 今回はフードプロセッサーという文明の利器があり、具材の粉砕があっという間に行えました。

そして、前回の反省を生かし、皮を薄めに作りました。

餃子の皮の写真。皮はかなり薄い。

そして包む作業になり、異変が……。

皮が破れる。

そう、季節は冬、そしてマンションの高層階。空気が乾燥しており、皮が破れまくってしまったのです。 そして、もう一つ罠がありました。

フードプロセッサーに喜んでいた私たち。 野菜の水抜きを忘れました。

皮の薄さと水分過多が合間って皮がぼろぼろ破れてしまいました。

餃子の写真

美味しかったけど、前回の美味しさを知ってしまっている私たちには満足できない出来になってしまいました。

そして最後に気づいた痛恨のミス、大葉の入れ忘れに、みんなでショックを受けました。 たくさんの失敗がありましたが、夜景はとっても綺麗でした。

学んだことは次の通り

  • 皮には最適の厚さがある
  • 皮を均等に作るには綿棒で伸ばすのでは限界がある
  • レシピと簡単な工程表は必要
  • 人は忘れる生き物である

そして次へのチャレンジ

  • パスタマシンを購入する
  • レシピを書き残す

4回目(2018.05某所)

今回は同僚のお家で、7名で集まりました。

前回の反省を生かし、レシピと忘れちゃいけないことをメモに。 レシピを社内ツールに投稿した画像

そして、パスタマシン登場です。 パスタマシンで皮を伸ばしている写真

このパスタマシン、最高で均一に皮が伸ばせるんです。 圧倒的処理能力にその場にいた全員が感動しました。

皮が伸びたら、ちょっと大きめのコップで丸くくり抜いたのですが、コップのふちというものは切れるようにできていないので、かなり苦労しました。

さて、均一の厚さと大きさの皮で包んで焼いた餃子。 美味しかったです!といいたいですが、何か物足りない。

肉汁が、ほとんど出なかったんですね。 何が原因か不明ですが、おそらくは皮が小さすぎてきちんと包めていなかったのではと分析しました。

今回はエビ餃子もつくりましたが、エビ餃子めっちゃ美味しかったのでレギュラーメンバーになりました。

そして今回驚きの、1人600円という材料費でした。すごい。

学んだことは次の通り

  • 皮の最適な厚さは3mmくらい
  • コップは生地をくりぬける用には出来ていない
  • パスタマシンはすごい!!!!

そして次のチャレンジ

  • クッキーの型を買う

5回目(2018.11某所)

今回の場所は3回目と同様、同僚のタワーマンションの共有スペース。6名で餃子を作りました。

1.まずは、肉をこねる

ボウルに入れてお肉をこねます。 混ざってきたら、お砂糖を少し入れて、中華スープの素を入れて捏ねて寝かせます。

2.タネを作る

今回はにんにくNGの方がいたので、ニラ多め、白菜、しいたけ、ネギ、生姜、チーズ、大葉、えびを粉砕です。

またもやフードプロセッサーの登場です。 こいつは本当にすごいです。あっという間に野菜が木っ端微塵。生姜をペースト状にしてくれます。

そして今回は白菜の水抜きを忘れずに行いました!!! 水抜きはお塩を入れて揉むだけです。 知見ですが、ニラからは水は出ませんでした。

タネを混ぜる様子

3.皮を作る

強力粉500gと薄力粉500gを混ぜて、ぬるま湯を入れて捏ねます。 塊になったら、ラップをして寝かせて浸透させてから、耳たぶくらいの柔らかさになるまで捏ねます。

そして、再登場パスタマシンによって皮を伸ばします。伸ばした皮は、クッキーの型でくり抜きます。 すごいです、一瞬でくりぬけました。感動しました。

きれいに円形の皮ができた様子

過去最高に美しい皮が出来上がりました。

4.餃子を包む 流れ作業で餃子を包んでいきます。ここでわかったことは、6人という人数はちょっと少なすぎるということでした。 皮を作りながら包む作業を行うのですが、どちらかが足りなくなってしまうのでわたわたしました。

包まれた餃子の写真

それにしても、今回はフードプロセッサーやパスタマシン、クッキーの型という文明の利器のおかげで、ものすごくスムーズに作業が進みました。

5.焼く 綺麗に餃子を並べて、お水で蒸してから、ごま油でじゅー。 餃子が焼かれている写真

そして、できあがり!

焼きあがった餃子の写真

肉汁溢れる最高に美味しい餃子が出来上がりました! これは、過去最高の出来ですが、残念、一部皮が破れちゃいました。

しかし、肉汁がすごい! 味が濃い、とっても美味しい餃子でした。

あと、餃子だけだと飽きるという知見もあったので、もやしのナムルと刻みネギのごま油和えも作ってみました。 もやしはレンジで10分チンして絞ったあとごま油と塩胡椒、刻みネギにもごま油と塩胡椒。

餃子との相性が最高でした。ごま油と塩胡椒最高。

学んだことは次の通り

  • フードプロセッサー、パスタマシン、クッキーの型は三種の神器
  • エビは細かくしすぎると味がちょっとわからない
  • 付け合わせは必要
  • 皮から作る餃子作りの最適人数は7〜8人

そして次のチャレンジ

  • 焼きに課題が残るので、フライパンを持参する

まとめ

エンジニアが集まって餃子作りをすると、意図せずPDCAが回りました。 会の終わりに感想会となり、フィードバックが自然と出てきます。

そして反省点を次に生かし、より美味しい餃子を求めるようになります。 より美味しい餃子を作るためには、均一であることが重要だということも学びました。

また、餃子作りはとても面白く、たくさんの学びを得られるのでぜひみなさんもお試しください。 チームビルディングにももってこいです。 そしてもしも一緒に餃子作りたいという方がいらっしゃったら、ぜひお声掛けください!!

freee株式会社では、課題解決が得意なGYOMUハックエンジニアも募集していますので、もし興味のある方がいらっしゃいましたらよろしくお願いします!

jobs.jobvite.com

明日のfreee Developers Advent Calendarは、餃子作りにも参加しているTシャツでTwitterがバズりがちのゲームが卒業できないUXデザイナーのtoofuさんの登場です!

freeeの開発者ブログのはじめかた

こんにちは、freee株式会社でエンジニアをやっている id:ymrl です。

はやいもので、2018年も残すところ1ヶ月となりました。12月といえば年末調整とAdvent Calendarですね!というわけで、この記事はfreee Developers Advent Calendarの1日目です。今年もまた12月25日まで毎日リレーで記事を掲載していきます。お楽しみに!

freeeのオフィスに置かれたアドベントカレンダーの写真

さて、今回は開発者ブログ、つまりこのfreee Developers Blogの話をしようかなと思います。いちおう私は社内ではfreee Developers Blogの編集長を自称しているのです。

開発者ブログを始めるきっかけ

このfreee Developers Blogが始まったのは2017年1月ですが、開発者ブログをやりたいよねという話題はもっと前から何度か出ていました。しかしまだ会社が小さく人数も少なかった頃には「最終更新日がだいぶ前のブログが放置されていると読者にマイナスの印象を与えてしまいそう」「それなりの頻度で更新しようとすると負担が大きそう」といった懸念からあえて手を出さないようにしていました。

そんな状態を数年間続けるうちに、だんだんと開発者ブログがないことによる問題が見えてくるようになってきました。それはエンジニアの採用面接を受けてくれるような人が、最近のfreeeの開発チームの使っている技術や雰囲気について知ることが難しいということでした。

当時はWeb上でfreeeの開発チームについて書かれた情報はあまり多くなく、しかもエンジニアが十数人くらいの時代にCTOの横路や従業員第一号の平栗が受けたインタビューがいちばん目立っているという状態でした。エンジニアの数がその頃の何倍にもなっていて新しいものもたくさん取り入れて変化してきた時代とは、創業間もない頃のインタビュー記事はギャップがありすぎました。freeeはせっかく開発チームを盛り上げて良いサービスを提供するための色々な取り組みをしているのに、そういうものをなかなか外に発信できていないという状態になってしまっていました。

2階から見下ろしたかたちでの集合写真。おそらく100人以上の人が写っている
freee Developers Blogをはじめた頃の全社集合写真

そういう状況をなんとかしようというミーティングに、私は「なんとなくそういうの好きそうだし詳しそう」という理由でなんとなく呼ばれ、その場でなんとなく「そろそろブログやってみるか」という話になったのでした。「人数も増えたしどうにかなるでしょ」みたいなことを言っていたはずです。

はてなブログを使う

現在、freee Developers Blogははてなブログで運用されています。「Webエンジニアならブログくらいチャチャッと自分で作ってなきゃアカン」という気持ちがなかったわけではないですが、構築するのもメンテナンスするのも手間だし、なによりもそれが目的化して発信が二の次になりそうで危ないのでブログホスティングサービスを使うことにしました。

はてなブログにしたのは主に以下の点からでした。

  • WYSIWYGではなくMarkdownで書ける
  • コードのシンタックスハイライトに対応している
  • 独自ドメインで使える
  • 個人で以前から使っているのでだいたいの使い方がわかっている
  • 技術系の人がよく見てそうなイメージがある
  • 他社の開発者ブログに使われている実績がある

独自ドメインは有料版(はてなブログPro)の機能ですが、毎月払いだと月々1008円、2年分払うと1月あたり600円です。自前で構築してメンテナンスなんてことを最初から考えなくて本当によかった。

はてなブログの利用開始にあたってははてなのサポートに問い合わせ、法人として共有のはてなアカウントを取得するのが問題ないことを確認して、もし自分が異動や退職で引継ぎが発生してもいいように社内の開発者のメーリングリストのメールアドレスで登録しました。実際の投稿作業などは個人のはてなアカウントをブログメンバーに追加して行なっています。

ブログの名前を決める

ブログをはじめるために、他の会社さんの開発者ブログをかなり参考にしたんですが、多くの会社で “Tech” ”Engineer(s)” をブログの名前に冠していました。そして、freeeではあえてこれらを使わないことにしました。

というのも、何百人もいる会社なのにエンジニアと非エンジニアとの距離が近く、開発職でない人もしばしば開発に深く関わることもあるのがfreeeの特徴なので、開発者ブログに出てくるのがエンジニアだけなのはもったいないという思いがあったからです。そういう理由で “Developers” を冠することにしました。

名前のおかげなのか、カスタマーサポートの人がチャットサポートで運用されているChatBotの記事を書いたり、営業職の人が音声で会計freeeに入力をする記事を書いたりする感じにできたのは良かったなと思っています。

ただし、名前のおかげでブログ開設してすぐの頃は「freee エンジニア」で検索しても辿りつけない状態になって、あわててmeta要素のkeywordsとdescriptionを設定したりしました。あと、社内の人ですら “freee Developer Blog” とか “freee Developer's Blog” とか微妙な表記ゆれを書いてしまうのでけっこう困っています。

編集方針を決める

このあたりを決めると同時に、社内のQiita:Teamに「開発者ブログをやりたいと思っている」という記事を投稿してみました。すると社内のいろいろな人から「こういうブログにしたい」という話や、「内容のチェックや事前申請が大変だとモチベーションが下がってしまう」というようなアンチパターンが集まってきました。

それらを事前に考えていた分と合わせて、以下のような方針としました。

  • 月2回くらい、2週間に1度くらいの頻度で更新するのを目標にする
  • 検証がしんどい記事は無理して載せない
    • その記事のためにサンプルコードを用意したりするのはしんどい
    • 「こんな取り組みをしています」「これにこんな技術を使いました」みたいな内容なら検証が要らない
  • 書く人のキャラクターを出す
    • 記事の冒頭でかならず自分の名前を出して挨拶してもらう
    • 文体や表記のしかたなどは本人の書き方に任せる
  • 書く人のモチベーションを下げないようにする
    • 執筆ノルマを作ったりしない
    • 無理にPV数やはてなブックマーク数を競ったりしない
  • 最低限の内容チェックをDevelopers Blog編集部で行い、必要に応じて詳しそうな人にもレビューしてもらう

特にPV数やはてなブックマーク数を競わないのは、発信内容のクオリティを守る意味でもモチベーションを保つ意味でも大事なことだと個人的には思っています。

さて実際のところどれくらいこの通りにできてるかというと……特に頻度に関してはぜんぜん守れてないです。それでも「freeeという会社にこんな人がいて、こんなことをやっている」という発信にはかなり貢献できているんじゃないかな、と思っています。

freeeの開発チームのことをもっと知れるイベントをやります

最後に告知です。freeeの開発チームのことをもっと知ってもらいたい!そしてfreeeの外にいる技術者ともっと交流をしたい!ということで、 freee Tech Night というイベントを開催します!

freee-tech-night.connpass.com

記念すべき第1回のテーマは「freee on Rails の今とこれからの話」。長年作りつづけた巨大サービスをどうにか効率よく開発したり、機能をmicroserviceに分割したり、新規サービスをいきなりKubernetesに載せたりする話が聞けるはずです。12月14日にみなさまとお会いできるのを楽しみにしています。

オフィスのイベントスペースの写真。広い空間で、仕事をしている人もいる
会場となる五反田オフィスの “asobiba”

さて、明日のAdvent Calendarは社内のGYOMUをハックしつづける@MiryGoAroundです。お楽しみに!

2018年も開発合宿を行いました

こんにちは、エンジニアの id:ymrl です。先日行われたfreeeの開発合宿の様子をご紹介します。

合宿先での集合写真

毎年恒例の合宿

freeeでは毎年秋に開発メンバー(エンジニア、デザイナー、プロダクトマネージャー、etc)全体で開発合宿をやっていて、今回で3回目です。毎年の恒例行事となっています。

開発合宿では毎年、開発メンバーがメインタスクから少し離れ、日頃感じてきた課題に2日間フルに集中して取り組み、プロダクト自体の改善や生産性向上に寄与することを目的としています。そのために開発以外の社内のメンバーにも協力をしてもらい、可能な限り割り込みが起きないようにして課題解決に集中できる環境になるようにしています。

例年、希望者はオフィスを飛び出して合宿先に宿泊しています。今年はCOLONY箱根さんにお邪魔しました!

colony-hakone.com

合宿先に行かないメンバーも五反田や大阪のオフィスで、なかには箱根の合宿先とリモートで協働して取り組んだメンバーもいました。

合宿先の様子

COLONY箱根のアクティビティスペースは開放的な雰囲気で、テーブルやソファなど、それぞれが好みの場所を見つけて作業していました。去年までの合宿であれば「宿に着いたらまずは電源とLANの設営」という感じでしたが、今回は全館Wi-Fi完備で電源もあちこちに設置されているということですぐに作業に入ることができました。ドリンクが無料なのもありがたかったです。

アクティビティスペースを上から撮影した写真 テーブルに向いあって作業している写真 ソファーに並んで座って作業している写真

客室のそばには会議室も用意されていて、そこに籠もって作業する人もいました。

会議室に籠もって作業している写真

高い天井と大きなガラス窓があって開放感のある雰囲気でした。

アクティビティスペースを横から撮影した写真 アクティビティスペースを横から撮影した写真 カウンターで相談しながら作業している写真

当日はあいにくの天気で、ときどき強く雨が振る場面もありましたが、雨が止んでる瞬間を狙って外に出て作業する強者もいました。

中庭で作業する人の写真 喫煙所でリラックス中の写真

最近「キーボードにこだわっている会社」と思われがちの弊社ですが、もちろんキーボードにこだわりのある人は持ち込んでいます。

自作キーボードを並べた写真 分割キーボードの写真

夕食も豪華でした。10月なのでデザートはハロウィン風味です。

夕食の魚のお造りの写真 夕食のデザートの写真。お化けとジャックオランタンの飾りつき 夜の作業風景の写真

写真をお見せできないのが残念ですが、温泉もとてもよく、しかも夜に行くと窓にプロジェクションマッピングが投影されていて、温泉から出てきたみんなが口々に「控えめに言って最高」と言いながら出てきました。私も入りましたが、控えめに言って最高でした。

COLONY箱根のみなさま、どうもありがとうございました!

おわりに

今年も無事に開発合宿を終えることができました。年々、freeeという会社自体も開発チームもどんどん規模も大きくなってきているわけですが、それでもこうして全員で2日間をフルに集中する機会を作れているのはすごいことで、これからも続けていきたいなと思います。こういうことができるのも会社全体の理解と協力があってのことで、ありがたい限りです。

今回の合宿では、また100個以上のプロジェクトが立ち上がり、これからどんどんfreeeのサービスが良くなったり、あるいはサービスを産みだしていく私たち自身の効率が良くなることでユーザーのみなさまに価値が届いていくはずです。どうぞご期待ください。

「第51回 情報科学若手の会」に参加してきました。

会計フリーのエンジニアをしている id:him0 です。2018/10/06~08 に軽井沢で行われた、「第51回 情報科学若手の会」に社会人2年目の若手ということで参加してきたので、そのレポートを書きたいと思います。

f:id:him0:20181011002933j:plain

f:id:him0:20181011002936j:plain

若手の会とは

情報科学若手の会は、情報処理学会の下部組織で、「情報科学に携わる学生、若手研究者、社会人のディスカッションと交流の会」ということで、年に1回合宿形式の発表会を運営している組織だそうです。運営は参加者がリレー形式行っており、今回が51回目ということで50年以上の歴史があるようです。すごい

発表内容の分野は、互いの交流を深めることで新たな発想が生まれることを期待し、情報に関わる幅広い分野から募る形を取っており、今年の発表内容は、ネットワーク系、セキュリティ、アルゴリズム、機械学習、量子コンピュータ、Web から、データセンター(物理)までホントにさまざまでした。

参加者層に関しては、社会人と学生の割合が1:1で、中には高校生と自称若手(本人たち談)が数名という構成でした。

freee はスポンサーというかたちで、参加させていただき、自分はスポンサー枠での発表を行いました。

こんな発表がありました

自分が気になった発表を紹介したいと思います。

リバースエンジニアリング

speakerdeck.com

難しくて一部しか理解できなかったので、下手な感想は言えないのですが、難読化とコンパイラ振る舞いは深い関わりがあることが分かりました。全く知らない世界のことが聞けて面白かったので、じっくり資料を再度見直してみようと思います。

コンテナデータセンタ

データセンターが所有したいという気持ちから、コンテナ買って、建築法調べたり、土地買って、内装作って、サーバ入れて...圧倒的な行動力に驚きました。まさに情熱

我々が普段使っているクラウドリソースも神の御業で提供されているわけじゃなくて、裏側ではこんな文字通り泥臭い作業が行われているんだよなと考えさせられました。

量子コンピュータ

量子コンピュータに対するふわふわしたイメージを整理するような内容で、分かりやすく興味深かったです。

量子コンピュータで扱うことができるという問題は、汎用コンピュータで可能な処理の中でも、限られており、量子コンピュータはアクセラレーションユニットとして使うことが主流になりそうだということで、自作マシンに GPU 感覚で、量子コンピューティングユニット刺すとか、PaaS で量子コンピュータリソースを借りるみたいな未来が来るのかなーと妄想していました。

CTF (Capture the flag)

CTF というものの存在は知っていたのですが、規模感や研究成果からのスピード感、0 day Attack の発見など、第一線にいる方からそのような話が聞けたのは興味深かったです。

参加者は、ほとんど学生で、社会人だと CTF の訓練する余裕ないという話は、なるほどなと思いました。

脳科学と深層学習

脳科学が Neural Network の発想を生み、その実装の再現が脳科振る舞いの解明にひらめきを与えているという相互作用の話は聞いていて非常にワクワクする話だなと思いました。

脳の振る舞いの未知の部分がまだまだあって、まだまだ脳と同じ振る舞いという次元にはただどり付けないという話で、まだまだ機械学習の発展余地はあること、また、人間の脳ってすげええって思いました。

高校生のLT

実際に問題解決のために、物理デバイスを作る話だったり、ソフトウェアを作る話だったりと高校生がこんなばりばりものづくりする時代なのかと、真の若手の勢いにすごく驚きました。

こんな発表をしてきた

スポンサー枠ということで、発表時間をいただいたので、自分はエンジニアが増える中で、どうやって開発速度を上げていくか、会計フリーの開発チームが取り組む「開発速度を支える取り組み」の紹介を行いました。

speakerdeck.com

互いの交流を深めることで新たな発想が生まれる

これからの進路を今考えているという学生の方もいて、いろいろな進路に進んだ先人からいろいろ聞いてこれからを決めたといった言ったのが印象的でした。

自分の話をすると、深層学習の特性等の話はプロダクトに活かせるのでないかと思ったので、理解を深めたいと思いました。

感想

感想ブログ書かれた方に「社会人が学会発表の場の空気を思い出すいい機会」という表現をみましたが、まさにそれだなという感想です。それ見たらそれ以上の感想出てこなくなった。

真の若手のコンピュータ知識の水準がものすごく上がっているのを感じて、自分ももっと勉強しないとなとという気持ちが高まりました。

内容の深い発表もありつつ、交流イベントもプログラムに入っており、参加してとても満足のイベントでした。

久々の登壇で少し緊張もしましたが、現場でやっていることを学生に共有し興味を持ってもらえたのは、貴重な体験なのかなと思いました。

参加者の方も含め、freee の開発の現場が気になる、実際インターンしてみたいという方は、気軽にお声掛け下さい。ではでは