2020年振り返り

Thomas Land
夏にコロナの第1波と2波の合間に行ったThomas Land

このブログの更新めちゃくちゃ減ってしまったので前回が2月に第2子が生まれた時でその前が2019年の振り返りだった...! 来年はもうちょっとブログを気軽に書いていきたいけど、その分日記的にTwitterで呟いていたような気がする。来年は日記を書くモチベーションを高めるためにシンプルなブログをJekyllみたいなやつで構築して運用してみたい気もする。

前回の振り返り

ainame.hateblo.jp

COVID19

世界中の人が影響を受けたCOVID19だけど自分は幸いにも仕事はリモートワークも出来たし、家族も直接の被害をまだ受けていないので無事生き延びることが出来た。一方でイギリス国内の感染状況はとても良いとは言えないし医療も日本ほど便利ではないので少なからずの不安はあるが、とは言え自分の住んでいるところはあくまでも一地方都市だし不必要にリスクに晒される生活はしてないのでなんとかこのまま生き延びていくしかない。

危機感みたいなものは相対的なものだと思っていて、自分の住む都市のBristol(人口約50万人)のそのうちの中心部のエリアだけで1日あたり最大400人ぐらい新規の陽性者が出てた。この400人というのは、自分が日本のニュースをみていた限り人口1000万人の東京だけでその数値が出た時は当時そこそこ騒がれていた数値だと思うけど、人口10万人単位とか比較したらでみたら桁違いの数値がこちらでは出てるけどみんなまぁ普通に暮らしていたように感じた。イギリス国内を省みると他のエリアの方が状況が悪いし、きっと大丈夫だろうみたいな謎の安心感があるのかもしれない。

coronavirus.data.gov.uk

とりあえず最近の生活状況をシェアすると

  • Four tier alert level によって生活が制限されていて現在 BristolはTier 3 (Londonは4)
  • Tier 3でもスーパーはもちろん生活必需品以外の店も開けるがレストラン・パブは閉まる
  • 店以外でも娯楽施設とか子供向けのイベントはほぼ壊滅的なので雨の多い冬場に子供たちを連れていくところに困っている
  • イギリスに住むメリットの一つのヨーロッパ各国への旅行が無になって残念

冬場の閉塞感はすごいあるけど、家に籠っている間は特にそこまで生活に苦労はしていないという感じ。短期的にはまぁ良いけどこれが2、3年続いたら心がどんどんすり減っていくと思うので少しでも状況の改善を期待したい...

業務

最近の業務はiOSエンジニアというよりはiOSチーム内でのなんでも屋さんみたいになってきていて以下のようなことをした。

  • iOS13までApp Store自身が対応してなかったせいで生まれたアラビア語向けバイナリとそれ以外の国向けのバイナリを統一して単一のアプリとして移行する
  • App Store Connectのmetadataを外部の翻訳サービスと連携してエンジニア以外でもfastlane/deliver経由で更新できるようにした
  • アプリの自動化したリリース作業を呼び出すSlack BotをSwift + Vaporでリニューアルしてshortcutsからボタンぽちぽちでリリースできるようにしたり機能を追加したりした(各種コマンドを思い出すのがだるい)
  • アプリのApp Store向けのスクリーンショットを完全自動化して多言語化対応してデザイナーを介さずに定期更新できるようにした(主にRTL対応の都合からfastlane/snapshotとframeitは未使用でフルスクラッチで同等のものを全部Swiftで実装した)
  • fastlane/deliverでスクリーンショットのアップロードが遅い+安定しないため激しく書き直して直した
  • 開発しやすさの向上のためにframeworkベースでの開発に移行するための準備として既存モジュールの依存とかをひたすらひっぺがしてリファクタリングしまくってる(未完)
  • その他アドホックで短期的な実験的な機能の実装をしたりアプリのデザインシステム対応プロジェクトに参加したり

fastlaneを直した話は会社のブログに上げているので英語だけどよかったら読んでみて欲しい。スクショ自動化の話もブログ化する予定ではある。 

sourcediving.com

ほとどんのタスクはチーム開発というより1人で作業し続けていて必要に応じて人に声かけていってやり切ったという感じでリモートワーク環境の中では結構やりやすかったと思うけどその分孤独感も少しあった。例えば、スクショ自動化のプロジェクトは本当に0から10まで自分1人で試行錯誤しながら苦労して実装したので結構時間がかかったのだけど、果たしてこんなに時間かけてやって良いもんなの?みたいな葛藤は日々あったけど、2週に1回の1on1とかで進捗について冷静に話したり、コロナ禍だし仕方がないみたいなことを心に言い聞かせてやり切ることができた。何事も気持ちを強く維持するのは大切だと思う(精神論)。こういった働き方もありだと思うけど、コロナ禍だからこそチームでスクラム的な開発をする方が各個人の心理的安全性とか働きやすさを担保する上で良いと思った。

業務内容以外で会社の環境面では今までスタートアップみたいな状態だったのがついに給与・評価面での人事制度が整ってきて、↑の自分の業務が評価されることがあってなんか報われた感じがした。今までは闇雲にアプリに実験的な機能を追加しては消しの繰り返しだったけど、業務を機能開発から基盤よりの仕事に切り替えて自分のペースで自分なりに価値があると思うことをやることが出来てそれが評価にもつながったので働くモチベーションにつながった(給与もちゃんと上がる予定)。

リモートワーク

弊社は3月ぐらいからずっとリモートワークに切り替えていて物理出社は基本無し(家から働くのが難しい人向けのみ)。とりあえず来年3月までやることも決まっているけどこれはワクチンが普及して少なくともイギリス国内の状況が変わるまできっと継続していくんだろうと思っている。

リモートワークとインターネット

リモートワーク一番のハードルとしてはやはり自宅のインターネット環境で、元々市街地中心部に住んでるのにアパートのビルの中まで回線を引く工事が出来ない問題があって、今年の春まで最大12MbpsのADSLの回線しか使えず、平均2〜3Mbpsという感じだった。3月にようやく1年の契約縛りが終わるタイミングが来たので違約金なしで解約して(こちらの違約金は残り月分を払うのと変わらないぐらい高い...)、4GのSIMを刺して使えるルーターを運用し始めた。一時的な速度は確保できるものの日中本当に安定しなくてMVNOのSIMを複数試して11月にようやく今のVodafoneのサブブランドのVOXIのSIMに落ち着いた。無制限プランが月£35から使えていつでも簡単に契約を止められる。自宅のエリアはギリギリエリアから外れているけど5G readyなSIM。

家の周りの大学生が10月からリモート授業を受けているせいか秋になってから午後3時とかのミーティングに合わせて急に不安定になり、社内のZoomミーティングを何回か逃したこともあった... ルーターについても知識がないまま最初に雑にDWR-953を買ってしまったけど失敗して、4G+, LTE advanced or LTE cat 6 に対応しているルーターを買い直すことでモバイル回線ながらも安定性と速度が向上してまともになった。

リモートワークと子育て

1月に第2子が生まれてから3月初旬まで義理の母が手伝いに来てくれていたけど、それも終わり完全に夫婦2人きりでの子育てになったタイミングでリモートワークが始まった。これはある意味ラッキーで自分が24時間家にいるので、仕事は若干おざなりになるかもしれないけど、家で何かトラブルがあればすぐに助けに行けるし、平日昼に2人の子供にお昼ご飯を食べさせる作業を夫婦2人で並列に乗り越えることができる。2人の子供が朝から💩しまくっておむつの交換がしんどくなったらいつでも交代することも出来る(1日1人で12回以上💩おむつを交換するのを想像してみて...)。定時後即子供を風呂に入れる。などが出来て便利ではあった。

一方で平日に日中の間に子供を遊ばせるのには非常に苦労していて(妻が)、元々プレイグループという教会でボランティアベースで開催されている子供を連れて遊ばせられるイベントがコロナで消えて、最寄りの動物園・博物館・科学館・図書館などの各種施設も閉鎖したので、もっぱら公園に連れていくしかなかった。子供2人を公園へ連れていくのも疲れるので最寄りのスーパーに買い物に連れていくだけの日もあったり、冬になって毎日雨が降っているのでそれも難しくなり最近はNetflixに頼りがち。家でクッキーを一緒に作ったり、料理を手伝ってもらうとか、ハサミの練習をしたりとなんとかいろいろな刺激を与えられるように日々苦心している...

リモートワークとガジェット

しばらくの間MacBook Proのカメラとマイクだけを使っていたけど流石にだるくなってきて、インターネットが改善してきた秋以降にYeti nanoとLogitech Streaming WebCamを買って便利になった。いろんな人が使っているだけあって使い勝手もコスパも良さそう。

リモートワークと運動

朝起きてから夜8-9時ぐらいに子供たちが寝付くまで常に子供とつきっきりなため、平日に自由に家の外に出ることが本当に少なくて火曜木曜に保育園に子供を迎えに行く以外の外出が無だった。かなり運動不足になったと思う。元々持ってたリングフィット アドベンチャーをごく稀に起動して遊ぶぐらいだった(その間に妻はクリアまでしていてえらい...)。その分土日は息子を公園に連れていったり外に散歩に連れ出して積極的に歩いたり運動したりを心がけた。一方で食欲は年齢のせいか運動不足のせいか心なしか若干控えめになって体重が理想体重ぐらいまでに勝手にじわじわ減ってくれて便利ではあった。

iPhone

手持ちのiPhoneがXのまま3年間経ってしまったけど、コロナで外出しないし12に買い換えるのもそんなに嬉しくないなぁと思ったけど、ボーナスが出たので勢いで先日12 Pro Maxを買った。画面の大きさとカメラの性能とバッテリーの持ちにはとても満足している。あとTwitterのFleetのUIがヌルヌル動くようになって嬉しい。でも画面が大きいのが嬉しくない人にとっては完全にコスパは悪いと思う。

ゲーム

今年クリア/プレイしたのは

  • Assassins' Creed Origins - ようやくクリア
  • Uncharted 4 - クリア
  • The Last of Us (Remastered) - クリア
  • Death Stranding - 未クリアだけど今現在プレイ中
  • The Last of Us 2 - 年末のセールで購入してダウンロードだけした
  • スーパーマリオ3Dコレクション - サンシャインを少しだけ遊んだ
  • Hades - UKのストアで買って遊んだ。一度ラスボスのところまで到達したけど未クリア。
  • ポケットモンスター シールド追加DLC 鎧の孤島/冠の雪原 - ランクマッチにハマって650時間ぐらい遊んでしまった

今年はひたすらポケモンをずっと遊んでいたと思う。DLCによる過去のポケモン追加とか、新特製・技の解禁によって毎月のように対戦環境が移り変わっていてかなり楽しかったと思う。若干燃え尽きつつあるけど目標のシングルバトルで最終4桁達成がいまだに出来ていない。プレイ人口的には日本人の割合が多かった上にネット環境が悪くてマッチングしづらいor回線切れまけなどが続いてしまってそんなに快適ではなく萎えてしまうこともあったけど、それを差し引いても将棋で対局するかの如く読み合いとか研究のしがいがあって弱いながら楽しかった。あとは同僚の @giginet 先輩との対戦会を月一でやっていてそれでモチベーションも結構継続していた。

サイバーパンク2077の登場とかでにわかにゲーミングPCブームが起きていると思うけど、子供2人育てながらゲーミングPCに投資し続ける金銭的余裕 or 家のスペースがあまりないので2021年は早めにPS5を手に入れてサイバーパンクを遊んでみたい。

音楽

今年はライブに一切行けていない。Apple Music経由で新規にJ-Popを開拓して、仕事中とか仕事後によく聞いたりしていた。J-Popだと家で雑にリビングのスピーカーで流しやすくて良い。逆にSquarepusherみたいなのは家族が常にいる中では流しづらい。

特に↑などをよく聴いた。Haken Anisongというプレイリストも結構聞いてた気がする。あと電気グルーヴが活動再開してとても嬉しい。

子育て

すでにいろいろ書いてるけど、子供を遊ばせることについては苦労したけど、それ以外はとても順調で特に第2子が生まれた時の体重はかなり少なかったもののその後それなりに成長してくれて、生後10ヶ月でテキパキとバランスよく歩き出してしまって驚いた。(長男は1歳3ヶ月になるまで正しいハイハイすら出来なかったのに... )夜も割としっかり寝てくれてだいぶ安定していたと思う。去年は若干心配だった長男の会話能力も2歳3、4ヶ月ぐらいの時から急激に伸びてきて多分年相応には喋れるようになってきたと思う。リモートワークで父が常に家にいるせいか(?)長男のお昼寝がなくなってしまったのが残念...

旅行

第1波が収まった夏頃に1泊2日でBirminghamにある本場のトーマスランドに旅行した。当時、長男がトーマスが好きだったため。屋外ではあったけど、遊びに来ている人たちみんなほとんどマスクを付けていなく当時はすごい開放的に遊んでいたともうけど今思うとちょっと怖い環境ではあった。本当は有給も余っているしもっとどこかに行きたかったけど、気付いたら夏のバケーションシーズンを逃してしまったために他にはたいしたところに行ってない。日帰りでバスとかタクシーで行ける距離のAerospace Bristol(コンコルドが展示してあるやつ)とかHelicopter Museum(有志で作った自称世界一のヘリコプターオンリーのミュージアム)などに行った程度。

あと厳密には旅行ではないけど、3月末に祖父が亡くなったけど、もうその頃にはコロナで帰国どころではないし、子供産まれたばかりというのもありお葬式に参加できなかったのでいつか日本に帰国する際にはお墓参りはしたい。

日本のGOTOキャンペーンはイギリスでロックダウンを喰らってる身からするととても羨ましかったし、リスクはあるものの良い施策だと思った。

去年は第2子を妊娠しながら大学院に通っていた妻だけど、無事に卒業用の論文を提出してDistinctionという成績優秀者として卒業していった。とてもめでたい。去年は卒業前からPhDへの進学用の奨学金を応募していたけど結局ダメだったので今年は進学できなかった(コロナもあったのでよかったと思う)けど、今年はBristol大学からのオファーとmasterの成績とオンラインカンファレンスでの対外発表を実績としてもう一度各種奨学金に応募しているので来年こそ進学出来ることを期待したい🤞子育てしながらも各種奨学金・大学への応募のために研究計画を立てたりmasterの論文の要旨を作ったりと結構忙しそうにしていた。

OSS活動

第2子の子育てとか日々のポケモン育成・対戦が落ちついてきたりして、余暇でfastlaneに業務外でもPRを送るようになってきた。元々は仕事でいじる機会があったからなのだけど、触っているうちに普段自分が仕事で使っているツールでもあるので、何とかしていきたいという気持ちが湧いてきた。fastlane自身は初期と比べると保守フェーズてきなタイミングになってきていてApp Storeの新しいAPIに対応したりっていうぐらいしか目玉の変更みたいな物はないのだけど、それでも既存の機能はいくらでも改善しようがあるし(特にエラーハンドリングとか曖昧な挙動など)、大規模RubyOSSプロジェクトとしての課題もそれなりにあるように見える(最新バージョンのRubyへの追従が完璧にはできてないなど)。特にfastlaneはモバイル開発畑の人たちがRubyを書いて開発していたりするので、本職でRuby書いている(た)人からすると、〇〇を使えばもっとシンプルに書けるのに!みたいな野暮ったいコードも多かったりするし、そのせいで可読性が厳しい箇所も結構ある。ということで自分が仕事でお世話になっているfastlane/deliverへリファクタリングたりユーザーフレンドリーなエラー表示など実装していったりした。エッジケースとかでのリグレッションとか起こしつつも速攻で直して何とか少しづつ良くしていっている。

Pull requests · fastlane/fastlane · GitHub

今まで個人的にOSSへのコントリビュートをここまでやる機会はなかったけど、今の自分の仕事環境・内容とスキルセット(Rubyを過去にたくさん書いてた+モバイル開発している)がマッチしている分野を見つけたという感じなので本腰を入れて2021年もしばらく取り組んでいこうと思う。継続は力なり。

個人Discordサーバー

discord.gg

(サムネは家から徒歩1分のところの美術・博物館にあるBanksyの作品)

仕事でも仕事外でも人と話すことが本当に減ったので、雑談が恋しくなって個人のDiscordサーバーを立ててみた。Twitterで雑に宣伝して久しぶりに話すじゃんみたいな人たちと話せたりもしてとてもよかったので、いつ抜けても全然問題ないので何となく雑談しに来てほしい。月1ぐらいの定期的な感じで雑談会みたいなのできたら嬉しい。イギリスの生活の話から仕事、子育て、投資(ISAをやり始めた)とか何でも話す。

総括

2020年大変だったけど、自分なりにモチベーションを見出しながらそれなりに無事生き抜くことができてよかった。2021年はコロナ禍前提の年なので、今までコロナがあるから・・・みたいな気持ちで甘えていた部分を見直しつつ時代にあった生き方をしていきたい。あとこういうストレス環境の中で子供たちを健康的に育てていくためには自分自身も精神的に肉体的に健康である必要を感じた。

あとは今は特に転職のモチベーションはないけどイギリスからのリモートでもOKな仕事の話があれば聞いてみたいのでこのブログ読んだ人でもし何か良い話があればご連絡ください。