ナカザンドットネット

それって私の感想ですよね

経済メディアのお仕事をしていた近況報告

mhidakaアドベントカレンダーの8日目です。7日目はらこらこの本屋の話でした。本屋やってたの!?

blog.lacolaco.net

気がついたら12月9日になっていたので1日遅刻してますが、気にせず12月8日の43時を過ごしていこうと思います。

今年の本業の振り返りをしていきますねー。

デジタルメディア事業のお仕事に軸足が移った

昨年まではマネイロ等のオンライン資産運用サービス事業に関するお仕事をしていることが多かった筆者ですが、今年はデジタルメディア事業のお仕事をしていました。

モニクルグループでデジタルメディア事業を行っているモニクルリサーチ社は、月間ユニークユーザー数1300万人、月間閲覧数(配信先含む)が1億6000万PVを超える、くらしとお金の経済メディア「LIMO」をはじめ、お金の専門家がわかりやすく解説する金融メディア「LIMO & Finance」、くらしとお金の課題解決サービス「MeChoice」、株式投資初心者向け株主優待紹介メディア「株1(カブワン)」を運営しています。

limo.media

軸足が移ったあと、まずは編集部の業務を一部自動化する形の業務改善を行なったり、既存メディアの派生サービスを作ったりしていました。

zenn.dev

内向きの業務システムはGoogle Cloud中心で作ることも多いのですが、CDNキャッシュを効かせやすい外部向けのWebサイトはCloudflare Developer Platformを中心に組み上げていたりします。

自分がやらないと他にやる人がいない状況が増えましたが、よく考えたら2011年くらいからずっとそんな感じのプロジェクトばかりやってきたな、と思うと、割といつも通りの感じでした。

モニクルリサーチ社のCTOになりました

そんなわけで、モニクルリサーチ社のエンジニアリングマネージャーとして、業務フローの効率化を少しずつ進めつつ、新しい仲間集めに勤しむ2024年でしたが、最後に大きなイベントが待っていました。なんと、筆者がモニクルリサーチ社のCTOに就任しました。

monicleresearch.co.jp

モニクルグループ全体のCTOとしては塚田さん( id:gabuchan )がいるので、グループ内にCTOが2人いることになります。ちょっと混乱しそうですが、役割は明確に分かれています。

筆者のCTOとしての固有の責務は エンジニアリングという選択肢を持って、モニクルリサーチ社の経営層やマネージャーと一緒に事業の課題解決の方法を考える ことだと考えています。それ以外のエンジニアリング組織の運営に関わる部分については塚田CTOやEMの仲間たちと協力しながら進めていけそうですが、デジタルメディア事業の経営メンバーと一緒に頭をひねる役割は筆者が担います。

CTOとして大事にしようと思っていること

よくある「エンジニアの親分」「社内で一番技術がわかる人」みたいなCTOは目指せなさそうなので、自分がCTOを名乗っていいのかな、と不安になることもありました。しかしながら、CTOの姿は組織ごとに違っていいと教えてくれている、昔から大好きな記事を思い出したのです。

tech.toreta.in

筆者も大学生のときに「へんな会社」のつくり方を読んで、将来ベンチャーで働くことを夢見た人間の1人なので、 id:naoya というCTOへの憧れは当然あります。でも、masuidriveさんが「We are NOT Naoya」という言葉を掲げてくれたときに、なんだか気が楽になったんですよね。偉大で尊敬しているからといって、真似しなければいけないわけではない。当時、とにかく偉大な先達の真似をしないといけないと思っていた自分にとっては、大きな転換点でした*1。

読んだ当時は自分がCTOになる目線で読んでいたわけではありませんでしたが、数年ぶりに読み返してみると、自分たちの組織らしい形を考える足場になる、いい記事だなあと思います。

そんなことを考えながら日々を過ごしていたら、sotarokさんがいい記事を書いてくれました。

note.com

CTOは「経営メンバーの中で一番技術が分かる人」になる必要がある、という話はちょうど似たようなことを考えていたタイミングだったので、めちゃくちゃ頷きながら読んでいました。

モニクルリサーチ社のCTOにしかできないことは、やっぱりそれですよね、と自分の現在地を確認できたので、CTO 1年生としてなんとかやっていきます。

アドベントカレンダー、次はあんざいゆきさんです。

*1:2017年のAndroidエンジニアだった自分にとっては「We are NOT クックパッド」に気付けたのが大きかったし、2021年ごろの自分は「We are NOT メルカリ」と唱えていた気がします。事業も組織も規模も違うんだから、上辺の形だけ真似したってしょうがない。

Cloudflare Meetup NiigataとRemix Tokyo Meetupで登壇してきました

技術記事はzennに書くことが多くなりましたが、登壇報告はまあこっちでいいでしょう。

8/25に行われたCloudflare Meetup Niigataと、9/25に行われたRemix Tokyo Meetupで登壇してきましたのでご報告しますー。

Cloudflare Meetup Niigata #1

8/25はCloudflare Meetup Niigata #1 に登壇しました。仕事で7月にリリースしたキャラつくAIの事例をどうしてもCloudflareのイベントで喋りたくて、主催のkasacchifulさんを唆して開催した形になります。新潟なら家庭内稟議が通りやすいので……。わがまま言ってすいませんでした!

cfm-cts.connpass.com

登壇内容は、キャラつくAIで採用したCloudflare Developer Platformのツール群についてのお話です。

speakerdeck.com

当日はCloudflareエヴァンジェリストのkameoncloudさんが来られていたのもあって、使い方のフィードバックがいただけたのが嬉しかったです。キャラつくAIでは、メモリをバカ喰いしそうなWorkers AIのためにWorkerを別立てして、Queue経由で動かしています。他の部分はService Bindings RPCで繋げているのですが、AI周りだけは処理時間の問題もあり、Queue経由の実行にしていました。それに対して、「undocumentedだけどService Bindings経由で動かすと呼び出し元と呼び出し先でメモリを共有しちゃうはずなので、Queueを挟むのは方針として正しそう」というフィードバックをいただけました。中の人と話せるのは貴重なので助かりました。

という会話があった数日後、その辺の話題をサポートした記事が生えてきました🎉

zenn.dev

登壇してよかったです。

併催されたハンズオンで、自分用のZero Trust環境を立ち上げて1.1.1.1にVPNを繋げる体験ができたのもよかったです。結構簡単にできるもんなんですねえ。

Remix Tokyo Meetup

先日、9/25にはRemix Tokyo Meetupで登壇してきました。今回は赤坂です! 登壇なので会社から出張費が出ます!やったぜ!!!!

lu.ma

登壇内容は、Cloudflare環境のRemixでSentryを動かそうと頑張ったお話でした。そう、やっぱりキャラつくAIです。今年はキャラつくAIを擦っていきます。

speakerdeck.com

5〜6月ごろに @sentry/remix の代替技術を探し回ったログをしゃべってお茶を濁すつもりだったのですが、 nodejs_compat_v2 が出てきて検証するチャンスができたり(動かなかったけど)、うっかり @sentry/cloudflare を見つけてしまったりして、思いの外いい感じに最新事情をお話しできました。

イベントの印象としましては、Remix自体の話というよりは、Remixの開発環境や運用全般がスコープになっている印象でした。結果的に、Cloudflare Pages/Workers上でのフレームワークの取り回しをもっと良くする発表が多かったような気がします。参加者が口々に「Workers Tech Talksだったっけこれ」と呟いていました。

あとはあれですね。なんかやたらと登壇者が豪華でした。

  • 10分枠
    • ​@chimame_rt - [RemixでVersion skewに立ち向かう]
    • ​@kenn
    • ​@gothedistance - [Dive Into Single Fetch]
    • ​@Nkzn - [Remix × Cloudflare Pages × Sentry 奮闘記]
  • 5分枠
    • ​@takashi_onda
    • ​@mizchi - [Remix は RSC にどう対応するのか]
    • ​@ossamoon - [RemixとCloudflare Stack におけるFile Upload]
    • ​@_kaiinui

ここに主催のtecktalkjpさんも入れると、あら不思議、国内のRemix情報発信者のそこそこの割合が喋ってるのでは……?

メンバー据え置きで1人50分ずつ喋らせたら立派なRemix Tokyo Conferenceになっていたかもしれません。……いや、その規模で喋れるネタはなかなか用意できないのでもうちょっと時間ちょうだい……

もし次回登壇することがあったら、Expo RouterのAPI Routes用パッケージである @expo/server が、Node.jsサーバー上で動かすときにNode.js StreamとWeb標準のReadableStreamを相互変換するために、Remixの力を借りている↓話なんかをしてみたいですね。

github.com

今後の予定

たぶん技術書典17まで大人しくしています。技術書典17で僕と握手!

techbookfest.org

クリスマス料理に疲れたら無水白菜カレー

バズレシピAdvent Calendar 2023の25日目です。

adventar.org

クリスマスイブで張り切ったので、もう疲れた! 込み入った料理はしたくねえ! しかし冷蔵庫には消費期限がギリギリの豚こまと、大量の白菜が眠っておられる! どうする!

そんなときに役立つのが、「無水白菜カレー」です。

www.youtube.com

食材としては、ほぼ白菜と豚肉とカレールーがあればいけます。すりおろしニンニクも必要ですが、チューブでええんじゃ。後の調味料は家にあるな!ヨシ!

玉ねぎを切らなくても甘く美味しくなるので、怠いときにめっちゃオススメ。レシピだと甘みのためにお砂糖を追加してるんですが、実はカレールーを甘口のやつにしておけば、お砂糖の工程がなくても全然大丈夫です。我が家は4歳児のためにバーモントカレー甘口のストックが豊富なので、砂糖なしでいけます。

そんなわけで調理工程の様子〜。

お手軽白菜カレー

美味しくいただきました。

アドベントカレンダー2023終了

今年もなんとか最終日にたどり着けてよかった……!

皆さんが料理にこだわったり雑にしたりしている様子が見えてめっちゃよかったです。来年もやりたいな!

塩フライドチキンでメリークリスマス

バズレシピAdvent Calendar 2023の24日目です。

adventar.org

メリークリスマス!ということで、クリスマスっぽい料理を作りました。

メリクリ

写真右のフライドチキンは「塩フライドチキン」、写真下は「超柔らかむねローストチキン」でした。

www.youtube.com

www.youtube.com

いやーどっちも美味しかった。子供達にも好評でよかったです。

納豆カルボナーラはワンパンで作れる

バズレシピAdvent Calendar 2023の22日目です。

みなさん、納豆カルボナーラは好きですか!

www.youtube.com

僕は好きです。

今回は納豆カルボナーラのワンパンバージョン、いわゆるリゾッタータによる調理に成功したので、紹介したいと思います。

途中までは原作通り

調理の順序を少し変えるだけですので、順を追っていきましょう。分量はどれも原作そのままです。

  • オリーブオイルでニンニク、ベーコン、玉ねぎを炒める
  • 酒を入れて炒める
  • ひきわり納豆を入れて炒める

ここまでは全く同じです。次が重要な変更点です。 バターはまだ入れません。 バターを一緒に煮込んでしまうと、流石に香りが飛ぶと思うので、バターは最後に入れます。

  • 白だしを入れて炒める

バターを省いただけで、ここまでほぼ原作通りにソースを作っていますね。

大きな変更点

ここからは大きく変わっていきます。

  • このタイミングでソースの水分をしっかり飛ばします

原作では酒や白だしの水分が残っていることは許容されていますよね。後でパスタの煮汁を足して水分(と塩味)を補強するとはいえ、別にソース作りの工程で積極的に水分を飛ばすことには言及されていません。

しかし本レシピでは、これから水を入れてリゾッタータを行うので、酒や白だし(もしかしたら納豆も)の水分を飛ばしておいて、水分量のコントロールを行いやすくするほうが重要です。また、水分を飛ばす過程で、ベーコンや納豆に酒や白だしの旨みが吸い込まれることも期待できます。

  • フライパンに350mlの水を入れて沸かす
  • 小さじ1/3の塩を入れる
  • 1.6mmのパスタ100gを入れて7分茹でる

この辺は、普段のリュウジのワンパンレシピを見ている方なら見覚えがあるものだと思います。

リゾッタータしてるところ

  • 茹で汁が大さじ1残るくらいまで水分が飛んだら、火を止めてバターを入れてよく混ぜる

この辺は至高を超えたボロネーゼを参考にした調理工程です。たぶん最後に入れたほうがバターの香りが活きると思いました。

  • お皿によそって、卵黄を乗せて、黒胡椒とパセリをふったら出来上がり

ということで出来上がったのがこちらです。

ワンパンで作る納豆カルボナーラ

かなりうまい

煮込むことで納豆の風味が飛んでしまわないかなと不安だったのですが、出来上がってみると、パスタとの絡みがめちゃくちゃ良くなっていて美味しいです。焦がしチーズ納豆みそラーメンでは納豆を茹でても美味しいままだったので試してみましたが、正解でした。

というわけで、原作との違いは以下のポイントでした。

  • バターを最後に入れる
  • 炒め工程で調味料の水分は飛ばす
  • 水は350ml入れる
  • 水に塩小さじ1/3を入れる

マジでめちゃくちゃ美味しいので、納豆カルボナーラ大好き勢の皆さんは是非とも作ってみてください。

アウトプットまとめ2023

そーだいさんのアウトプットまとめを見て、久々に僕もアウトプットまとめしようかなと思いました。

過去のまとめはこちら。

今回はジャンル別にしてみます。

登壇

今年登壇したのは4回でした。新潟でLTイベントの「新潟5分Tech」をスタートできたので、来年は登壇の機会が増えるかも。毎月どこかの金曜日にやる予定なので、ちょうど新潟に来れそうな方がいたら顔を出してみてください。

今あらためて考えるフルリモートでうまくいくプロダクトチームの作り方!

speakerdeck.com

技術書典14スポンサートーク

plus.monicle.co.jp

新潟5分Tech

niigata-5min-tech.connpass.com

niigata-5min-tech.connpass.com

同人誌

2019年以来となる、技術同人誌を出しました。

techbookfest.org

Pull Request

今年はひとつだけOSS活動をしていて、MUIのRemixサンプルをv1からv2に移行しました。全世界100万人のRemix + MUIユーザー(そんなにいねえよ)を救ったので褒めてほしい。

github.com

なんか今見たらRemix + MUIの体験をもうちょっとなんとかしようぜIssueが立ってたので、なんか手伝えそうなら手伝いたい。

連載

CodeZineさんで4本並行で連載を持っており、合わせて10本の記事が出ました。年内にもう一本出るかも?

オウンドメディア

会社のオウンドメディア、モニクルプラスでも時々ライター業をやっていました。

3月の純粋培養〜の記事は当初、3,000字くらいで軽めのイベント参加報告をしてほしい、みたいなオーダーを編集長から受けていたのですが、初稿をゴリっと書き終えたら13,000字くらいのマッチョな記事に仕上がっており、急遽特集記事としてラベリングされたという事故があったりしました。懐かしいですね*1。

Zenn

Zennはスクラップ1本、記事3本でした。

sizu.me

しずかなインターネットも始めました(正直立ち位置に困ってる)。

ここ

雑多に書いてましたが、だいたいアドベントカレンダーですね。やはり締切はコンテンツを生む……

まとめ

オンラインも含めれば、登壇は年に1〜2回ペースで続けられています。子供の手がかからなくなってきたらもう少しやりたい気もする。

ブログ記事はここ数年で一番書いたかもしれないです。なんだかんだでCodeZineさんでの連載のおかげで、テクニカルライティングの習慣がついているのはいいことなのかも。

基本的には家事と育児と本業と技術書典開発チーム業あたりで手一杯になって疲弊していますが、今後ともアウトプットは続けていきたいと思います。

それではみなさま、良いお年を。

*1:この出来事で本格的に編集部から「開発部門のライター役」としてロックオンされたような気がします。

モニクル社のzp-チャンネルを振り返る2023

モニクル Advent Calendar 2023の14日目です。昨日はコーポレートブランディング担当・高村さんの「表記のルールを考える 〜オウンドメディア運営の現場から〜」でした。記事公開後に社内で「僕は表記揺れのチェックにReVIEW-Templateのprh-rulesみたいなのを技術同人誌を書くときに使っててー」みたいな話をしたら、テンションぶち上がってました。

さて、本題に入りましょう。1年半ほど前に、こんな記事を書きました。

blog.nkzn.net

筆者の入社前に分報文化が上手く定着せずに廃れていた times_ チャンネルでしたが、筆者が社内Twitterのような サボり場 雑談の場として利用したところ、コミュニケーションが活気づいた(ついでに命名規則を zp- にした)というお話でした。

あれからエンジニアの人数も倍くらいになり、zpチャンネルの使われ方がどうなったかを振り返ってみようと思います。

投稿頻度に差はあるものの、独り言チャンネルとしては引き続きワークしている

筆者はXと同じかそれ以上くらいの頻度でzpに投稿していますが、そこまでではないにしても、みなさん自分のペースでzpチャンネルを活用するようになっています。

zpの運用が定着した

SWEのオンボーディングのワークフローにzpチャンネルの作成が組み込まれているのも大きいかもしれません。入社時のオンボーディング作業のために onboarding_(名前) というチャンネルを立てているのですが、ひと通りのチュートリアルが終わって、初めてのPull Request出したり初めてのデプロイをしたあたりのタイミングで、 zp-(名前) へとリネームする運用にしています*1。そのため、ここ1年半くらいで入社したSWEは必ずzpチャンネルを持ってるんですよね。

やはり入社したばかりだとパブリックなチャンネルに質問や意見を投げるのが怖いということもあると思うので、「自分がイニシアチブを持っているチャンネル」がひとつあるというのは、安心につながる部分もあるのではないでしょうか。しらんけど。

日報の投稿場所としてワークするケースが増えた

割と意外だったのは、日報をつける人が続々と現れたことです。

日報としてzpを使うケースが増えた

初めは、ある新しく入ったメンバーが、習慣として出退勤の報告や日報を書いてくれていただけでした。それ自体は「ちょっとお堅い使い方だけど、それもまたzpだよね」くらいで筆者も眺めていたのですが、それを見た別のメンバーが「あれ、日報を書いておくと、翌朝や週明けに作業を再開するのがスムーズだぞ?」というのに気がついて、真似し始めたんですね。

そこからは早くて、気がついたら開発チームの過半数くらいが日報を書くようになっていました。「上長に書かされる日報」というのは筆者も新卒の頃に経験があります*2し、まあまあ面倒なものでしたが、「自分のために書く日報」というのは、こんなに定着するものなんだなあと驚いたものでした。

周りのメンバーからしても、どんな作業を抱えていて、何に困っているのかを検知しやすいので、本来の分報チャンネル的なメリットが一周回って戻ってきた感じがとてもよいですね。

ちなみに、特に日報をつけなければいけない圧力はないので、入社をご検討いただいている方はご安心ください。あくまでも「日報でも書いておかないと明日の自分が今やってる作業を思い出せる自信がない」といったような各自の現実的な判断により、自発的に行われています。

個人への連絡先や1on1の起点としての利用

モニクルでは、情報のサイロ化を避ける目的で、DM(ダイレクトメッセージ)の利用が原則禁止*3になっています。

そのため、「1on1のリスケお願いします〜」とか「今度飲みに行く時のお店どうします?」のような、個人対個人の色合いが強い連絡があるときは、zpチャンネルをDMの代わりに使うことがあります。DMと同じように「それはもっと適切な業務チャンネルで話したほうがよさそう」という話題が現れることもなくはないですが、見かけ次第誘導したりしなかったりしています。まあ他に誰もいない場所で喋られるよりは、多少のスレ違いのほうが1万倍マシです。

まとめ

というわけで、zpチャンネルが色々な活用のシーンを見せ始めていて、やっぱり社内のコミュニケーションを活発にしていてよいというお話でした。

*1:どこかの会社がそれで上手く回っているというのを見かけて真似したんだけど、どこだったか思い出せない

*2:僕が書いてたのは週報だっけな

*3:もちろん機密情報や社員自身の個人情報を扱う会話は例外です