Don't Repeat Yourself

Don't Repeat Yourself (DRY) is a principle of software development aimed at reducing repetition of all kinds. -- wikipedia

2022年の振り返り

今年は忙しくていろいろ思うところがあったので、振り返りがてらインターネットに記事を放流しておこうと思います。仕事の話のみで、プライベートの話は書かないつもりです。

仕事

転職

6月に転職をしました。

ここ数年、今後のことを考えると早いうちに英語を使った仕事をしたいと考えていて、それを実行に移した形になりました。サイバーエージェントをやめるつもりはほとんどなく、最後までそれなりに悩んだのですが一旦離れることにしました。英語に満足するかクビになるかしたら戻りたいと思っているくらいにはいい職場でした。元同僚とも定期的にゲームや食事などに誘っていただいて、今でも遊んでもらっています。感謝。

転職自体は LinkedIn 経由です。外資転職したい方向けの情報ですが、LinkedIn に英語のプロフィールを載せておくとリクルーターから連絡が来ます。大半は人材会社からのものでスルーしているのですが、時折事業会社のリクルーターから連絡が来ます。今回はそれに返信をして、面接まで進ませていただいたという経緯です。

仕事で英語を使いたいという目標は無事に達成されました。働いている時間はずっと英語をしゃべっているかチャットを書いていますし、ミーティングもほぼすべて英語です。私は英語は困りはしないものの子どもの頃の記憶で止まっているので、中高生までいた帰国子女ガチ勢の方々と比べると全然喋れない部類に入ると思います。あと、最近だいぶ直せた気がしていますが元々ブリティッシュアクセントなのもあり、最初は同僚にそのことで「どこの出身なの?」と聞かれることが多かったです。だいたいオーストラリアですか?と聞かれるのですが、多分私の発音は RP (Received Pronunciation) というやつです…。RP は下記の動画みたいなアクセントです。

www.youtube.com

就活で外銀などを受けていたときに聞いていた話なんですが、「アメリカアクセントで話してくれ」とか「ブリティッシュな言い回しをするな」みたいなことを言われるという(まことしやかな)噂話を聞いていました。最初これにビクビクしながらアメリカの会社に入ったわけですが、今のところ直されたのはスペリング(たとえば、authorize を authorise と癖で書いてしまうとか)くらいで、それ以外は特段何も言われていません。なんか妙に安心しました。

職場は非常にグローバルです。いろんな国籍の方がいます。先日もフランス出身の同僚が入社したのですが、フランスは哲学の国ということで永遠にミシェルセールとかルネジラールの話で入社時1on1で盛り上がっていました。こういう会話をすると、グローバルな環境で働けるって楽しいなと純粋に思いますね。

ただ一方で、この「英語を使いたい」という目標の置き方はあまりよくないなと思いました。というのも「やりたい仕事ベース」や「扱いたいシステムの規模、チームの価値観ベース、好きなドメイン」の軸で移ったわけではなかったからです。なんというかサイバーエージェントにいた頃とあんまりチームの規模も扱うドメイン領域も変わらないところに移ってしまったので、ちょっと変わり映えのない仕事生活を送っています。というわけで、バックエンドエンジニアとして採用されましたがデータエンジニアに手を挙げて、今までのキャリアではあまりやったことのなかった、ちょっと新しいことをやりはじめています。これは楽しいです。ちなみに今の会社の人たちも、人格的にもスキル面でも非常に尊敬できる人たちでよい職場環境だと思っています。

アメリカの会社に入って感じたことですが、日本の会社で培った経験やスキルは普通に生きます。あるいは職位にもよるかもしれませんが、日本の会社でそれなりにソフトウェアエンジニアとしてキャリアを積んだ方であれば同等の職位で移れば普通に通用すると思うので、英語さえなんとかなれば大丈夫そうだと思いました。もし外資への転職を検討されている方がいたら、ちゃんと日本の会社で成果を出すのが外資に入って以降のためにも重要だと思います。

働き方は今の時代らしくフルリモートになりました。が、転職前から薄々気付いていましたがフルリモートが辛いことがわかってきました。やはりサイバーの頃のように、リモートとオフィス出社のハイブリッド型で働けるのが理想的みたいです。オフィスでワイワイ雑談しながら仕事を進める方が好きかも。2023年にはコロナが収まってきてハイブリッド型の出勤スタイルが世の中的に普及するでしょうか。

執筆・登壇

某大手メディアでの連載

今年は日系の大手メディアで毎月 Rust の連載を書かせていただきました。毎月連載すると文章力が明らかに向上します。また入門記事を書くと、自分の Rust に対する理解も深まります。もう Rust の入門は書かないし登壇もしないかなというくらいにはお腹いっぱいになりました。全部出し切ったという意味です。

あの記事の裏話ですが、結構文字数制限が厳しく書きたいと思っていた内容をすべて書き切ることはできませんでした。編集の方が大変がんばってくださって、たとえば連載を3回に分けていただくなどしていただきましたが、それでもかなり意識をして分量を減らした上での提出でした。単純に私が書く文章が長いのもありますが、そもそも Rust の機能が幅広すぎて収まりようがなかったようにも見えます。

国内では由緒あるメディアですし、読者はおそらく IT 関連の会社の経営者や部長クラスではあるため、そうしたレイヤーに Rust を売り込めるという意味ではよい機会でした。売り込めたのかはわかりませんが。ただ、有料記事だったこともあって主に周りからの反応が観測しづらかったのは、記事を書いている側としては物足りないポイントではありました。

ちなみにこの連載により Rust の本を経費で買う口実ができたので、今年は経費で Rust の関連書籍を片っ端から買っておきました。

WEB+DB PRESSの寄稿のレビュー

雑誌への寄稿を実践Rustプログラミング入門の共著者の吉川さんがすることになったようで、レビュワーとして声かけしていただきレビュワーとして参加しました。貴重な機会になりました。ありがとうございます。

これまでの技術関連の書籍の執筆や連載の経験から、おそらく一番大変なのはファクトチェックだろうと思い、その辺りの話を中心にレビューコメントを残すようにしました。ファクトチェックというのは、たとえば「Rust のライフタイム」という単語があったとき、その和訳であっているかをソースを辿ってチェックしたり、言葉の定義を何箇所かの文献で確認して正しそうかを確かめたりすることです。

ファクトチェックは本来であれば編集者がやる仕事かなとは思いますが、出版社の編集者は実質 PM なのでとくにされない傾向にあります(してくれる方もいます)。この作業をやらないと書籍としてのクオリティが普通に下がるので個人的には必須の作業だと思います。

費用対効果では雑誌への寄稿が一番おいしいと聞いていましたが本当でした。個人的には、「雑誌への寄稿 >>>>> 単著出版 >>>>>> 共著出版 >>>>> Web メディア執筆」くらいの順かなと思いました。

登壇

というわけでこの2つとさらに ISUCON があった関係で、登壇は意識的に抑えていました。今後も絞って登壇すると思います。基本的には入門者向けの登壇はほぼしない方針で、中上級者向けというかすでに Rust を使っている方向けの話をしていきたいです。

今年は TechFeed Experts になった関係で、TechFeed さんのイベントに呼んでいただき一度だけ登壇しました。20分間の枠の登壇はかなり久々でしたが、なんとか時間通りくらいで登壇できたように思います。登壇時の書き起こしは下記です。

techfeed.io

ISUCON

今年の特筆事項としては ISUCON があります。準備から開催まで、正直にいうと大変でなかったわけではないのですが、前職の同僚と最後にチームプレーで開発できた最後の機会で、改めて非常に楽しかったです。実装面での詳しい話は下記の Zenn にまとまっています。

zenn.dev

今年はサイバーエージェントが作問を行うということで参加した形でした。もともとサイバーエージェントのゲーム部門では「ヒダッカソン」という ISUCON を参考にした競技が行われていて、学生向けのそれを1日インターンとしてやった際、レビュワーとして参加させてもらったことがありました。その縁で今回のリーダーの方に声をかけていただき、作問に参加したという経緯です。私は唯一広告部門の人間でしたが、他のメンバーは全員ゲーム部門の方々でした。

OSS

OSS については今年はほとんどやれませんでした……といいつつ、実は仕事でライブラリをいくつか作ったり公開したりしています。

一つは Conventional Commits の記法を利用したコミットログを分類して、リリースノートを生成するツールです。TypeScript で関数型プログラミングをするという完全に趣味全開の実装にしました。ただこれはあとで気づいたのですが、実は Google が同様のツールを出していました。

github.com

また、使っているクレートにパッチを投げました。こちらは手続きマクロを使って新しい機能を追加しました。

github.com

来年は、とくに OSS への比重を高めていきたいと思っています。Rust もそろそろ十分に普及しうるフェーズに入ってきたと思いますし、執筆や登壇よりは優先度を上げたいと思っています。使っているクレートにほしい機能があったら積極的に追加実装したいし、ドキュメントのリンク切れがあれば修正パッチを投げていきたいです。ならびに、仕事で Web アプリケーションを実装するだけだと自分の力量が伸び悩んだりあるいは飽きが来たりすると思うので、たとえば言語処理系のプロジェクトに参加してみるなどして自分の知見を広められるようにしていきたいです。

来年

来年は30代にはよくあるライフイベントが発生する関係で、5月か6月くらいからしばらくお休みをいただく予定です。復職したらまた適当にがんばっていきたいと思います。まずは人生の最難関を乗り越えるとき…!無事に生きて帰ってこられることを願っています。