弁護士ドットコムに入社して4年経ったので振り返る
2023年9月で入社して4年経ち、エンジニア歴的には7年目になった。ほぼ30歳(まだ29歳)。
この会社に入社してから、これまでどんなことやったっけ、どんな成長をしたのか、振り返っておきたいなと思った。
入社
- エンジニア3年目での入社
- 前職
- 技術的には面白く成長できそうだなと思っていた
- 倒産とかそういう感じになってしまった
- 腰を据えて、エンジニアとして成長できそうだなと思ったところが決め手になった
コロナウィルス
- コロナウィルスが襲来した
- 世の中はリモート移行どうするかてんやわんやしていた状況だった
- 弊社は判断が早い方で、結構早い段階で強制フルリモートになった
- これ以来、ずっとフルリモートで働いている
BEAR.Sundayとの出会い
- 入社以前からちらっと知ってはいたが、プロダクトで本格採用しているプロダクトにアサインとなった
- Web標準だったり、リソース思考、後方互換性への考え方といったコンセプトを技術顧問である郡山さんに社内イベントなどで教えていただいた
- エンジニアとしての考え方で色々影響を受けた
1−10フェーズのプロダクト開発
- デザイン思考だったり、タスク分解、クリティカルシンキングみたいなものを叩き込まれた
- とても良い経験ができた
- 特に、ここ数年で持てるようになったマインドセットのベースになり、糧になっている
- 反面、当時はやんやいって色々迷惑をかけてしまったのかなと反省もしている
- 色々な制約がある中でどうしたら施策を進められるか、どこに仕様を落とすか、何をやらないか、そうした議論の仕方や考え方など色々学べた
- また、良くも悪くもハレーションがあり、これが仕事だよなあ、と色々現実も知った
フロントエンド方面楽しくなってくる
- エンジニア1年目からjQueryゴリゴリ書いたり、Vue.jsは触ってきており、元々フロントエンド方面に全く抵抗がなく、むしろ好きだった。
- 本格的にSPAの開発をしたのがこれが初めて
- CSSもプロダクトで多少書くようになり、フロントエンドの方がむしろやりたいなという気持ちになってくる
OSS活動
プロダクトでBEAR.Sundayというフレームワークを使っている
ちょくちょく社内にいる郡山さんにフィードバックはプロダクト側からしていた
Ray.MediaQueryというライブラリにコントリビュートした
BEAR.Sundayは内部でいくつかコンポーネントに分かれており、そのファミリーの一つ
sqlcのPHP版と思ってもらっても良いかも知れない
生SQLとPHPを上手く橋渡ししてくれて、且つ型もついてとても良いライブラリ
こちらもIssue立てたり、実際にコミットも入れたりした
この頃から、OSSにIssue建てるくらいのことはできるようになった
フロントエンドのUI刷新
- 組織変更やサービス展開を考慮するとUI的にフロントエンド側が耐えられないという話になった
- 1ヶ月くらいで実装レベルでのプロトタイプを作り、そこから2ヶ月程度で作り込んだ
- 当時いたデザイナーと二人でガリガリやった
- Vue3が出てきた頃で、Vue3対応もこのタイミングで実施した
- TypeScript化だったり、負債解消もねじ込んだ
- 結構なハードワークだったがやり切った。
- 結構無理をしたので反省すべき点ではある。
- とはいえ、個人的には振り返る中で一番ハードに働き、すごく早いペースで開発をしたが、一番楽しかった時期かも知れない。目は死んでたけど。
- 結果として、想定通りサービス導入しやすいUIに変更できた
バックエンドのリアーキテクチャ
- 10−100フェーズに差し掛かり、歴史的経緯でそうなった箇所の不都合が大きくなってきた
- 人の出入りなんかもあり、少ないメンバーで知識が閉じてしまった部分も増えてきた
- その辺の解消を兼ねて、お願いをして予算確保してもらい、色々調整をさせてもらった
- 手始めにモノリスを少し分割した
- 本格的なマイクロサービスをやるつもりはなかったので、サービス境界を引いてデプロイ単位を見直した。
- 認証基盤の分離など、アプリケーションのスコープと障害発生時の影響範囲を小さくする狙いで、バランスを考えた設計をした。
- 結果的に開発上ボトルネックになっていた部分は改善され、サービス安定化に貢献できたと思う。
- またこのタイミングでPHPのメジャーバージョンを8に上げたり、静的解析を入れたりCI整備したり、リファクタリングもたくさん入れた。
- 結構色々やった。
- プロダクトの引き継ぎだったり、属人化してしまった部分は一定解消したのでよかった。
Next.jsのプロジェクトへ
- 仕事で本格的にReactを触るようになった。
- 前プロジェクトでの経験を活かして、一部コンポーネント設計周りの見直しなど行なった
- 歴史的経緯により、Next.jsの一部機能が利用できなかったりしたが、そうした面を解消する改修に取り組んだ
- 新規サービスの開発もあり、運用チームなど方々の考慮をした上で、色々技術的に提案し、それらが採用されたのはよかった
育休
- ありがたいことに、そこそこ長い期間の育休を取得させてもらっている
総じて、成長した面
- マインドセットの変化がとにかく大きい
- ユーザーのためにはどうしたら良いのか?どうしたら現実的な所へ落とし込めるか?どう事業に貢献するか、そういう考えを常にするようになった。
- やらない理由を探すのではなく、どうしたら出来るのか、そういう前向きな議論がやはり好きだと思った(これは入社以前からずっとそう)
- フロントエンドまわりは仕事であれこれ出来るようになり、価値を出せそうな場を自分で一定作れた。
- チーム内でボトルネックになりそうなところに鼻を効かせて、そうした箇所を潰す動きをよくやっていた。
- BEAR.Sundayの採用や郡山さんのとの関わりから、Web標準・標準技術への意識はとても強くなった。
課題
- 技術的に何か自信を持ってぶっちぎって得意です、詳しいですと言える領域は作れなかった
- バックエンドはリアーキテクチャなどやったものの、入社時点で出来ていた知識の応用に過ぎず、何か新しい引き出しは特に作れなかった。
- 良くも悪くも幅広くなんでもやる感じになった。
- フロントエンド詳しくない人が大半な状況で、フロントエンド好きらしいよくらいの認識の人が、提案して納得させるのはしばしば困難な場面があり、そういうのは難しいなと思った。
- やるにはやるんだけども。
- いまいち自信がない人間なので、得意と言い切るのも難しく、アウトプットしていかないといけないのかなと思うようになった。
まとめ
総じて良い経験が出来、エンジニアとして色々成長できたと思う。主に考え方の点で。
純粋な技術面ではまだまだ色々出来ないことが多い。
技術面で自信を持って成長できたと言えるように今年は頑張りたいなと思った。
© 2023 Shotaro Hirukawa