massa142's blog

くり返す このポリリズム

2020年2月の振り返り

お仕事

前半は運用コスト削減のために、Sentryにあがってたエラー解消するの頑張ってた。 PerfumeのLive in 福岡のために、開業前のMinn福岡千代に泊まったけど搬入のバタバタ感とか味わえてよかった。そのまま中田ヤスタカ×きゃりーぱみゅぱみゅのLiveで移動した大阪でも、クライアントの開業前のホテルに試泊してきた。 いろんなホテルに泊まれたり、楽しめたりするのはSQUEEZEならではでよい。

それから2/17からはPdMになりました。去年のおわりから「これからのプロダクト開発」についてずっと話してきて、それを推進していくことができそうでやりがいある。「正しいものを正しくつくる」フットワークが軽い体制になれるようにしていきたい。

PdMになってからは、プロダクトビジョンの再確認、市場・競合・顧客調査、プライシング、やらないことの明確化、ITILリスペクトの運用体制構築、開発ロードマップなどなど考えてて毎日勉強になる。TechチームだけじゃなくてBizメンバー、スマートホテル事業部と話す機会増えて楽しいし、ドメイン知識蓄えてもっとそのレベルで話せるようになりたい。

思ってたほどPdM業務に抵抗はないけど業務でコードを書くことはしばらく減るから、週末に趣味コードの時間増やしていきたい感。Haskellやっていき。

イベント

読んだ本

買ったもの

n/a

ほんとになんも買わなかったな・・・

KPT

KEEP

  • Scrapboxでの思考整理
  • 本をいい感じのペースで読めている
  • PdM業を楽しめてる

PROBLEM

TRY

  • 確定申告チャレンジ
  • 糖質制限
  • Haskellの勉強
  • インフラの勉強
  • Nike Training Clubやる回数を増やす
  • いい眼鏡を買う

2020年1月の振り返り

お仕事

去年のおわりから「これからのプロダクト開発」についてずっと話してきて、年明けからチーム体制も変わって新しいフェーズに入ってきてる。まだまだ途中だけどみんなと良い議論ができている感触があるので、このまま頑張って「正しいものを正しくつくる」フットワークが軽い体制になれるようにしていきたい。

そのためにはドメイン知識・ホテル業界についてもっと学ぶ必要があって、だいぶ大変だけどチームで対話を増やして取り組めているのが楽しい。個人的にもレベニューマネージメントについて勉強したり、現場に行ってみたり、他のチームの業務に顔出してみたりしてみて、ほんとに学びが多い。

1月で担当した主な開発は、レベニューマネージメント業務効率化のためのGAS実装とhelpdesk対応。GASはあまりやったことなかったけど、これでだいぶ詳しくなれた。underscoreGS便利ですね。あとhelpdesk対応・運用業務が現状まあまああるんだけど、理想はNoOpsだよねということでチームで勉強できたのがよかった。

NoOpsに限らず、理想・夢をちゃんと言語化して現状とのギャップをチームで共有するのは大事だなあと。無意識に持っちゃう現状維持バイアスを引き剥がせる。

イベント

読んだ本

買ったもの

自宅トレ頑張るために、ヨガマットとウォーターダンベルを購入。ウォーターダンベルはそこまで重さはないけど、引っ越しのときとか置き場所に困らないからよさげ。

姿勢を良くしようという試みで、骨盤サポートチェアと加圧シャツを買ってみた。骨盤サポートのやつは座ってみるとほんとに骨盤がスッと立つので気持ちいい。加圧シャツも胸をはれるようになるし、冬だとあったかいので気に入ってる。

@iktakahiro2019年 今年買ってよかったものを読んで、窒化ガリウムタイプの充電器とSONYのワイヤレスイヤホンは購入。この充電器はApple純正に比べてコンパクトで軽いので、持ち運びが捗る。ワイヤレスイヤホンのほうは買ったまままだ開けてないや。冬の間は防寒のためにヘッドホン一択なので。春になったら試してみよう。

Perfume Closetで新作が出たのでシャツとかニットとかを散財購入。あと前に買って気に入ってたキャップとジャケットをリピートして買っておいた。

KPT

KEEP

  • 手書きの日記
    • 自分の言葉で感情・思考を吐き出すいい練習になってる
  • Scrapboxでの思考整理
  • 本をいい感じのペースで読めている
  • 皇居ランもいいペースで走れてる
  • 指のストレッチ
    • 特に薬指の柔軟性・独立性があがるとタイピングに繋がるのではと思ってはじめてみた
  • ちゃんと寝る
    • Fitbitで睡眠ログとるようにしてから可視化されてよい
    • やっぱりちゃんと寝たほうが心も体も健康的
  • 夜ご飯の糖質制限
    • これから体重を落としていく

PROBLEM

  • 本を読んでの学びを残してない
    • あとでブログに書こう
  • Uber Eats頼みすぎ問題
    • 人間はこうも怠惰なのか・・・
    • もうちょっと節約していこう
  • 部屋でのトレーニングさぼってる

TRY

  • 簿記3級に向けての勉強
  • 確定申告チャレンジ
  • Perfumeライブに備える
  • Nike Training Clubやる回数を増やす

2019年の振り返り

個人

2019年は失うものが多かったです。
自分のダメなところを思い知らされたけど、これを機に人として成長していくしかないなと思ってます。

自分のなかで整理できるようになるまで時間がかかって、今年はインプットもアウトプットも少なかった。 年始に立てた目標もまあボロボロだったし、途中からは執筆なども書ける状態じゃなくて、色んな人に迷惑をかけてしまい本当に申し訳ないです。

ただその分、内省することが増えていて、そういった自分の思いや感情をこれから表にもっと出していきたいなぁと思ってます。

ここで自分の将来について改めて考え直すと、1日1日の過ごし方がこれまで以上に大事になってくるんだなと感じてます。20代までの貯金・延長線上で生きていくのではなく、勉強や筋トレ、プライベートなどこれから1日1日を丁寧に過ごしていこうと。

チーム

この1,2ヶ月ずっとチームで話していたけど、ただ仕様通りに作るのではなく、「正しいものを正しくつくる」ことができるようにしていきたい。個人としてもチームとしてもまだまだ足りてないことだらけだけど、ここを来年は頑張っていきたい。

技術的負債・思想的負債・組織的負債など色々な負債があると感じているけど、それらを解消していってビジネス要求とか業界の変化にすばやく対応できるようになりたい。そのために大事なことは「フットワークを軽く」(個人的にはこれを来年のテーマにしたい)すること。Be Agileの精神にも一致していてすごく好きです。これを意識すると、仮説検証のやり方や、いらない機能を削りましょうという判断、テストの責務などあらゆることの判断基準になっていいなあと実感してます。

また偉大なプロダクトは偉大なチームからしか生まれないと思うので、もっといいチーム・自律的な組織にしていきたいです。そのためにザッソウやWorking Out Loud、OODAループをもっと強化していきたいし、チーム内・会社内での会話をリアルでもSlackでももっともっと増やしていきたいなぁと思ってます。

おわりに

おちこんだりもしたけれど、私はげんきです。

来年もよろしくお願いしまっす!

「確率思考の戦略論」を読んだ

動機

感想

  • 負の二項分布やポアソン分布などの統計学が、現実世界で役に立っていることが理解できて面白かった
    • 統計についてもっと勉強したくなる
  • 数式多くて難しそうだなーと思ってたけど、組み合わせと極限の高校数学がわかってればまあまあ理解できた
  • なんでも数字や掛け算に落とし込んで、コントロール可能因子だけに集中するという思考は尊い
  • IT業界にいると既存のムダを省いてコストダウンを実現しようという文脈が多いから、業界のために適切な値上げに挑むというUSJの話は新鮮だった

読書メモ

第1章 市場構造の本質

  • 消費者の頭の中には、今までの購入経験から買って良いと思ういくつかの候補となるブランドがある < "Evoked Set"
  • 市場競争とは、1人1人の購入意志決定の奪い合いであり、その核心はプレファレンスである
  • 全てのカテゴリーにおいて市場構造の本質は同じであり、それはプレファレンスに収束される消費者の購買行動によって決まる
    • 負の二項分布(NBDモデル)
  • ブランド間のシェアも、消費者のプレファレンスによってダイレクトに決定される
    • デリシュレーNBDモデル

第2章 戦略の本質とは何か?

  • プレファレンス x 認知率 x 配荷率 の掛け算で戦略は決まる
  • コントロール可能因子だけに集中する

「起業のファイナンス」を読んだ

動機

  • 資金調達のニュースとか聞くと確かにめでたいけどお金集めればいいってもんでもないよねと感じていたので、ちゃんとファイナンスについて勉強したかった
  • Tech以外の人との共通言語の1つはお金だと思うので、ここの知見・知識を深めて視野を広げていきたい

感想

  • ずっとベンチャーで過ごしているので馴染みがあるけど、よくわかってない用語とかを理解できてよかった
  • 起業に関するお金の全体像を広く浅くイメージできる
  • 資本政策ははじめが大事で、会社がうまくいかなかった場合をちゃんと想定した契約を結ぶ重要性がわかった
    • 起業するってすごいなと改めて実感する
  • ストックオプションは技術的に奥が深くて面白い

ファイナンス・会計のことがわかると、色んな会社の見え方が変わってきそうで面白いなーと思ってる。引き続き、以下の本とかを読んで勉強していきたい。

「失敗から学ぶRDBの正しい歩き方」を読んだ

失敗から学ぶRDBの正しい歩き方 (Software Design plus)

失敗から学ぶRDBの正しい歩き方 (Software Design plus)

動機

  • データベース設計のリファクタリングをしていてRDBに関する本が読みたくなった
  • ロックについては毎回調べてもすぐ忘れるので、ちゃんと頭の整理をしたい

感想

アンチパターンとして言語化されることで、頭のなかで漠然とよくないよねと思っていることを明確にすることができた。各章のはじめにはそのアンチパターンを簡単な現場ストーリーをもとに紹介しているんだけど、むかし運用していたプロダクトを思い出させられてすごく懐かしくなった。

またRDBSQLの書籍だとPostgreSQLだけを扱ってるのが少なくないけど、MySQLPostgreSQLの挙動の違いがあるところはちゃんと説明してくれていてわりやすかったです。そーだいさんの人柄がでてる優しい文章で読みやすく、各章深掘りはせず詳しいことを知りたい場合は参考文献に逃しているので、基本をおさえる・振り返るために最適な一冊だなと思います。

読書メモ

第2章 失われた真実

  • 履歴データはRDB内にどれくらいの期間もっておくべきか難しい
    • ある時期よりも前のものは削除するかS3に退避させるのがいいんだろうなー

第3章 やり過ぎたJOIN

  • JOINのアルゴリズム
    • Nested Loop Join (NLJ)
    • Hash Join
    • Sort Merge Join
    • MySQLではNLPしかサポートしていない
  • JOINは必要最低限
  • INDEXを適切に活用する
  • JOINするテーブルは小さくしてからJOINする
  • 複雑なクエリになった場合はViewを活用する

第4章 効かないINDEX

  • INDEXが使われる条件
    • 検索結果がテーブル全体の20%未満
    • 検索対象のテーブルが十分に大きい
  • PostgreSQLには式INDEXという機能がある
  • あいまい検索でINDEXを利用するケースは前方一致のみ

第5章 フラグの闇

  • 「とりあえず削除フラグ」アンチパターン
  • テーブルに状態を持たせず事実のみを保存する
    • 「削除済み」のためのテーブルを定義する

第6章 ソートの依存

  • WHERE句狙いのINDEX
  • ORDER BY句狙いのINDEX
  • OFFSETで指定したデータ範囲が大きくなるとINDEXは効かなくなる
  • 実行されないとわからないORDER BYの問題

第7章 隠された状態

第8章 JSONの甘い罠

  • APIの戻り値を格納するのに便利
  • ユーザーが任意で登録する値でスキームレスなものとかも

第9章 強過ぎる制約

  • 外部キー制約が生み出すデッドロック
    • MySQLだと、外部キー制約の子テーブルを更新すると、親テーブルの共有ロックを自動的に取る
  • 強い制約はアプリケーション側の責務として持たせる

第10章 転んだ後のバックアップ

  • バックアップの手法
    • 論理バックアップ
    • 物理バックアップ
    • PITR(Point In Time Recovery)

第11章 見られないエラーログ

第12章 監視されないデータベース

第13章 知らないロック

  • ロックの種類

    • 排他ロックと共有ロック
    • 表ロックと行ロック
  • PostgreSQLはSELECTでも「AccessShareRock」という一番小さなロックを取得

  • MySQLの特徴的なロック
    • 対象が存在しなくてもロックを取るギャップロック
    • 対象よりも1つ先の行までを取るネクスキーロック

第14章 ロックの功罪

  • トランザクション分離レベル
    • read uncommitted: ダーティーリード発生
    • read committed: ファジーリード発生
    • repeatable read: ファントムリード発生
    • serializable: 完全な直列処理
  • MySQLのデフォルト: repeatable read
    • 後勝ちのロストアップデートが起こりうる
      • SELECT ... FOR UPDATE で排他ロックを取得すればOK
  • PostgreSQLのデフォルト: read committed

第15章 簡単過ぎる不整合

  • 非正規は用法用量を守ってお使いください

第16章 キャッシュ中毒

  • キャッシュは麻薬

第17章 複雑なクエリ

  • スパゲッティクエリは分解して、アプリケーション側で加工する
  • SQLが書きにくいなというときは、テーブル設計に問題が隠れている

第18章 ノーチェンジ・コンフィグ

  • Database as a service
    • コンフィグの管理を自分たちで行わない

第19章 塩漬けのバージョン

  • バージョンアップする文化を作る

第20章 フレームワーク依存症

  • ORMが発行するSQLRDBMSに最適化されたものではない

「楽天IR戦記」を読んだ

楽天IR戦記 「株を買ってもらえる会社」のつくり方

楽天IR戦記 「株を買ってもらえる会社」のつくり方

動機

  • どこかのタイムラインで面白かったという書評をみた(誰が書いてたかは全く覚えてない)
  • 普段自分が関わらない仕事がどんなものか知りたくなった

感想

  • IRというものにまったく馴染みがなかったけど、どういった仕事なのかざっくり想像できるようになった
    • 上場することへの意義・責任というものが実感できる
    • IR用語もちゃんと解説してくれるので、めっちゃ勉強になる
  • 楽天という企業はやっぱりすごいなと思う
    • ITだけじゃなくて銀行・投資・通信事業など企業の幅が広いなーと改めて感じた
    • 三木谷さんの判断力・体力・政治力・プレゼン力の凄みが伝わってくる
  • 本当はこんな簡単な話ではないと思うけど、よく聞く以下のトピックについては興味深かった
  • 著者の人がいまはアライドアーキテクツの社外取締役なんだと、読んでる途中で気づいてびっくりした