雀巽の日記帳

雀巽が綴る日常の記録

HAPPY NEW YEAR 2023

あけましておめでとうございます!

今年もよろしくおねがいします!

昨年に引き続き、今年もロンドンの自宅での年越しでした。

ただし、昨年と大きく違うのは今住んでいるのは持ち家という点ですね! 詳しくは2022年の大きな出来事にて!

年越し自体はロンドンでしたが、クリスマス前は Tenerife というカナリア諸島の島で10日間のんびり過ごしてきました。 Instagram で繋がってる方は我々夫婦がプールやジェットスキーで楽しそうに遊び回ってる姿を既にご覧になったかと思います。 日本の方達が年末年始をハワイやグアムで過ごす気持ちが少しわかりました……冬に行く暖かい島、良いですね!

さてさて、それでは例年通り昨年の簡単な振り返りをしたいと思います。

necojackarc.hatenablog.com

大きな出来事

Wimbledon, Roland-Garros, and more!

正直入れるか悩みましたが、今年はたくさんテニスを見にいきました!

  • Roland-Garros Day 3 & 4
  • Cinch Championships Day Final
  • Wimbledon Day 1 & Final
  • Laver Cup Day Final

なんと合計7日間……ウィンブルドンは2年連続で2日間見に行くことができました! 今年は最後のセールスでやっと買えたので、かなり後ろの席でしたが、またしても男子シングルス決勝を見ることができました!

そうです、2年連続で生でジョコビッチウィンブルドンを制するところを見ました!笑

全仏オープンでも生ジョコビッチを見たので、なんかジョコビッチいっぱい見てるな……という気持ちになりました。 全仏ナダルも見れたので最高でした。これだけ行けば見た選手をあげるだけで一苦労なので全員はあげませんが……というか Big 4 だけ言及します!マリーも見ました!嬉しい!

Laver Cup はフェデラーが初日で引退してしまったので、生フェデラーは見れましたが、フェデラーの試合は見れませんでした…残念。

流石に来年はこの数は見ないと思いますが、今年もウィンブルドン見に行けたら良いなと思います!

ロンドンでモダンフラットを購入

何といってもこれが一番大きいのではないでしょうか! 人生初の持ち家!ローン生活に突入しました!

2年金利固定でローンを組んだのですが、その直後に金利が凄い勢いで上がっており、完璧なタイミングだったと思いつつも、 2年後のローン組換えのタイミングで金利がどうなってるか不透明すぎて怖く、5年金利固定にしておけば良かったという思いもあります。

どちらが正解だったかは、再来年に判明します……怖い!

ローンの話はさておき、フラット自体はすこぶる快適です!

2人で住むには十分広く、3人でピッタリ、4人だと少し手狭、というサイズ感です。 実際前の持ち主は4人家族で、子供2人が大きくなってきたので買い替えを決めたようでした。

ちなみにイギリスには Property Ladder という概念があり、不動産の価値上昇に伴いより高い家へと買い替えていくのが一般的です。 現状買い換える予定はないですが、ラダーの初段に無事乗れたので、今後過去数十年続いているトレンドが大きく変化しなければ、必要に応じて次の家に移れるかもね、と言う感じです。

金利や不動産価格などのように不透明で怖い部分もありますが、現状持ち家の快適さがそれらを上回っており満足です!

追加でテニスクラブに加入

去年加入したテニスクラブに加えて、新しく別のテニスクラブにも加入しました。 この辺りのエリアで一番人気のクラブだったので、結構加入まで待ちました。

全英ジュニア U14 と U11 でそれぞれ優勝した日本人兄弟 が所属していたクラブでもあり、この間その父親とひょっこり出会いました。

しっかりしたテニスクラブということもあり、年会費が割と高いのがネックですね……。

テニスクラブ二重加入により、平均週5日でテニスをする生活を送り始めました。 たまに10日連続(下手するともっと?)などもやってましたが、非常に充実しております!

流石に休みの日に1日7時間とかやった時は、身体が悲鳴をあげてましたが。 もちろん、次の日にもテニスをしました。最高でした。

スポーツは大体そうですが、テニスもやり込み要素が無限にあるので、やってもやっても飽きません!

CTO や VP Engineering の採用に成功

創業初期の初代 CTO が抜けて約2年、ついに CTO と VP Engineering が弊社に加入しました! 他にはアーキテクチャやサイバーセキュリティ周りのシニアメンバーも加入し、成長企業としてメンバーが充実してきました!

2020年からエンジニアリングマネージャーとして働いていますが、自分よりもシニアなマネジメント層が一気に増えたことで、その中で何ができるか、何をしたいかを考え始める年となりました。

現状、エンジニアリングマネージャー、つまり individual contributers のエンジニアを直接マネジメントするポジションに面白みを見出してきているので、今年はこの辺りについて、より深く考え、成長できれば良いなと思います。

会社が Redandancy (いわゆるレイオフ) を決行した

さぁ、これから会社が大きくなるぞ!と思ったのも束の間、マーケットが一気に落ち込み、弊社も例に漏れずレイオフを敢行しました。 詳細は省きますが、イギリスでの redandancy やレイオフで調べていただければ出てくる内容の、まさにその感じです。

これ言って大丈夫なの?と思われるかもしれませんが、Linkedin を見てれば弊社で働いていた人が同時にある程度の数 OpenToWork のステータスになったこと、かつ残念ながら対象になってしまった人が public で職探しのための投稿を事情付きでしてることからすぐにわかることなので、問題ないと思います。

あと、アメリカでもイギリスでも今年の後半はレイオフ祭りだったと聞いております。

この辺りから前述したイギリスの中央銀行金利も爆発的に上がり始め……さて、これからマーケットはどうなっていくのでしょうか?

弊社のビジネスモデル的に、upmarket から downmarket の移行時期が最も弱く、そこさえ乗り切れば upmarket でも downmarket でも追い風になるとのことなので、 その通りに行くならば、ここさえ乗り越えればまた次の成長が見えてくるとは思います。

これもまたスタートアップ……ということで、創業初年度から波乱万丈な日々を過ごし続けております!

2023年、さらなる成長を目指し、それに貢献したいと思います!

ラムゼイハント症候群になった

11月末にラムゼイハント症候群になりました。今年ジャスティンビーバーも疾患した病気です

一時頭痛がとんでもなく、緊急外来*1に駆け込むか悩みましたが、何とか耐え、翌日すぐに GP でオンライン診療してもらいました。その後顔面麻痺が出始め GP に見てもらい専門病院へ、と言う流れでした。あまりに頭が痛かったので深夜に111で相談はしましたが、結局 GP の方が対応が早く、111の意味とは……と少しなりました。

結果として、耳の発疹、頭痛、激しい眩暈、左半分の顔面麻痺という症状に苦しみました。 顔面麻痺の状態については、Linkedin や Facebook で繋がってる方は動画を見ていただいたかもしれません。

本日時点で90%程度回復しており、軽い顔面麻痺と頭を動かした際の眩暈が主に残っています。

平衡感覚を司る神経がダメージを受けているようで、テニスに復帰はしましたが、まだ思うようにプレーできないです。

ただ、回復してきているので、回復のためにしっかり休みつつ、テニスや仕事をしていきたいと思います!

テニスクラブのリーグ戦には1月半ばに戻れたら良いなぁと思っています。

大きな出来事をざっくりと時系列順に書きましたが、下に行くほど嬉しくないできごとになってますね……。

テーマ

2022年のテーマも引き続き、

  • 挑戦(常に新しいことに取り組む/を学ぶ)
  • 英語(多読多聴)
  • 健康(スポーツと食生活)

でした!

挑戦

挑戦は「常に新しいことに取り組む/を学ぶ」をサブテーマにしており、タスクには、

  • 興味が湧いたら即行動し、小さくとも新たな挑戦をし続ける(次の大きな挑戦への備えとなる)
  • 既知に囚われず未知に触れ続ける(未知のジャンルや技術も問題解決の選択肢として常に考慮する)

を挙げていました。

テニスでのさらなる挑戦、エンジニアリングマネージャーとしての日々の挑戦と、去年から完全陸続きです。 新しいことに挑戦したというよりは、今現在やっていること、やりたいことを深掘りし始めた感じです。

挑戦に含まれるかはわかりませんが、永住権を持たない外国の地でローンを組んで物件を購入、というのはハードルが非常に高くなかなかの冒険でした。 オファーから手続き完了まで合計5ヶ月かかりましたが、なかなか貴重な経験でした。

正直これは……あまりもうやりたくないですね!面倒すぎます!

ある意味で弊社の PropTech としての存在意義を実感しました。

ちなみにですが、妻はフルマラソンに挑戦しました。 フランスはボルドーの北の地、メドックにてメドックラソンを無事完走!すごい!

自分は怪我が怖かったので、ステーキとチップスを食べ、応援してました!

頑張った!妻が!

パリも最高でしたが、ボルドーも素晴らしかったです。

フランス、良い!

英語

英語は「多読多聴」をサブテーマにしており、タスクには、

  • 英語の動画を積極的に視聴する
  • 英語の本を積極的に読む

を挙げていました。

本については現在英語で読んでる本が2冊ありますが、今年読み切った本はありません。 というか、今年はまだ漫画や小説を除くと、しっかりと本を読み切っていないですね……。

これは余暇の時間がほぼテニスに費やされていることでインプットが減ってることもありますが、インプットが読書から動画や Web 媒体に移ったことが大きいです。

体系だって何かを学ぶ際に、YouTube などでプレイリストがまとまっていたり、そもそも公式サイトが非常にまとまっていたりと、なかなか本で読もう、となるケースが少なかったです。 実際弊社の超有望優秀の若手エンジニアは、本は全く読まず、動画や公式サイトが主だと言ってました。自分も自然とそうなってきています。

現在読んでる本については読み切り次第、ブログにまとめたいと思います。

動画については、趣味や勉強関わらず自然と英語で見ることが多く、知らないうちに達成できていました。

ただでさえ読むのが遅いので、英語になるとさらに遅いということで、読書を英語でやりきるのはなかなかできていませんが、 動画に関しては特に問題なくインプットとして使えるので、自然と英語でコンテンツを探していることが多いです。

この状態はある理想に近いので、こちらは見事に目標達成できました。

余談ですが、Duolingo でフランス語の勉強を初めて196日経ちました。

Duolingo でしかフランス語の勉強はしてないのと、やってても1日数分なのでまだまだ初級の最初の数歩レベルですが、そろそろ体系だって勉強したいな〜という気は起きてきました。

果たして!

健康

健康は「スポーツと食生活」をサブテーマにしており、タスクには、

  • テニスと筋トレの継続
  • 1日7時間睡眠
  • 食事は満腹を避け常に腹八分目以下にする

を挙げていました。

テニスと筋トレについては、完全に習慣化しました。 テニスについては上で述べた通り今年後半から平均週5日になっているので、予想より遥かにやっています。

怪我だけが怖いですね!まさかの病気でプレーできなくなるとは思いませんでしたが!

筋トレについては、今はタバタ式 HIIT でバーピーと腹筋ローラーを定期的にやっています。 ちょっとバラエティが減ってきてますね。バーピーとタバタ式、そして腹筋ローラーを信じている、ということでもあります。笑

その代わり、最近毎日ストレッチを30分から1時間やらないと落ち着かなくなり、ストレッチが長くなっています。

睡眠については……少しだけ改善してきました。

3時に寝て9時半に起きる生活をし続けていましたが、1時までに寝て8時に起きるを目標に最近頑張っています。 あと、土日に朝7時半からテニスをしているので、週末はなんと23時台に寝ることが増えています!

朝テニスを入れることで、早寝早起きができるようになるとは……やはりモチベーションは大事ですね!

食事については、運動量が多すぎるので最近何も考えずに食べていました。 日によってはテニスだけで2000kcal 消費してたりするので、好きに食べても正直太りません……!

それどころか好きに食べてるのに体脂肪率が下がり、体重は少しずつ増えています。

明らかにガタイがよくなっている……!

ただ、ラムゼイハントで1ヶ月以上テニスができなかった間は、流石に気をつけました。

気をつけはしましたが、お腹の肉は少し増えた気がします。 そして1ヶ月以上にわたる運動不足が響き、この間は2kg 体重が減り、明らかに筋肉量が落ちました。

脂肪や筋肉って、結構簡単に増減するんだなぁ(しかも基本的には嬉しくない方向に)と実感します。

2023年のテーマ

2023年のテーマ、サブテーマ、タスクですが、2022年から地続きにしつつ挑戦のテーマを成長へと変えたいと思います!

  • 成長(メインフォーカスへの更なる注力)
    • エンジニアリングマネージャーとして、どういったスキルや経験を身につける必要があるべきかの理解を進め、そしてそれらを身につける
    • テニスにおけるあらゆるスキルの向上を目指し、戦術の模索と実践を実戦で行う
  • 語学(英語とフランス語)
    • インプットのベースを英語にし、多読多聴を意識することなく行い続ける
    • Duolingo を数分するだけでも良いので、最低限のフランス語学習を継続する
  • 健康(睡眠、運動、食事)
    • 7時間睡眠と早寝早起きの習慣化
    • ストレッチと筋トレによる怪我防止
    • 腹八分目食生活の継続

仕事も趣味も、挑戦から腰を据えての成長の段階だと感じています。 現段階で何にフォーカスしたいのかと言うのが2022年でクリアになったと言えると思います。 もちろんこれが変わる可能性はありますが(視野の拡大、視座の向上、興味の変化など)、2023年元日時点ではエンジニアリングマネージャとテニスが自分の軸と言える状態になっています。

語学に関しては、ベースのインプットが英語に移行しつつあるので、英語に関してはそちらを継続するだけで正のループに入り、ドラスティックではなくとも着実に伸び続けるかなと思います。 フランス語は、正直初級も初級レベルの段階ですが、196日も Duolingo が続いているので、こうなったらこのまま続けてやろうかなと思います。笑

もし来年、Duolingo 以外でも勉強し始めたとなっていたら大勝利ですが、フランス語を学ぶモチベーションがそこまで高くないので、Duolingo が続いてただけでも自分を褒めたいと思います!

健康については、早寝早起きのメリット、睡眠時間が足りないデメリットを身をもって知った年(前者は早起きして朝仕事前にテニスをする素晴らしさを実感したこと、後者はラムゼイハントを含む体調不良が大抵睡眠不足の状態で襲ってきたことが挙げられます)だったので、こちらをしっかりと心がけたいと思います。スマートフォンやスマートウォッチでベッドタイムアラートなども設定しました。目標達成のための環境作りは大事!

食生活については、体型維持が完全にテニスに依存して甘えているので、食事も気をつけようね!ニュアンスです。

睡眠、運動、食事。これらは健康に生きるための基本ですね!

そして今年ももちろん、

将来の自分が過去の自分に向かって胸張れる存在になれるようにマイペースに生きていきたい

という自分の言葉と、

『小さいことを積み重ねるのが、とんでもないところへ行くただひとつの道』

というイチロー選手言葉を今年も大切にしていきたいと思います!

2023年も最高に楽しんでいきましょー!

ぴーす!

*1:Urgent Care - イギリスには基本2つの24時間空いている外来部門があり、Urgent Careが命に関わらない緊急外来、Accident & Emergency (A&E) が命に関わる事故や緊急の外来対応を行なっています

海外ソフトウェア開発チーム運用における三つの組織パターン

現在エンジニアリングマネージャーとして働いていますが、これまでのキャリアでベトナムチームとの協業、メンバーが複数国に分散しているチームなど、ソフトウェア開発メンバーが海外に居るパターンをいくつか経験しました。

本記事では、海外に開発メンバーが居る場合のチーム構成を3パターンに大別し、それぞれの制約や条件、そしてメリットやデメリットについてまとめます。

  1. Globally distributed teams (国際分散チーム)
  2. Local teams (国別チーム)
  3. Subcontracting teams (業務委託チーム)

Globally distributed teams (国際分散チーム)

Tech Lead in Vietnam
Tech...
Product Manager in Japan
Prod...
UI/UX Designer
in Japan
UI/U...
Developer in Vietnam
Deve...
Developer in Japan
Deve...
Developer in Vietnam
Deve...
English
English
Development Members
Developmen...
English
English
English
English
Globally Distributed Team A
Globally Distributed Team A
Backlog A in English
Backlog A in En...
Maintains
Maintains
Product A
Product A
Develop
Develop
Tech Lead in Japan
Tech...
Product Manager in Vietnam
Prod...
UI/UX Designer
in Vietnam
UI/U...
Developer in Japan
Deve...
Developer in Japan
Deve...
Developer in Vietnam
Deve...
English
English
Development Members
Developmen...
English
English
English
English
Globally Distributed Team B
Globally Distributed Team B
Backlog B in English
Backlog B in En...
Maintains
Maintains
Product B
Product B
Develop
Develop
Communicated in English
Communicated in En...
Communicated in English
Communicated in En...
Pick tickets from
Pick ticke...
Pick tickets from
Pick ticke...
Text is not SVG - cannot display

この構成では、単にチームメンバーが各地に分散しているだけで、国による境界は存在しません。

最も自由度が高く、小規模から大規模まで問題なくスケールします。

共通言語として英語を採用した場合、採用市場も大きく広がります。大手企業が公用語の英語化に踏み切って居るのは、この観点からも理にかなっていると言えます。

そもそもこの構成は、時差を無視してしまえば、「リモートメンバーが複数人居る国内チーム」と全く同じです。こう考えると、なぜこの構成が最も自由度が高くスケールもしやすいかわかりやすいと思います。コロナ禍以降でこのチーム形態に移行した日本国内の開発チームも多いのではないかと思います。

必要条件

  • 全メンバーが1つの言語で意志疎通を取れること
  • タイムゾーンの差がチームの必須アクティビティにおいて許容範囲であること

メリット

  • チーム構成の自由度や柔軟性が最も高い
    • 1チームからスタート可能
    • 必要に応じてチームの組み直しも容易
  • 国による分断がなくチームとしての一体感が高い
  • 多様性が非常に高いチームが作れる

デメリット

  • 分散チームであるためリモートワークが基本
  • 多文化理解の必要性が高まる

Local teams (国別チーム)

Tech Lead in Japan
Tech...
Product Manager in Japan
Prod...
UI/UX Designer
in Japan
UI/U...
Developer in Japan
Deve...
Developer in Japan
Deve...
Developer in Japan
Deve...
Japanese
Japanese
Development Members
Developmen...
Japanese
Japanese
Japanese
Japanese
Local Team A (Japan)
Local Team A (Japan)
Backlog A in Japanese
Backlog A in Ja...
Maintains
Maintains
Product A
Product A
Develop
Develop
Tech Lead in Vietnam
Tech...
Product Manager in Vietnam
Prod...
UI/UX Designer
in Vietnam
UI/U...
Developer in Vietnam
Deve...
Developer in Vietnam
Deve...
Developer in Vietnam
Deve...
Vietnamese
Vietnamese
Development Members
Developmen...
Vietnamese
Vietnamese
Vietnamese
Vietnamese
Local Team B (Vietnam)
Local Team B (Vietnam)
Backlog B in Vietnamese
Backlog B in Vi...
Maintains
Maintains
Product B
Product B
Develop
Develop
Communicated in Japanese
Communicated in Ja...
Communicated in Vietnamese
Communicated in Vi...
Pick tickets from
Pick ticke...
Pick tickets from
Pick ticke...
Text is not SVG - cannot display

独立した自律的な開発チームが各国に存在する構成です。

アーキテクチャ開発プロセス的に複数チームでの開発が可能であったり、そもそもプロダクトが複数ある場合など、それぞれのチームが自律的に動ける土壌がある場合に力を発揮します。

各国に大きな拠点があり、拠点毎に違うプロダクトや機能を開発しているような大企業でこのパターンが採用されていることが多いと思います。

実際にエンドユーザー的には同一プロダクトだったとしても「機能 A は A 国のとあるチーム、機能 B は B 国のとあるチーム」のような構成取る大企業をいくつか知っています。

最低2チームが必要になるため、スタートアップや中小規模の会社でこれを行う場合、プロダクトの成熟度や採用がボトルネックになり、この形態を取れないこと多い印象です。

必要条件

  • 各国でそれぞれチームが形成できる人材が揃っていること (e.g. Product Manager, Engineering Manager, Tech Lead)
  • アーキテクチャ開発プロセスが複数チームによる開発を想定した設計になっていること

メリット

  • 独立した自律的な開発チームの集合体となるため、チーム内において海外協業関連のデメリットがほぼ存在しない
    • チーム内における言語の壁が存在しない
    • 同一タイムゾーンで働ける
    • オフィスを基本とした労働形態も取れる

デメリット

  • 各国に個別の開発チームを構成できるだけの人材が必要になる
  • 各国による分断が起きやすく、企業全体としての文化醸成の難易度が高い
  • 複数チーム開発に耐えうるアーキテクチャ開発プロセスの成熟度が求められる

Subcontracting teams (業務委託チーム)

Tech Lead in Japan
Tech...
Product Manager in Japan
Prod...
UI/UX Designer
in Japan
UI/U...
Developer in Japan
Deve...
Developer in Japan
Deve...
Developer in Vietnam
Deve...
Japanese
Japanese
Development Members in Japan
Developmen...
Japanese
Japanese
Japanese
Japanese
Subcontracting Team A
Subcontracting Team A
Development Members in Vietnam
Development M...
Developer in Vietnam
Deve...
English
English
Communicated in Japanese
Communicated in Ja...
Communicated in Vietnamese
Communicated in Vi...
English
English
English
English
English: Possibly in either Japanese or Vietnamese with a translator...
English: Possibly in either Japanese or Vietnamese with a translator...
Product A
Product A
Develop
Develop
Develop
Develop
Backlog A in Japanese
Backlog A in Ja...
Maintains
Maintains
Pick tickets from
Pick ticke...
Assign tickets to
Assign tic...
Text is not SVG - cannot display

上流下流分離型とも言えます。一部の下流工程を海外メンバーに委託する形態です。

具体例として、日本側の Product Manager や Tech Lead がチケットを海外メンバーにアサインし、開発は海外側、レビュー以降は日本側で行うというのが挙げられます。

また、完全に上流下流が分離する必要はなく、国内メンバーはフルサイクルで開発をしつつ、海外メンバーは一部の下流のみを担当、ということも可能です。

図を見てわかる通り、コミュニケーションやタスクの流れが複雑化しており、効率性が悪いです。もし通訳が必要となった場合は、さらなる効率性の低下が懸念されます。

「各メンバーが同一言語でコミュニケーションを取れないが、プロダクトおよびプロダクトバックログは共有」という場合などに出現します。「海外メンバー用のチケットを選ぶ・準備する」のような作業が発生しているのであれば、このパターンに陥っているかなと思います。

陥っている、とネガティブな言い回しをしていますが、個人的には業務委託のデメリットと海外協業のデメリットの掛け合わせが発生するので、アンチパターンだと思っています。

Team Topologies などを参考に、チーム分割(その際アーキテクチャの見直しやプロダクト分割も必要になるかも)を行い、Local Teams (国別チーム) に早急に移行したいな、と個人的には思います。もしくは共用語を英語にして、Globally Distributed Teams (国際分散チーム) へ移行したいです。

必要条件

  • 特になし(強いて言うなら、数多くのデメリットを受け入れられること)

メリット

  • 既存のチーム、プロダクト、アーキテクチャなどに対する変更が少なくて済む
    • 深く考えずに「とりあえず海外メンバー入れてみる」とこうなるということでもあるので、正直メリットなのか怪しい
  • SIer 方式(下請け方式)でのスケールが可能

デメリット

  • コミュニケーションのオーバーヘッドが大きい
    • チーム全体ミーティング(デイリースクラムやレトロスペクティブ)を開くことが言語の壁により困難
    • バックログの翻訳が必要になるケースが多い
  • 海外メンバーが実態として下流工程のみを担当するため、いわゆる上流下流分離によるデメリットが出現する
    • 海外メンバーが「チームへの帰属意識」や「Sense of ownership」を感じにくい
    • 国内メンバーが海外メンバーへのチケットアサインやレビューで忙殺される
    • 上流下流間での手戻りや質問などのやり取りのオーバーヘッド
  • 実態として「大きく相互依存したサブチームの集合体」チームになるので、真に自律的な開発チームを作ることが難しい

まとめ

言語の壁やタイムゾーンの制約を追加で考慮して、独立して動ける自律的な開発チームを複数組織するにはどうすれば良いか?という問題に帰結します。 最初の2パターンは、これらの追加制約を無視して考えると、どちらも同じ組織構成(複数の自律的な開発チームが存在するだけ)になっています。

すなわち、自律したフルサイクル開発チームを作る、という基本から外れなければ、大きく失敗することはないと思います。

Happy New Year 2022

あけましておめでとうございます!

今年もよろしくおねがいします!

昨年に引き続き、今年もロンドンの自宅での年越しでした。

早速、例年通りの簡単な振り返りをしたいと思います。

necojackarc.hatenablog.com

大きな出来事

勤続年数が初の3年越え

これを書いている現時点でもうすぐ丸4年ですが、3社目にして初めて、勤続年数が3年を突破しました。

necojackarc.hatenablog.com

波乱万丈な日々を今でも過ごしているので、この記録はまだ伸びそうです!

スタートアップの成功率を考えると、この先もまだまだ苦労は絶えないと思いますが、できることを頑張っていきたいと思います!

エンジニアリングマネージャーになった

キャリアの初め頃はマネージャーになる未来は想像していませんでしたが、ついにマネージャーになりました。

necojackarc.hatenablog.com

エンジニアリングマネージャーの職責については色々あり、かつ会社によって違うと思いますが、とりあえず大きな変化としては、正式にいわゆる部下と、ある程度の人事権を得たのが大きな違いでしょうか。人事権と言っても、もちろん単独で何かを決定するレベルではありませんが。

「エンジニアリング」マネージャーであるので、技術などのキャッチアップがおろそかにならないようにするのが今後の課題だと思います。

テニスクラブに加入した

秋ごろから色々なテニスイベントに参加するようになり、ついに冬にテニスクラブに加入しました。 コーチングはいまだに受けていませんが、ソーシャルセッションに頻繁に参加しています。

色々な人と試合をすると、練習では全く見えてこなかった課題や問題がたくさん出てきて、成長の糧になり良いです。

来年はクラブでのリーグ戦、そして誰でも申し込み可能なローカルリーグ戦に挑戦する予定です!

テーマ

2021年のテーマも引き続き、

  • 挑戦
  • 英語
  • 健康

でした!

挑戦

挑戦、特に常に新しいことに取り組む、新しいことを学ぶをテーマとしており、具体的には、

  • 興味が湧いたら即行動し、小さくとも新たな挑戦をし続ける(次の大きな挑戦への備えとなる)
  • 既知に囚われず未知に触れ続ける(未知のジャンルや技術も問題解決の選択肢として常に考慮する

としていました。

仕事ではエンジニアリングマネージャーとして日々未経験のことに飛び込むというのを続けれているかなと思います。会社はどんどん大きくなっているので、今後この挑戦は続くかと思います。

新しい技術については、なかなか自分からは触れられていませんが、新メンバーや人との交流を通してキャッチアップは最低限出来ているので、これも続けるか、もっと情報量を増やしていけたらいいなと思います。

プライベートではテニスクラブとリーグ戦への加入が自分にとっては大きな挑戦でした。

30歳前後で始めた新しいスポーツを本格的にやっていくのは、踏み出す勇気が必要でした!ちょっと踏み出せて来てる!

英語

英語の多読多聴をテーマにしており、具体的には、

  • 英語の映画やドラマを積極的に視聴する
  • 英語の本を積極的に読む(特に小説など、これまであまり英語で触れてきていないジャンルがベスト)

としていました。小説は……読めていませんが、英語の本を読む機会や、英語の動画コンテンツを楽しむ機会はかなり増えてきているかなと思います。

これはこの調子で続けていきたいと思います。

健康

健康、特にスポーツと食生活をテーマ都市、具体的には、

  • テニスと筋トレの継続
  • 1日7時間睡眠
  • 食事は満腹を避け常に腹八分目以下にする

としていました。睡眠以外は及第点だったかなと思います。睡眠については、そろそろ本格的に改善が必要です……。 おそらく意識改革から始める必要があると思いますが、まだ具体的なプランはないです……。

ただ、運動と食事により、身体のコンディションはかなり良いです!

あとは睡眠と飲酒量に気を付けたいですね……!

2022年のテーマ

2021年をほぼそのまま引き続き2022年のテーマ、サブテーマ、タスクとしたいと思います!

軽微な変更として、英語の多読でジャンルへの言及は無しにしました。 何を読んでもいいし、何を見ても良いので、とにかくインプット量を増やす、ということを掲げたいと思います。

  • 挑戦(常に新しいことに取り組む/を学ぶ)
    • 興味が湧いたら即行動し、小さくとも新たな挑戦をし続ける(次の大きな挑戦への備えとなる)
    • 既知に囚われず未知に触れ続ける(未知のジャンルや技術も問題解決の選択肢として常に考慮する)
  • 英語(多読多聴)
    • 英語の動画を積極的に視聴する
    • 英語の本を積極的に読む
  • 健康(スポーツと食生活)
    • テニスと筋トレの継続
    • 1日7時間睡眠
    • 食事は満腹を避け常に腹八分目以下にする

そして今年ももちろん、

将来の自分が過去の自分に向かって胸張れる存在になれるようにマイペースに生きていきたい

という自分の言葉と、

『小さいことを積み重ねるのが、とんでもないところへ行くただひとつの道』

というイチロー選手言葉を今年も大切にしていきたいと思います!

2022年も最高に楽しんでいきましょー!

ぴーす!

「Design It! ―プログラマーのためのアーキテクティング入門」を読んだ

「Design It! ―プログラマーのためのアーキテクティング入門」を読みました。

正確には、英語版を読んだので、読んだのは "Design It!: From Programmer to Software Architect (The Pragmatic Programmers)" です。

こちらですが、端的に言って、良本でした!

アーキテクトが何者なのか、何をどんな風に考える必要があるのかについて、良くまとまっています。そしてソフトウェアアーキテクチャとは何か、という意外と答えにくい問いにも明確に答えています。

より端的に言うとソフトウェアの設計をする際の思考原則について触れている本で、デザインパターンのような本ではないです。

まず、ソフトウェアアーキテクトが何か、という点についてですが、本書では三要素に分割しています。これはこの本独自ではなく Software Architecture in Practice (SEI Series in Software Engineering) (English Edition) の引用になります。ソフトウェアアーキテクチャの設計と文書化の技術でも同様の定義を用いたので、そちらから以下に引用しました。

  • モジュール (module): ソフトウェアの静的構成要素としてのモジュールとそれらの間の静的関係からなる構造の表現
  • コンポーネントとコネクタ (component and connector): システム実行時の特徴を表現する動的構成要素としてのコンポーネントとそれらの間の関係からなる構造の表現
  • 配置 (allocation): ソフトウェアの静的構成要素や動的構成要素と、それらのハードウェアやネットワーク、開発環境への割り付けという関係からなる構造の表現

……ふむ、正直表現が固すぎてわからないですね。

モジュールはソフトウェアの設計時に出てくる構造で、どのように各コードを配置するか、具体例としては、クラス、パッケージ、レイヤー、データベースであれば、ストアドプロシージャやテーブルになります。

コンポーネントとコネクタは、実行時にのみ存在するもので、具体例としてはオブジェクトやコネクション、スレッドやプロセスなどが当てはまります。

そして最後の配置は、要はインフラです。具体例としては、サーバー、ロードバランサ―、そして Docker コンテナなども含まれます。

もっとザックリまとめてしまうと、モジュールはいわゆるソフトウェアの設計、配置はインフラの設計、そしてコンポーネントとコネクタはアルゴリズム、と捉えてもいいかもしれません。

これを全部含めて、「ソフトウェアアーキテクチャ」と定義しています。

そしてこれに責任を持つ、アーキテクトが何者かについて端的にまとめると、

  • ソフトウェアの全体がどうなってるかに責務を持つ
  • エンジニアリングの観点からの問題定義を行い、実装可能なチャンクに分割する
  • 設計に際しては品質要件(非機能要件とよく呼ばれるもの)のトレードオフを把握し意志決定を行う
  • ソフトウェア全体が適切に動いてることを保証する
  • 技術的負債の把握やコントロールを行う
  • チームメンバー全体のアーキテクトとしてのスキルを育てる(アーキテクトが多いチームが最良のチーム)

といった感じです。役職としてのアーキテクトが会社になかったとしても、この役割を担っている人は確実にいると思います。

その場合、エンジニアリングマネージャーだったり、テックリードだったりがになっているんではないかと思います。もし会社がまだ小さいのであれば、CTO が兼任しているケースも全然ありえます。

プロダクトマネージャはいわゆる機能要件、プロダクトがどのような価値をユーザーに届けるかに重点を置くのに対し、アーキテクトは品質要件(非機能要件)を軸に意思決定をすることになります。アーキテクチャの選定は品質要件(速度や拡張性、開発用意性、デプロイ用意性など)を大きく左右するためです。そして、どのようにソフトウェアが構築され、いつデリバリーされるかという点にも責任を持ちます。

ソフトウェアエンジニア、もしくはアーキテクトやマネージャーとして、常に意識しておくと良質な意思決定ができそうだなと思ったことについては、

  • 制約と要件を理解し、それに応じたアーキテクチャを考える
  • 良い解決策を見つけるためには問題の理解が必要だが、さらなる問題の理解のためには解決策の模索が必要で、このループを回す必要がある
  • 認知負荷を下げる為の設計を行う(メンテナンス性の向上に必須で、Team Topologies など開発組織構造などの文脈でも出てくる)
  • リスクドリブン設計(想定されるリスクを分析しアーキテクチャの比較検討と選択を行う)

あたりがありました。

あと、図に関する話が非常に良かったです。The C4 model で紹介されている考え方は、目を通しておく価値があります。 それについては、以下の動画に良くまとまっています。

大事なことは、

  • 図を描く際は抽象化(粒度)を先に考え、表現(記号)はその次
    • これは要は「誰を対象にするか」を最初に考えるということです。例えば地図を見る場合、世界地図が欲しい場合、街単位、ストリートビューなど、求めるものによって違うと思います。最初にこれを意識してから、必要な表現を考える、という話です。
  • 色や形などは、既に意味が通る図をさらにわかりやすくするために使う
    • つまり色や形をすべて取り除いても、意味が分かる図でないとだめ

の2つです。実際これを守って図を描いてみたんですが、格段にわかりやすくなりました。 アーキテクチャや設計などのレビューを行う外部の会社とのやり取りに使ったのですが、評判がものすごくよかったです。

特に効果的だと思ったのは、矢印には常に "(A) does something with (B)" などのように、矢印の元が主語になり、先が文章の最後に来るような説明を書く方法です。これで一発で矢印が意味しているところがわかるようになります。

そのほか、たくさんのワークショップが最終章で紹介されています。設計のフェーズにおいて、今何をするべきか変わると思いますが、それに応じて使えるワークショップがまとまっているので、軽く目を通してみるといいと思います。

この「今何をするべきか」は大事で、実際に本書では常に、

  • Understand
  • Explore
  • Evaluate
  • Make

の区分けがされていました。例えば、そもそも問題や制約を理解する必要があるのか、現状のアーキテクチャの理解を深めるのか、それとも解決策を探るのか、はたまたどのようなリスクが潜んでいるか考えるのか、最後の意思決定を行うのか、などです。

面白い点として、かなり大きなシステム開発も想定しているところがあります。どの程度事前のデザインに時間をかけるべきかの話があるのですが、一番大きいものは本当に大きく、おそらく SIer などに居ない限り目にしないような規模の話もあります。

つまり、ソフトウェア開発に携わる人であれば、だれでも楽しめる本なんじゃないかと思います!

良書でした!

My New Gear... PRS 35th Anniversary Custom 24

新しいギター買っちゃいました~!!

f:id:necojackarc:20210622212006j:plain

買ったのはポールリードスミス Custom 24 の35周年モデルです!

高校生のときから Custom 24 が欲しかったのですが、当時は当然手が出ず、大学生にも高過ぎアイバニーズに流れ、ついに15年の時を経て手に入れました!

ショップに行く前に気になってたのは Custom 24-08 でしたが、カムデンのギターショップで35周年記念 Custom 24 なる素敵な響きのモデルに出逢ってしまいました。

どうやら 24-08 とほぼ同じ構成に加え、10 TOP という上位10%の木材使用とのこと。つまり欲しいギターのアップグレード版!

1時間ほど複数のモデルを試奏しましたが、音も操作性も群を抜いて気に入りました。

詳しいレビューは世に出回ってる動画に任せるとして、最高に気持ちの良い音のクリアさに加え、ボリュームノブの反応の良さ、コイルタップ時の音圧の下げ幅の低さは特筆すべきものがあるなと思いました。

最大の難所はカラー選択でした。オンラインでも沢山見比べ悩み抜きましたが、最終的には、

「ギターは一期一会、出逢いを大切に」

の精神を貫き、最も店内で輝きを放っていたパープルにしました!

ふつくしい……!

人生初の全身麻酔手術をロンドンで体験してきた

ちょっと諸事情により、全身麻酔で日帰り手術を受けてきました。

手術は今まで局所麻酔を使ったのを一回だけだったので、全身麻酔は人生初でした。

necojackarc.hatenablog.com

手術理由はさておき(気が向いたら書きます)、今回は全身麻酔について書きます!

Twitter での繰り返しになりますが、本当に一瞬で落ちます!

まず、徒歩で手術室 (Theatre) に向かいます。手術室はおそらく二部屋構造で、一部屋目でベッドに寝ます。 その部屋に入ると「あ、これ洋ドラマで見たことある!」な感じで、まずここでテンションがあがりました。

手術室ではコンディションの最終確認、患者が手術内容などを理解しているか、患者本人かなどの入念な確認が取られ(手術の目的は何で、実際に何を行うのか、自分の口で麻酔科医に説明しました)、手の甲に点滴針が刺されます。左手に2度刺すもうまくいかず、結果的に右手の甲に刺すことになりました。まだ失敗した左手の甲が痛い……。

準備が整うと、酸素マスクを当てられます。吸って―吐いて―とやります。 で、三回目位の息を吐いてる途中で意識がぷっつり電源を切るように消えてます。 いつの間にか点滴がスタートしてたんだろうなと思いますが、全く気づきませんでした。

起きたら50分経過してました。なんだこれ凄すぎる……。

あまりにも凄すぎて、テンションがあがりまくり、麻酔から目覚めた直後に、その辺に居る麻酔科医(多分2人居た)に物凄いハイテンションで喋りまくってました。テンションが上がりすぎていて、何喋ってたのかも良く覚えてないです。とにかく医学の凄さを体感した感動に起きた瞬間からとらわれてました。

喋っていると気づく……喉ガラガラや。

身体を起こしてみる。なんだこれ気持ち悪。ぐわんぐわんする。

良し、寝よう。

二度寝しました。

で、二度寝から目覚めるとご飯食べるか聞かれたので、オレンジジュースとたまごサンドをもらいました。 このたまごサンド、たまご美味しいんですが、パンが全然喉を通らない……これ、水分が完全に失われてる……。

かなりの時間をかけてサンドイッチを食べきると、やはり水分不足か、喉がバリッバリになってました。 このあと、コーナーショップでアイソトニック飲料を飲むまで喉はバリバリのままでした。

水を飲みまくった結果、20分に一回くらいトイレに行きました。

そして、トイレが出にくい!噂には聞いてましたが、これは出ない! 気合で出しましたが、人によっては全然でないそうです。

退院時のチェック項目にも「トイレ出たか?」というを聞かれました。

で、そのあとは医者に手術の説明を受けて、書類手続きをして、看護師に送り出されて終了、という感じです。

この最後の送り出しですが、「確実に面倒を見れる相手に引き渡せたこと」を確認するフェーズなので、病院に迎えが来ている必要があります。妻に仕事を抜けて迎えに来てもらいました。

そんな感じで、その後丸一日なんかボンヤリしていたら、麻酔も抜けてきて、元気になってきました。

なぜか夜寝付けなかったので(多分病院で昼寝しすぎた)、筋トレして朝4時まで漫画読んでましたが、全身麻酔翌日の今日は、割と元気です。

今週末はテニスできそうだ!

32歳に、そして Engineering Manager になりました🎉🎂

本日4月27日で32歳になりました🎉🎂

また、2021年4月付けで、社会人9年目にして Engineering Manager を拝命しました!

キャリアの初期では、スペシャリストなのかマネージャーなのか悩むこともありましたが、ザックリいうと、リードソフトウェアエンジニアとしての役割を通して、マネジメントおよびリーダーシップにも十分興味ややりがいを持てたので、このキャリアパスを選択しました。あと、そもそもスペシャリストの道の厳しさは大学のスペシャルな同期たちをまじかで見てたので、そもそも及び腰だったというのも正直あります。笑

エンジニアリングマネージャーは技術にも責任を持つ*1ので、スペシャリストとマネージャーのスペクトラムがあるとすれば、割と中間寄りの立ち位置だと思います。

実際メインでリードしているのは、全社レベルの技術的意思決定を行うチームです。 そこの最終決定権を持っているので、実質アーキテクトも兼任しており、エンジニアリングの第一線から離れる予定はありません。

もちろんリードソフトウェアエンジニアになった段階で、コーディングの時間は減っていましたが、それでもテックリードとして書き続けてきたので、それは続けることになると思います。タイトルがアーキテクトではなかったとしても、アーキテクトの役割(ビジネス要件や制約、技術的制約や問題そのものの掘り下げ、選択肢のトレードオフの理解、などなど)は担い続ける予定なので、かなり面白いキャリアかなと感じています。

さて、そろそろ仕事以外の話も含めて現状を軽く振り返ってみたいと思います!

こちらが去年の記事です。

necojackarc.hatenablog.com

去年との大きな違いは、

  • エンジニアリングマネージャーになった!
  • 筋トレが習慣化して筋肉増えて脂肪が減った!
  • ロックダウンが緩和されてテニスができてる!

あたりでしょうか。直近のロックダウンが緩和されたのはつい最近のことですが、今はテニスができてます! このまま夏には元通りの生活に戻るといいなぁと感じてます。

そのほかの点については大きく変わらず、ロンドンは住み心地が良く、英語はまだまだ課題だらけです!

挑戦することがたくさんですね!頑張ります!

32歳も最高に楽しんでいきましょう!ぴーす!

*1:エンジニアリングマネージャーの役割などについてはこちらの記事がわかりやすくまとまっていると思います