0-8

2022年の振り返りと2023年の抱負

仕事

前職の BrainPad を退職したのが2021年の11月末。12月からは Ubie で働き始め、あっという間に一年が過ぎてしまった。 Ubie は、周りに若くて活発に人が多く、毎日刺激を受けながら過ごしています。

Ubie では、初め機械学習エンジニアとしてアルゴリズムの改善に関わっていましたが、6月頃からは分析・BI寄りの仕事をするようになりました。 一番使っている技術は BiqQuery / dbt。前職では実は SQL で分析のコードを書いたことはほとんどなく、 SQL に触れたこと自体も実は 5 年ぶりくらいだったので、初めは戸惑いましたが、自分自身では書かないもののDSのコードを見ていたりはしていたのですぐに慣れました。

Ubie Discovery の特徴として「組織を自分達で創る」というものがあり、自分も多分に漏れず組織活動をしていました。 もともと工数の20%くらいは組織作りに関わろうと考えていたのですが、前職でもカルチャー浸透的な動き方をしていた点に個人的な興味も加わり、結局業務時間の50%程度はこちらに割いていました。

また、今年はアワード(チームに与えられるもの)を3つ受賞しました。それ自体はとても嬉しく、モチベーションにもつながるのですが、どれも自分が主体的に推進したものではなかったので、今年は自分発信でやりたいです。

反省点としては、定期的に発生する仕事が属人的になってしまっていて、自分以外の人に委譲しづらくなってしまっていること。ドキュメントを整備したり、人を巻き込んだり、いろいろやりようがあったと思うけど、目先の仕事に追われて整備に時間を割けなかったです。時間配分は個人的な来年の課題。

育休

3月23日に第二子が生まれたのをうけて、4月に育休を取得しました。育休期間は悩んだのですが、10月に開始された育休の分割取得 を利用できるよう、短めに1ヶ月としました。

Ubie は育休を取る人が非常に多いので、周りを気にせず育休が取れてよかったです。ただ、面倒を見るはずの第二子が発熱で入院することになったり、育休中に家族がコロナに罹患してしまったりでバタバタしていて、結局1週間くらいしか育休っぽいことはできませんでした。

個人事業主

前職の退職を機に、個人事業主の開業届を提出し、個人事業主になっています。 以前はボランティアで受けていた依頼がいくつかあったのですが(仕事にも直接つながるしいいかなと思っていた)、ちゃんとお金をいただくようにしました。

せっかく個人事業主になったので、受託以外にも何かやりたいなと考え、年内のサービスリリースを目標に色々構想を練っていたのですが、あまり時間を割けなかった点と、不慣れな領域が思ったよりも多かった点などから、断念することになりました。今年はなにかリリースします。

プライベート

子育て

子供が二人に増えて、家は常にドタバタしています。赤ちゃんはやっぱり可愛いというのと、年長さんの第一子がちゃんとお兄ちゃんらしくなったのが印象的でした。また、友達を家に招待したり、公園で遊ぶ約束をしてくるようになったのがとても微笑ましかったです。自分が子供の頃は、それこそ毎日友達や兄貴とワイワイ遊んでいたのですが、コロナの影響か、一年位前まではそういった話が一切なかったので、少し心配していたのです。

しかし、小さい子供が2人いると、親は大変ですね。。土日はないし、仕事も保育園のお迎えのタイミングで打ち切られるし。世のパパさんエンジニアはどうやって情報収集やアウトプットをしているのだろうか。

趣味

個人事業主になったこともあり、お金について少しは知っておかないと、と思ったのでFP3級をとりました。 FP3級は、広く浅い知識を問われるような試験でした。一般教養として知っておくとよさそうな内容で、個人的には家を購入する前に勉強しておけばよかったなと思いました。ちなみにFPの試験には「FPで税理士の...」という文言がたくさん出てきます。これは、FPだけだとできることがほぼない(例えば具体的なアドバイスをしてはいけない)から、FP以外に資格を持っていることを明示するためです。

夏頃に早朝ランニング、雨天時はHIITトレーニング、というのを始めました。11月頃まで続けていたのですが、体調不良やらなんやらのタイミングで数日間空けてしまったのをきっかけに、やらなくなってしまいました。これは自分に負担をかけない範囲で再開しようと思います。

10月末頃から盆栽を始めました。今持っているのは

  • 長寿梅
  • ハゼの木
  • 五葉松(苗木)
  • 黒松(苗木)
  • 五葉松、桜、長寿梅、ナンテンの寄せ植え
  • ヤマキリシマ(苗木)

剪定してみたり、針金かけてみたり試行錯誤しています。きっと何度か失敗して枯らしてしまったりするんだろうなと思いますが、可愛がっていきたいと思います。

コミュニティ活動

育児をしながらのコミュニティ活動はマジで厳しい、と痛感した一年でした。

TensorFlow User Group

TFUG は、あまり活発に活動できませんでした。フレームワークとしては PyTorch が主流になってきており、個人的に大好きな Keras は応援したいのですが、転職の関係もあり利用する機会が減ってしまっているというのが難しかったです。JAXなどの新しい技術に舵を切るか、悩みどころです。

Google Developers Expert

GDE として、いくつか登壇しました。来年はもうちょっと増やしたいです。

MLSE ワーキンググループ

MLSE の機械学習オペレーションワーキンググループをお手伝いすることにしました。週に1回程度のmtg。本当はそれ以外にもいろいろお手伝いしたいのですが、なかなか時間を取れませんでした。

Casual Optimization

Optimization Night という勉強会を不定期でやっていたのですが、コミュニティにしましょう!という声をいただき、数理最適化のコミュニティ Casual Optimization を立ち上げました。

Casual Optimization では、2週間に一度運営会議を開いて、活動内容を決めています。2022年は

  1. 勉強会(Optimization Night)
  2. 輪読会 (Pythonではじめる数理最適化) + A Mathematical View of Interior-Point Methods in Convex Optimization (気がついたらはじまっていた)
  3. opt-radio

など、色々とチャレンジしました。同志がいるというのは嬉しいですね。今年も頑張りたいと思います。

今年の抱負

全体を通して、自分は人に頼るのが苦手なんだな、と再認識しました。 子供も生まれて忙しくなる中で、人に頼ることに苦手意識をもっていると、どうしても出力が落ちて諸々のことに時間がかかってしまいます。 ということで、今年は「ちゃんと人に迷惑をかける」を意識していきたいと思います。

それでは、本年もよろしくお願いいたします。

外から見た Ubie と中から見た Ubie

Ubie Discovery1 に入って二ヶ月ほど経ちました。前職では立場もあって、案件ではアドバイザーとして入ることが多く直接自分でデータをいじる機会は減っていたのですが、Ubie では一介の機械学習エンジニアとして、アルゴリズムの改善に取り組んでいます。初めての転職だったので結構不安でドキドキしたけど、新しい環境や仲間にも徐々に慣れてきた気がします。

さて、転職時に何が不安だったかというと「入社してみたら思っていたのと全然違った!」みたいなことにならないかということでした。Ubie はいろいろなところで情報発信しているので、転職を検討している段階から色々な情報に触れることはできました。ただ、やっぱり外から見える情報には限りがあるし、転職してみたら全然違ったというのもよくある話です。最近やっているカジュアル面談(とか雑談)でも、

「転職おめでとうございます!で、Ubie、実際どう?」

と聞かれることが何回かありました。

さいわい僕の場合は、入社前に想像していた Ubie と入社後に見える Ubie に大きなギャップはなく、仕事も楽しめています。ただ、それでも「Ubie に入る前に思っていたのとちょっと違ったなぁ。勘違いしていたなぁ。」と感じたことはいくつかありました。このギャップに気付けるのはいましかない!ということで、個人的に感じた点をいくつか書いておこうと思います(そして Ubie に興味のある方、是非 Meety で色々話しましょう!)。

meety.net

1. なんかみんな、至る所で「よさそう!」って言っている

Slackでも実際の会話でも、Ubie の人たちはいろんなところで「よさそう!」って言っていて、これはちょっと独特だなぁと思いました。

お互いに「いいね!」を贈り合おう、という話はよく聞きますし、前職でもそういう話はありました。ただ、僕にはちょっとした照れや違和感がありました。個人的に「いいね!」という言葉は、わざとらしさや上から目線な印象を感じてしまって、使いづらかったです。

Ubie の場合は「よさそう!」です。

よくレビューで使われる LGTM (Looks Good To Me)を日本語に訳すとまさに「よさそう」となりますが、レビューだけでなく、なにかやろうとしたときに背中を押してあげるときなどにも使います。「〜そう」という語尾のおかげで、この言葉を使うハードルがぐっと下がっている気がします。ちなみに「よさそう」よりも更に言いやすい(?)「よさそう風」なる言葉も使われていて、ちょっと御御御付け(おみおつけ)感があります。

f:id:ohtaman:20220126042158p:plain
よさそう

入社間もないときは何をするにしてもドキドキなので、とにかく「よさそう!」といって背中を押してくれる文化はとてもありがたいなぁと感じました。同時に、前職ではあんまりこういうことしていなかったなぁという反省もしました。「まぁわかるけど、あんまりやりすぎてもなぁ。しらけちゃうよなぁ。」とか思っていたんですよね。

ちなみに業務メンターの菊田さんは「よさそう!」だけでなく、ときどき「最高!」っていってくれるんですが、これは最高に嬉しかったりします。僕も真似しよう。

2. 医師の参加するスクラム

私の今のしごとは機械学習エンジニアで、主に「与えられた症状に関連する病気を抽出する仕組み」の改善をしています。機械学習には当然データが必要で、専門知識が必要なデータについては、社内の医師に作ってもらっています。

医師にデータを作ってもらっているという話は Ubie に入社する前から聞いていたのですが、なんとなく「医師のチームがあって、必要に応じてデータ作成を依頼する」ようなプロセスをイメージしていました。

実際には、医師が機械学習エンジニアと同じスクラムチームに入って、一緒にスプリントを回しています。当然医師もすべてのデイリーを含むすべてのスクラムセレモニーに参加しています。GitHub に Issue もたてるし、PR もおくります。

機械学習の肝は質の高いデータです。前職では受託分析が中心だったこともあり、質の高いデータを用意するには、相当のコミュニケーションコストがかかっていました。Ubie では、データ作成をしてくれる医師が同じスクラムチームにいるので、最小限のコミュニケーションでデータの改善ができます。専門家の知見をアルゴリズムに取り入れることも容易です。また、普段から自分とは違った観点の話も聞けたりして最高です。

https://storage.googleapis.com/studio-cms-assets/projects/BmqMplBJOX/s-2400x1600_v-frms_webp_b36042f3-a52b-44cd-b270-964a3a9fc82c_middle.webp

ひとりだけデータサイエンティストでない人が混じっています。誰でしょう。

3. オンボーディングが丁寧

Ubie はスタートアップなので、オンボーディングはそこまで手厚くないだろうと思っていましたが、実際にはかなり手厚く、丁寧でした。 これは同時期に入社した okiyukiさんのブログでも書かれていますね。

入社者が全員受けるオンボーディングセッションが計4日間。加えてメンターが2名(業務メンターとカルチャーメンター)ついて、約一ヶ月間、それぞれ業務と文化のメンタリングをしてくれます。メンターは一ヶ月後にオンボーディングの卒業要件を厳正にチェックします。

Ubie には独特な組織や文化があって、結構学習コストがかかります。入社まもなく右も左もわからない時期に、しっかりサポートしてくれるのはとてもありがたかったです。

4. 動的にヌルヌル動く組織

転職時に気になっていたことの一つに「Ubie 社員の誰に聞いても良いことしか言わない」疑惑がありました。公式に発信している情報にネガティブな情報が入っていないのは理解できるのですが、面談や面接時に組織の悪い面を聞いてもほとんどでてこないんです。こちらとしては、良い面と悪い面両方を加味して、判断しようと思っているし、それがお互いのためだと思うのに。可能性としては

  1. 悪い面はあるけど、入社させたいので隠している
  2. 悪い面はあるけど、気づいていない
  3. 本当に悪い面がない

の3通りがありますが、完璧な組織なんてないので、 1. か 2. なのかなぁと思っていました。結局「まぁ、入ってみればわかるか」という感じで入社を決めたのですが。。

実際入社してどうかというと、社内にいても組織のことを悪く言う人がいないです(正確に言うと、「こうしたほうが良い」みたいな話は常にあるけど、不満にはつながっていないように見えます)。これははじめ結構不思議だったのですが、一ヶ月ほど社内にいて感じたのは

  • 完璧な組織ではないけれど、組織の課題に柔軟に適応する仕組みが機能しているから

かな、ということです。つまり、上の選択肢には含まれませんが

  1. 悪い面があっても常時解消されていくので不満につながらない

と。

Ubie Discovery では、ホラクラシーという組織形態を採用しています。入社前、ホラクラシーの一番の特徴は「フラットで自由な組織」と認識していました。同じような認識の方も多いのではないでしょうか? Ubie に入って感じたのは、ホラクラシーの特徴は「フラットで自由な組織」ではなく、「動的に動く組織」とか「アジャイルに適応する組織」だということです。

Ubie では、四半期単位でOKRが変わります。OKRが変わる(つまり四半期のゴールがかわる)と、当然必要な機能も変わってきます。すると、今まであったチームが解体されたり、新しいチームができあがったりして、組織構造も変わります。面白いのは、「(OKRにあわせて)四半期に一度、組織構造をかえている」のではなく、「メンバーが気づいた時に組織が変わる」という点で、常時組織は変わり続けていて、OKRが変わるタイミングは大きな変化が起きやすいだけなんです。

前職では、組織を作るのは上の人間の仕事で、メンバーの仕事ではありませんでした。また、組織をおおきく変えられるタイミングは年に1〜2回しかありませんでした。当然試行錯誤なんてできないし、何らかの課題があったとしても、可能な対策はかぎられてしまいます。課題があるのはわかっているけど、試行錯誤できないのって結構きついんですよね。上の人間だって人間ですから。

ラクラシーだと、組織は柔軟に変わるし、試行錯誤できるんです。これは本当にすごい。Ubie における具体例については、ソフトウェア開発との対比で紹介している記事もあるので、興味のある方はぜひご覧ください。

yoheikikuta.github.io

普通、組織構造が絡むと途端に時間がかかるようになるし、試行錯誤もできません。普段の仕事がソフトウェアだとすると、組織はハードウェアのイメージでした。だけど、翌々考えてみると、本物のハードウェアと違って組織という物があるわけではないし、やりようによってはソフトウェアになるんだなぁ、ということを Ubie に入って思いました。

まとめ

前述のとおり、初めての転職だったので結構不安でドキドキしたけど、新しい環境や仲間にも徐々に慣れてきた気がします。そして、Ubie に入ってみて、やっぱり Ubie は面白い会社だなぁと思いました。また、興味のある方は Meety などでお気軽にお声がけください!

meety.net

おまけ

同時期に入社のみんなも中から見たUbieについて書いています。参考まで。

note.com note.com note.com www.itume.ninja manabu.tech


  1. Ubie株式会社は内部的に3つの組織に分かれており、私が所属しているのが Ubie Discovery という組織です。組織によって文化が違うので、ここで書くのは Ubie Discovery の文化だと思ってください。

エアコンを買い替えた時にかんがえたこと

昨年12月に、リビングのエアコンが動かなくなってしまいました。エラーコードを確認すると、どうやら冷媒ガス漏れによるものでした。これは素人が修理できる類のものではないらしく、業者を呼んで修理する必要があることがわかりました。修理しても良いのですが、このエアコンは購入から10年ほど経っていたこともあり、せっかくだから、ということで買い替えることにしました。

f:id:ohtaman:20220122232733p:plain
壊れたエアコン

f:id:ohtaman:20220122232804p:plain
新しいエアコン!

1. 修理か買い替えか

ネットで調べたところ、今回の故障内容である冷媒ガス漏れの修理の相場は大体1.5〜2.5万円程度のようでした。一方、買い換えると

  1. エアコン代 (10万円〜)
  2. 工事代(1〜2万円)
  3. 古いエアコンの引き取り代(数千円)

がかかるようで、単純計算では修理の方が 10万円以上安いように見えます。

ただし、エアコンの耐用年数がだいたい10年くらいらしいので、今回修理しても、すぐにどこかが壊れてまた修理を頼む羽目になることが見えています。エアコンは季節もので、基本的に暑い時期か寒い時期にした使いません。そのため、壊れたことに気がついた時にはすでに遅しで、暑い/寒い時期になってしまっています。エアコンが必要な時期にエアコンが使えないのは、本当に辛いです。

今回のような思いを何回も繰り返すよりは、ということで、思い切って買い換えることにしました。

メーカー選定

では、どのメーカーのものを選んだら良いのでしょう?エアコンの購入なんて、人生で何度もするようなものでもないので、全くが勘が働きませんが、以下のような観点で考えました

  1. 壊れたエアコンと同じメーカー(ダイキン)を選ぶと、取り替え工事がスムーズだったり引き取りが割引きになるのでは?
    • 壊れたエアコンが10年も前のものなので、エアコンの形状も機能も変わっているし、あまり関係なさそう
  2. 家にある他のエアコンと同じメーカ(日立と東芝)を選ぶと、同じリモコン使いまわせるし便利では?
    • そもそも最近のエアコンはスマホで操作ができるので、リモコンを気にする必要はあまりない。
  3. 機能で選ぶ?
    • 基本的に部屋の温度調整ができればいいだけで、ゴミゴミした機能はそこまで重要ではない。

結局、よくわらかん!という結論隣、価格コムでランキングを見てみて、上位でよくみるダイキン三菱電機霧ヶ峰シリーズ)のどちらかにすることにしました。

kakaku.com

機種選定

メーカーを絞ってから、以下の観点で機種を絞りました。

  1. 対応畳数
  2. 価格
  3. 機能(スマホ機能は欲しかった)

対応畳数については注意が必要かも知れません。例えば、霧ヶ峰 MSZ-ZW5621S-Wは価格コムでは「おもに18畳」とされているのですが、それは鉄筋洋室の目安であって、木造の場合は15畳です。ただ、壊れたエアコンは18畳用(木造では15畳)だったのですが、20畳のリビング(木造住宅)で使っていてもあまり不便は感じませんでした。なので、実は気にする必要はないのかもしれません。ただ、価格がそこまで変わらなかったので、今回は「おもに20畳」のものを選びました

どこで買うか

今回エアコンについて調べてびっくりしたのですが、エアコンはどこで買うかによって値段が全然違います。 例えば今回購入した霧ヶ峰 MSZ-ZW6321S-W価格コムの最安値は15万円くらいでしたが、ヤマダウェブコムやコジマネットといった家電量販店のオンラインサイトでは25万円くらいします。

流石に10万円の差はいただけないと思いつつも、工事も大変だし、10年程度は使うことになるので、サポートも含め安心できるところで購入したい、というのもあり、かなり悩みました。

結果、以下の観点から、エアコン本舗というサイトから購入することにしました。

  1. 家電量販店のサポートが必ずしも良いとは言えない(苦い経験もしたことがある)
  2. 工事でのトラブルを避けるためにも、家電全般を取り扱っているところよりはエアコンを中心に展開しているところのほうが知見が溜まっているだろう
  3. 価格のやすさ

aircon-honpo.com

ちなみに、今回は取り替え工事と引き取りに追加で2万円ほどかかりました(庭の状況や既存設備の再利用などのこちらの要因でちょっと高くなっています)。家電量販店の場合はこのあたりが無料になる可能性もあるので、実際の差額は10万円以下になるだろうと思います。

工事はどんなかんじだった?

エアコン本舗、結構良かったです。

  1. ネットで購入した次の日、電話で注文の詳細や工事について丁寧にヒアリングと説明をしてくれた
    • エアコンの買い替えについて、工事可能かどうか、どういう状況だとどれくらい追加費用がかかるかかなど、いろいろ教えてくれました
  2. 工事も丁寧だった(多分。素人目には。)
    • これはエアコン本舗ではなく、提携している業者さんだと思うのですが、丁寧に仕事してくれました。エアコンの設置工事については結構作業時間は2時間程度でした。

まとめ

今のところ、リビングが快適になったので満足です。何かあったら追記します。

12年お世話になった BrainPad から Ubie へ行きます

11月30日をもって新卒入社から約12年勤めた BrainPad を辞め、新たに Ubie で働き始めることとしました!12年も勤めた会社を辞めるのはやっぱり個人的には大きな決断だったので、後で思い出せるよう、転職にあたって考えたことをつらつら書いておこうと思います。

Ubieの入社ブログは他の方々がたくさん書いていて、Ubieがどんな会社で、皆どんなところに惹かれたのかがわかるので面白いです。ただ、やっぱり僕は新卒から12年も働かせてもらった BrainPad にも思い入れがあって、 BrainPad のことも含めて書いておきたいので、なんとなく正式に転職する前の今1、この記事を書いています。疲れてやめたとかではなく、僕にとっては BrainPad も Ubie もどちらも良い会社で、とはいえ、いろいろ考えた末に Ubie を選んだ、というお話です。

医療版Googleを目指す

Ubie への転職のきっかけは今年の7月、代表の阿部さんと話す機会をいただいたことです。現役の医師ということもあって、阿部さんの話は具体的で、熱意に溢れていました。「医療版Googleを目指す」という話を聞いて、僕は厨二病だなぁと思ったと同時に一緒に働くならこういう人と働きたいと思ったのを覚えています。

ちなみにそのとき聞いた話は、人を適切な医療に導くことがいかに重要かという話で、この話はその後 Note でも書かれています。

note.com

僕はもともと薬があまり好きではなく、40度近くの熱が出ても「水を2L以上飲んで寝とけば治るっしょ」と思ってる人間だったので、病院に行く機会もほとんどないし、医療とはほとんど縁がなかったのですが、数年前に結婚して子供ができてからは病院に通う回数も増え、医療にも関心を持つようになりました。

まだ0歳だった息子を抱いていた時に、手を滑らせて落としてしまったことがあります。泣き喚く息子に、僕は何をどうしたら良いかわからず慌ててましたが、妻に言われて医療相談サービスに電話してみると、簡単なヒアリングの上で救急車の可否も教えてくれて、本当に感謝しかなかったです。形は少し違うけれど、 Ubie が今提供しているのは、まさにそういったサービスだと思います。

ちなみに最近 Twitter の広告で 「19番目のカルテ 徳重晃の問診 - 富士屋カツヒト/川下剛史 | ゼノン編集部 (comic-zenon.com)」という漫画を知りました。専門医ではなく総合診療医をテーマとした漫画で、「問診をして適切な専門医に患者を送り届ける」ことでいろんな患者さんを救ってくれます。

f:id:ohtaman:20211130171640p:plain
「19番目のカルテ 徳重晃の問診 第1話 なんでも治せるお医者さん 」より

まさにこういったことができるといいなと思っています。漫画なので、出てくる医師がありえないくらいスーパーだったりして、そのままその通りとはいきませんが、総合診療医にいつでも相談できるとしたらどれだけ心強いだろうか、それに近いサービスが提供できたら、と思うわけです。そんな感じで Ubie のミッションへの共感が、転職のきっかけとなりました。

データ活用の浸透を目指す BrainPad と Ubie

もちろん僕は Ubie のミッションだけではなくて、 BrainPad のミッション2にも共感しています。だからこそ 12年間も在籍しました。BrainPad を受けた当時、データ活用を主軸にしている会社はほとんどなかったし、データ分析なんて言葉が話題になることもありませんでした。そんな中、データ活用をミッションに据えて上場準備をしている小さい会社が BrainPad で、一次面接だと油断していたら代表の草野が登場し、目を輝かせながらデータ活用の重要性を語っていたのを今でも覚えています。

当時データ活用はとてもニッチな分野だったけれど、その後のビッグデータブームやAIブームのおかげで、データの重要性は広く認知され、データ活用はニッチな分野ではなくなりました。BrainPad は今でも(そしておそらく今後も)あまり業界を絞らずに活動していますが、業界を絞ってより狭い領域を狙う企業やサービスもたくさん生まれました。その一例として医療業界を考えると、データ活用を推し進めたその先に Ubie の目指す未来があるように僕には思えました。Ubie に移ったとしても、自分の目指す方向は BrainPad と同じです。

少し余談ですが、その生い立ちだけではなく、BrainPad は数年先を見通す力がすごいな、と思うことが何度かありました。最近だと例えば2016年頃。当時、深層学習がブームとなってAIベンチャーがいくつも生まれ、機械学習エンジニアやデータサイエンティストの争奪戦となっていました(今もですが)。その頃 BrainPad は、実はコンサルの出身者も積極的に採用していました。機械学習そのものを提供するのではなく、それをビジネスで活用してもらうには、分析結果から様々なアクションを起こせる必要があります。それにはクライアント先に入り込むことが必要があるという話で、結果として今の DX を推進する体制につながっています。

www.brainpad.co.jp

お互いに考え方が結構違うので初めの頃は大変そうでしたが、最近は良いバランスがとれるようになってきているようです。今考えてみると、数年先が見えていたからこその戦略だったように思いますが、当時僕は「気持ちはわかるけど、BrainPad がコンサルぽくなるのやだなぁ」くらいに思っていました。ごめんなさい。

人材の大切さ

さて、僕がUbie に惹かれたもう1つの理由が人材の濃さでした。スキル面も魅力的ですが、個人的にはみんながみんな高い視座を持っていて、同じ方向に向かって好き勝手やっている感じにとても惹かれました。なかなかこんなメンバーを集められない、というか、採用をこだわり抜いたらこうなるのか、と。

Ubie は明確に人に投資しています。スタートアップなので、今後想定し得ないことが起こったりもすると思います。BrainPadも紆余曲折ありました。ただ、そう言った局面でこそ、きちんと人に投資していることが強さにつながるだろうと考えています。

一部上場企業の CxO をやめて一人の機械学習エンジニアに

BrainPad では CDTO (最高データ技術責任者)という役職で自分の思う通りに働かせてもらっていたのですが、なんとなく地に足がついていない感じがしていました。現場に入る時間が減ったことや依頼される講演内容の変化など、色々あると思いますが、とにかく少し違和感がありました。また、すこしコンフォートゾーンに浸りすぎているという感触もありました。

そんなことを考えていた時に、Ubieの人たちと話す機会があり、一歩踏み出して、この異色な環境に飛び込んでみようと思いました。Ubieでは、一人の機械学習エンジニアとして手を動かしますが、ホラクラシーという組織のため、自分の役割を自分で決められるというのも魅力的でした。

Ubie はスタートアップなので、当然失敗するリスクはかなりあります。ただ、もし失敗して BrainPad に出戻ったとしても、今のまま BrainPad に居続けるよりも、高い価値を提供できる自分になっているに違いないと考えました。なんとなくのイメージしたのは、目の前に精神と時の部屋があったらどうしますか、という話で、それは飛び込まない理由はないだろうと。

f:id:ohtaman:20211201020850p:plain
精神と時の部屋

そんなことを考えていたので、BrainPadの人たちが、戻ってきてね、と言ってくれた時はとても嬉しかったです。

最後に

本当はもっと色々考えることがあったのですが、色々な観点で比較して、一歩踏み出すことにしました。 僕は初めて転職を経験しましたが、やはり中の人と話して中のことを知るのは大事だなと感じました。なので、Ubie に興味のある方は一度カジュアル面談で中の人と話してみるのが個人的にはおすすめです。どの会社も綺麗な話だけではないですから。

以下のリンクから進むと、Ubie の中の人との面談を設定できます。

meety.net

もちろん直接面接に申し込んでいただくのもOKです。

ubie.life

BrainPad に興味のある方は、社員の知り合いがいたら声をかけると良いです。いない場合は、人事のカジュアル面談にいくとよしなにしてくれると思います。ちなみに BrainPad は社長の草野と話せる機会を定期的に提供しているので、興味のある方は人事に聞いてみてください。

hrmos.co

最後に、転職には興味ないけど、(企業色の一切ない)僕個人と雑談してもいいという奇特な方がもしいたら、雑談しましょう!技術的な話でもコミュニティ運営の話でも、子育ての話でも、なんでもOKです。以下のリンクから

meety.net

ではでは。


  1. そう思って11/30に書き始めたのに、結局12/1になりました。

  2. 「データ活用の促進を通じて持続可能な未来をつくる」

「問題解決力を鍛える! アルゴリズムとデータ構造」を読んだ

問題解決力を鍛える! アルゴリズムとデータ構造」を読んだので、そのメモです。章末問題は気になった問題しかやっていないので、時間を見つけてもう一度取り組みたい。

www.amazon.co.jp

全体を通して感じたこと

本書を一言でいうと「丁寧」に尽きると思う。どこまで丁寧なんだ、というくらい丁寧。

まず解説が丁寧で用語もきちんと、できるだけ噛み砕いて説明してあります。図もたくさんあって、イメージをつけながら理解できます。その上コードもしっかり乗っていて、解説でわからなかったところは読んで理解できる。

解説が丁寧で他書やネットに頼らなくても読み進められるので、途中で思考が中断されないのがよかった。自分の場合は、子供を寝かしつけた後、深夜まで集中して一気に読み進められた。個人的には理論的な話と実装が別れているほうが好きなんだけど、わからないときにさっと実装を眺められるのは確かに嬉しいなと思った。

個人的に面白かった箇所

競技プログラミング向けの書籍はきちんと読んだことがなかったので、知らないことも多かった。ネットで拾った断片的な情報はいろいろ知っていたけど、この本を読んで断片的な知識がいろいろつながったのはとても良かった。

以下は面白いなと思ったところ

  1. 判定問題と最適化問題
    二分探索の応用例として、最適化問題を判定問題に帰着させて解く方法が紹介されていた。読んでみれば、たしかにそうだよね、という内容だけど、いままで気づかなかったので面白かった。

  2. Union Find
    あまり知らなかったんですが、有名なのかも。Union Find はグループ分けを効率的に管理するデータ構造のこと。

    • issame(x, y): x と y が同じグループに所属するかどうかを返す
    • unite(x, y): x と y を含むグループを併合する

    という演算が高速にできるのがポイント。最小全域木を求めるクラスカル法の効率的な実装などに利用できる。

  3. トポロジカルソート
    与えられた有向グラフに対し、各頂点を辺の向きに沿うように順序つけて並び替えることで、makeとかでうまいこと依存関係を解決するの使われている。実は深さ優先探索における再帰関数の抜けた順がそのままソート順になっているんだというのが面白いなと思った。

  4. フォード・ファルカーソン法と残余グラフ
    特に理屈があるわけではないんだけど、16章のネットワークフローの話は、やっぱり面白い。小学校のときに電気回路の話を水の流れで説明されたときに面白い、と思ったのを引きずっているだけかもしれない。

まとめ

やっぱり競技プログラミング楽しそう(参画するとはいっていない)。10年前に買ってちゃんと読んでいなかった蟻本、もう一回開いてみよう。

Model Building in Mathematical Programming: 9.5 Special kinds of integer programming

Optimization NightH. Paul Williams, Model Building in Mathematical Programming, 5th Edition, Wiley, 2013. の輪読会をしているので、そのメモです。

Chapter 9 Building Integer programming model I

9.5 Special kinds of integer programming models

ここでは、MIPとしてよく知られている問題と定式化方法を紹介している

  1. 集合被覆問題: Set covering problems
    • 部分集合の組が与えらえられたときに、最小の数ですべての要素をカバーしなさい、という問題
    • 各部分集合を使うか否かを表す変数 $\delta _ i $ を使って、各要素がいずれかに含まれていなさい、という制約を課す
    • 応用例には航空スタッフのスケジューリングなど
    • 基本的にときやすい問題で、難易度はその構造ではなく問題サイズに依存する
  2. 集合パッキング問題: Set packing problems
    • 部分集合の組が与えられたときに、要素の重複を許さず、どれだけ多くの部分集合を詰め込めるか、という問題
    • 各部分集合を使うか否かを表す変数 $\delta _ i $ を使って、各要素の重複を許さない、という制約を課す
    • 線形緩和問題の双対がちょうど集合被覆の緩和問題になる
    • 応用例にはマッチング問題など
  3. 集合分割問題
    • 部分集合の組が与えられたときに、要素の重複を許さず、すべての部分集合をカバーする、という問題
    • 応用例としては、一票の重みの差を最小にして選挙区の設定など
    • slack変数を使って表現した集合パッキングと同じ
  4. ナップサック問題
    • ナップサックにどれだけ多く荷物を積み込めるか
    • 応用例にはプロジェクト選択問題などもあるが、別の問題の部分問題(列生成法の子問題?)として現れることが多い
  5. 巡回セールスマン問題
    • すべての都市を1回ずつ巡回するときに最短経路を求める問題
    • 都市 $i$ から都市 $j$ へ(直接)進むかどうかを表す変数 $\delta _ {ij} $ を使って表現する
    • 部分巡回路の除去が重要
      • シンプルなのは、一度部分巡回路制約なしで解いてしまって、最適解に部分巡回路が含まれていたら、その部分巡回路を明示的に除去する制約を追加する(これを繰り返す)方法。他にもいろいろある
  6. 配送計画問題
    • 巡回セールスマン問題の拡張。容量制約のある車両が複数台で顧客を回る
    • 定式化できるが、現実的なサイズの問題は難しい。列生成法を使う方法もある
  7. 2次割当問題
    • 2つの集合 $S$ と $T$ が与えられたときに、 $S$ の要素と $T$ の要素を1対1対応させながらコストを最小化する問題で、コストは組合せで決まる($i$ と$j$ が対応して、かつ $k$ と $l$ が対応した場合にコスト $C_{ijkl}$ かかる)ような問題
    • 例えば2点間の距離を最小化するような問題は、2次割当問題として定式化できるし、巡回セールスマン問題もこの形で定式化できる
    • 目的関数が2次なので、一次式に変換してから解く必要がある

MathJax を導入した

今まで数式ははてな記法 [tex: hogehoge] で書いてきたが、VSCodeとかでプレビューできないし、結構ストレスがたまっていた。そこで MathJax を導入した。といっても、管理画面から script タグを追加するだけ*1

これで以下の様に $ を使って記述できるようになった。

コード 表示
$\frac{1}{2}$ $\frac{1}{2}$
$$\frac{1}{2}$$ $$\frac{1}{2}$$
$x\_{i} + x\_{j}$ $x_{i} + x_{j}$

align環境も使える。

$$
\begin{align}
a & = b, \\\\
b & = c.
\end{align}
$$

$$ \begin{align} a & = b, \\ b & = c. \end{align} $$

注意点として、\^_エスケープしておく必要がある。

cocodrips.hateblo.jp

*1:具体的には こちらの記事 の通りにすれば良い