「あの人も読んでる」略して「も読」。さまざまな寄稿者が最近気になった情報や話題をシェアする企画です。他のテックな人たちがどんな情報を追っているのか、ちょっと覗いてみませんか?
みなさんこんにちは。
「あの人も読んでる」、第21回目の投稿です。maguro(X @yusuktan )がお届けします。
今回紹介するのは、Mozillaで10年間働いてきたRyan Huntさんによる振り返り、「Just Keep At It: A Decade at Mozilla」です。
Loading... Loading... Loading... Loading... 希望通りに進まなかったキャリアがWebAssemblyの仕事へつながったことと、複雑で不格好に見えていたWebを、ブラウザ開発の内側から評価するようになったことが書かれています。 希望通りに進まなかったキャリアも、複雑さを抱えたWebも、あとから振り返ると違う姿に見えてきます。
一度は届かなかったコンパイラの仕事 Huntさんは2016年、Rustに興味を持ってMozillaのインターンへ応募しました。 GraphicsチームとJavaScriptエンジンSpiderMonkeyのポジションを受け、採用されたのは第一希望ではなかったGraphicsチームでした。SpiderMonkeyのポジションは自分でも勝ち目が薄い、と分かっていたようです。
3年後にWebAssemblyチームの募集があり、インターン時代には届かなかったSpiderMonkeyの領域へもう一度応募します。 コンパイラは余暇に独学していた程度でしたが、今度は見事採用。Graphicsチームでの経験もあり、膨大なコードベースを探索するのは得意になっていたものの、それはSpiderMonkeyに携わる上ではあって当たり前のもの。コンパイラの理論と実践を数多く学ばなければなりませんでした。しかし今ではWebAssembly Community GroupにおけるMozillaの代表も担うようになりました。
インターンのときは「勝ち目が薄い」と感じていたコンパイラのポジション。そこに結局行き着いて、そしてそれがキャリアの中で最もやりがいのある仕事になったというのが、なんとも奇妙だ、と綴っています。
分からないまま続けた経験 Huntさんの歩みを読んで、僕自身のこれまでにも重なるところがあると感じました。
僕もRustを学び始めた当時、CやC++をほとんど触ったことがありませんでした。むしろ大学で初めて学んだプログラミング言語であるCには、トラウマのような感情を抱いていました。 そんな中、苦しみながらも競技プログラミングの問題をRustで解き、頻出するデータ構造を実装したり自分専用のライブラリ化したりしながら、Rustの独特の所有権や借用の考え方に少しずつ慣れていきました。 この経験が、その後Rust製のOSSにコントリビュートするときに役立っていきます。
その後は、仕事を続けながらジョージア工科大学のオンライン大学院に通い、コンパイラやコンピュータアーキテクチャ、分散システムなどを学びました。仕事でやっている一般的なWebバックエンド開発ではあまり意識しなくてもいいような低レイヤーのトピックを、好奇心のままに履修しました。 難しすぎる課題に心が折れそうになることもありましたが、粘り強くログとにらめっこしながら仮説検証を繰り返したり、教科書や論文などを参照してそれをコードに落とし込む作業をした経験は、今でも活きているなと感じています 。
競技プログラミング、Rust、大学院、Denoと、これまでの僕のキャリアはきれいな一本道ではありません。ただ、どれもそのときに自分自身がやりたくて選んだ道です。 一見あまり関係ないように思える2つの経験が、あとから振り返ってみると思わぬところで間接的に役立っている、ということは往々にしてあります 。
Huntさんも、道筋そのものより、「慣れない領域で分からない状態が続いても、挑戦し続けること」が自分を成功に導いた、と振り返り、"Just keep at it"(「諦めずに頑張り続ける」)という表現で教訓を伝えています。
Webは本当に不格好なのか この記事のつづきを読もう✨ 新規登録/ログインしたらできること すべての記事を制限なく閲覧可能 限定イベントに参加できます GitHub連携でスキルを可視化 ログイン