
【ONE CAREERエンジニアのホンネ vol.6】加速度的に成長し続ける環境の楽しさ
みなさんこんにちは!ワンキャリアで共通基盤の開発を担当しています吉田(X:yoshida_baystar)です。
今回はワンキャリアに入社して3ヶ月が経ちましたので、振り返りの記事を書きたいと思います!
自己紹介
・出身:福島県須賀川市
・職歴:人材系サービスのバックエンドエンジニア(3年) → ワンキャリア「共通基盤チーム」
・趣味:TVゲーム、ラーメン屋巡り、サウナ、野球観戦(ベイスターズが特に好き)
・特技:横浜家系ラーメンの写真を見てどの系列店か当てること
ワンキャリアに入社したきっかけ
1. エンジニアが成長できる環境であると感じた
Entrance Book にも記載されている通り、ワンキャリアでは週1回のペアプログラミングや勉強会を毎日開催するなど、エンジニアの技術力向上に組織単位で取り組んでいます。特にペアプロの組み合わせは、メンバー層だけでなくCTOやEMも混ざったランダムであり、役職やチームを超えたナレッジシェアが行われています。また、「困ったらペアプロしてみよう」という文化が根強いため、実際には週に複数回実施されることも多いです。
この他にも週1回モブプロの時間があることや、OSSへのコミットに力を入れているという話を入社前に聞き、エンジニアとしてのスキル向上が望める環境であると感じました。
また、CTOの岩本さんとの面接で技術的難易度が高い課題について取り組んでいることや、社員との座談会で技術的関心が強いメンバーが多いと感じたことも入社を決める上での大きな要素でした。
2. 会社もプロダクトもグロース期だったこと
前職は会社の規模が大きく安定したサービスと売上を持っていたため、保守運用や既存サービスの拡張がメインでした。しかし、自分の働きによってプロダクトが拡大していく楽しさと難しさを経験したいという気持ちが強くありました。
ワンキャリアは少人数の組織であり、プロダクトも成長中のフェーズであるため、多様な役割を担いながらプロダクトと会社の成長により貢献できる機会が多いと考え、入社を決めました。
入社〜3ヶ月に「挑戦」したこと
8月 フロントエンドの改修
入社して1ヶ月は ITエンジニア就活に特化した就活サイト「ONE CAREER for Engineer(以下、OCE」) のフロントエンド改修として、UI/UXの改善を主に行っていました。
フロントエンドの技術スタックとしてNext.jsが採用されていますが、当時の自分にはNext.jsの実務経験がほとんどなく、フロントエンド開発自体も学生時代ぶりだったこともあり、まずはキャッチアップから始めていきました。フロントエンド・リポジトリ構造の理解不足に悩まされながらも、チームメンバーにサポートをしていただき、なんとかタスクを解消していくことができました。
Next.jsはレンダリングが選択できるだけでなく、それ以外の機能もかなり豊富で、特に画像・フォントのprefetchや最適化、getLayoutなどパフォーマンスを向上させられる機能が充実していることが印象的でした。これらは現在も完全に使いこなせているような感覚はないので、これからもインプットを続け、プロダクトに取り入れられればと考えています。
また、入社して特に驚いたのは組織全体のリリースの速さと量でした。PRが1日に複数件出るだけでなく、PRが出てからレビューまでのスピードが非常に早く、レビュー完了後は即リリースが行われます。このため、プロダクトが日々成長していくのを肌で感じることができます。最初はこのスピード感についていくのが大変でしたが、実装した機能や修正が即座にユーザーに届けられることでプロダクトが成長していく感覚を味わえることは非常に面白く、やりがいを感じています。グロース期ならではのこのリリース量と速度は、現在も私の中で大きなモチベーションになっています。
9月 新規機能開発 テーブル変更編
9月に入ると、8月末から始まっていた新規機能の開発が本格的に始動しました。
この開発の一環で、ワンキャリアの新卒領域に関するデータを所持しているDBに対し、テーブル名とカラム名の変更等を行う必要がありました。そのため私が所属するチームで、このDBに依存する全てのプロダクトの修正を行いました。
一部プロダクトで使用されているRailsが未経験であったこと・各プロダクトの仕様やドメイン知識等を把握していなかったこともあり、8月と比べてもキャッチアップにかなり苦労しました。そのため、チームメンバーとほぼ毎日ペアプログラミングを行い、Railsやプロダクト仕様等の不明点を確認しながら実装を進めていくことでタスクを消化し、リリースすることができました。
また、チームとしてはどのように変更をすれば影響範囲を最小限にしてリリースを進められるかについて議論を重ね工夫してきました。実例を挙げると、Railsの self.table_name を使いDBの変更とプロダクトの変更を分けてリリースできるようにしたり、feature_flag を活用したリリースなどがあります。その結果、バグのない状態でDBの変更を完遂し、チームとしても私個人としても大きな達成感と自信を得ることができました。
10月 新規機能開発 フロントエンド編
10月も引き続き新規機能の開発を進め、主に新規画面の実装を行いました。
特にUI周りの実装とコンポーネント設計ついては自分が受け持ち、PdMと連携しながら実装を進めていきました。 figmaで作られているデザインを元にただ実装するのではなく「ユーザーにとって使用しやすいUIか?」を考慮しながら議論し、細かいUI修正を行いながら進めました。例を挙げると、当初は一つの情報がまとまったコンポーネントの中に複数のボタンが配置されているようなUIが存在していました。しかし、ボタンが複数あることでユーザーに強調すべき内容が認識し辛いのではないかという議論が生まれ、ボタンを一つのみに絞ることでユーザーが混乱しにくいUIにすることができました。このような修正を重ねることで、当初想定されていたUIよりユーザーが使いやすいものに仕上げる事ができたと感じています。
好きなコアバリュー
「挑戦と応援」
振り返ると自分一人では技術的にも精神的にも乗り越えられなかったような出来事がたくさんありました。しかし、多くの方々のサポートと応援があり、なんとか乗り越えることができました。
また周りのメンバーを見渡すと、プロダクトの課題解決だけでなく、OSSコミット・社外登壇等にチャレンジしている方が多く、それを活発化させる雰囲気作りを組織単位で実施している様子を目にします。
一人一人が何かに挑戦し続け、お互いに高め合える環境はとても貴重ですし、尊ぶべき物だと感じています。自分も与えられているばかりではなく誰かの挑戦を後押しし、応援できるような存在になっていきたいです!
次の「挑戦」!
共通基盤の開発チームとして、プロダクト拡大に向けた基盤作りを行っていきたいです。
ワンキャリアのプロダクトは、今後更なる拡大と新規機能のリリースをしていきます。プロダクトが大きくなった際に、どのような構成にすればリリース速度とユーザー体験を損なわないかを意識しながら開発に取り組んでいきたいと思います。
また、プロダクトだけでなく組織も日々拡大しています。チーム・組織として目指していくことは何か、チームや組織に取り入れた方が良いものはないかについて考え、個人が受け持つ領域だけでなく組織全体に貢献できるようにしたいと考えています。
具体的に今考えていることは以下です。
DBに依存した修正を行った際にプロダクトへの影響を最小限にするためのアーキテクチャ変更
デプロイを高速化させつつリリース単位を最小限にするためのリリースフロー
これらの挑戦を実現し、組織とプロダクトの成長に貢献できるよう努力していきます!
「人の数だけ、キャリアをつくる。」
ワンキャリアではミッション実現のために、事業・プロダクト開発を推進させる仲間を募集しています。弊社のエンジニア組織にご興味を持っていただけた方は、採用情報もチェックいただけると嬉しいです!
▼ワンキャリアのエンジニア組織のことを知りたい方はまずこちら
▼カジュアル面談を希望の方はこちら
▼エンジニア求人票