ITエンジニアと一口に言ってもフロントエンド、サーバーサイド、インフラ、QA、マネジメント……など、ポジションやキャリアにはさまざまなルートが。使う技術やツールはもちろんのこと、面白さや考え方も異なります。「なぜ、どういうきっかけでその道に進むことになったのか」「何がやり甲斐なのか」には、人それぞれの答えがあるものです。
いろいろな人から自分なりのキャリアの選び方を伺うことで、テックの世界の知見を共有する本企画。今回は株式会社GMOメディア 西悠太さんが、フロントエンジニアになった理由をLT形式で発表していただきました。
自己紹介
GMOメディアの西です。ネット上ではAmemiya Riya(@Riya31377928)という名前で活動しています。
今回は、私が自称フロントエンドエンジニアになった理由をテーマにお話します。なぜ“自称”なのかは後ほど説明します。
フロントエンドの世界に足を踏み入れるまで
中学3年生のころ、独学でC言語を勉強しはじめました。
きっかけは単純で、ゲームプログラマーになりたいという夢があったんですね。
なぜ言語がCだったのかというと、いい加減なWeb記事を真に受けて「UnityやUnrealEngineで用いられるC++、C#の元になった言語。だから、Cを学べばすべて理解できるんだ。そんな一石三鳥の神みたいな言語があるのか」と思ったからです。実際にC++やC#を触ってみたら、1ミリもわかりませんでした。
その後、Webサイトを作ろうと思って、JavaやPHP、Ruby on Railsといったサーバーサイドの言語を学び、いろいろ触っていくなかで「プログラミングってめっちゃ楽しい」と感じるようになりました。
そして、高校1年生のとき、TypeScriptに触れたことが大きな転機になったんです。
TypeScriptは、本当に素晴らしい言語だと思っています。型の柔軟性とJavaScriptの自由度が絶妙なバランスで融合していて、他の言語とは違う独特な魅力があり、心を鷲掴みにされました。
なんといっても型パズルが楽しい。楽しすぎて、型パズルのライブラリを個人開発で作っているくらいです。伝わるかわかりませんが、2進数の計算ができるTypeScriptの型を書いています。テストしている範囲だと32bitまで演算できます。
そんなわけで私はTypeScriptを通じて、フロントエンドの世界に足を踏み入れました。UI/UXを考えたり新機能をリリースしたりして、ユーザーの方から「良い機能だ!」などの反響をもらえると、うれしいですよね。自分の仕事は誰かの役に立ってるんだなと思えます。
フロントエンド開発は、技術的な挑戦とクリエイティブな要素が絶妙に混ざり合う領域です。新しい技術が現れては消え、ベストプラクティスもどんどん変わっていきます。そのスピードについていくのは大変なんですけど、同時にそれがめちゃめちゃ楽しい。
常に進化しつづける技術に追いつきながら、ユーザー体験を第一に考え、作っていくことが私のやりがいになっています。
なぜ“自称”フロントエンドエンジニアなのか
現職にはフロントエンドエンジニアというポジションがありません。私自身、もともとはRubyエンジニアとして入社しています。
入社時は「バックエンドもやりたい」という気持ちがあったのですが、Next.jsのゼロイチ開発、Reactの負債返却などを担当していくうちに、フロントエンドのほうが面白くなってきてしまいました。
こういった状況を逆手にとって、私はこの会社における“フロントエンドの第一人者”になりたいと考えています。
現在の主な取り組みは、Core Web Vitalsの改善。その過程でAngularの最新版へのアップデートや、全コンポーネントのスタンドアロン化、そしてSSRの徹底的な実装などを行ないました。
最近の悩みは、LCP(Largest Contentful Paint)やCLS(Cumulative Layout Shift)ですね。どこかを改善するとGoogleから違うところを指摘され、それを改善したらまた別のところを指摘され……というイタチごっこをしています。
ですが、これらの指標が良くなるとユーザー体験が大きく向上します。数値が改善されたときの喜びは格別です。ミリ秒単位の変化でも、実際のユーザー体験やビジネスの成長につながっていく。その過程を実感できることがフロントエンド開発の醍醐味でしょう。
私は「フロントエンドエンジニアにはこういうことが可能で、こんな風にビジネスにインパクトを与えていけるんだよ」という証明をしていきたいと思っています。
質問パート
質問:「ビジネスにインパクト」という言葉がありましたが、フロントエンド開発からどうやってビジネスにインパクトを与えるかを詳しく聞きたいです。
西:私が関わっている小説投稿サイトは広告収益が主な収益源で、広告収益を上げるためにはユーザーがWebサイトに滞在してくれる時間を増やすことが重要です。そのために使いたくなるように機能改善や機能拡充、既存のバグを直す、といった改善を重ねることが重要だと考えています。
質問:あるポジションの“1人目”になることは大変。そして“第一人者”となるには、仲間を増やして組織としてやっていくことも大切。そのためにしていることは?
西:Slackでフロントエンド関連の情報共有をしたり、社内勉強会をしたりと草の根的な活動をしています。