freeeの開発情報ポータルサイト

5年半勤めたエンジニアチームを辞めて、UXチームにジョインしました

こんにちは、お久しぶりです、 id:ymrl です。

2019年も年末調整とAdvent Calendarの季節がやってきました。いつものごとく、今日から25日まで毎日、freeeの開発に関わるメンバーが日替わりでブログを書いていきます。ということで、この記事はfreee Developers Advent Calendar 2019の1日目です。よろしくお願いします!

freeeのオフィスに置かれたアドベントカレンダーの写真

エンジニアチームを辞めました

freeeに入社したのは2014年の1月で、エンジニアチームには5年半いたことになります。入社したときにはエンジニアが10人くらい、全部でも20人もいないような小さな会社だったのが、5年半で25倍以上の規模の会社になりました。デカくなった。

5年半のあいだ、ほぼエンジニア一筋でやってきたんですが、思うところがあって今年の6月末まででエンジニアのチームを離れ、7月からUXチームで働いています。今日はその話をします。

夜中に撮影されたfreeeの入居するビルの写真

やってきたこと

会計 freee (〜2015.02)

最初にやったのは新規サインアップユーザー向けに銀行口座やクレジットカード明細の同期機能を設定する画面、そのあと請求書機能のテンプレートを作ったり、経費精算機能の要件定義から実装までやったり、銀行用の総合振込ファイルを作る機能を作ったりしていました。

入社したころはフロントエンド開発経験のある人があまりいなくて、「片手間で作られた粗削りのフロントエンド」がたくさんある状態でした。なので、機能を触るごとにJavaScriptとCSSを書き直してちょっとずつ綺麗にしていく人みたいなことをしていました。当時の画面はその後入ってきた強豪エンジニアたちにどんどん書き換えられていきましたが、所々に自分の作ったものがまだ残っていて、たまに出会うとドキッとします。

人事労務 freee (2015.02 〜 2019.06)

会計freeeをやりはじめて1年ちょっと経ったところで、当時給与計算freeeとして開発されていたチームに異動することになり、異動しました。まだリリースして最初の年末調整を乗り越えたところで、機能も少なく、そしてやはりフロントエンドは粗削りでした。そこで、まず会計freeeとCSSを共通化するところから始め、徐々にサーバーサイドも本格的に触るようになっていきました。

特に印象に残っているのは算定基礎届で、日本年金機構や健康保険組合の資料(むずかしい)をひたすらに読み込んで、むずかしい行政制度の仕組みをどうやってソフトウェアに落とし込むかを毎日議論して落とし込んでいった初めての経験でした。それ以外でも勤怠とか年度更新とか年末調整とか、とにかく難解なドメインに関する機能にいろいろ関わって、一時期は「難しいものはまずymrlに知っているか聞いてみる」という状態になっていました。

ここまで詳しくなったからいっそ資格でも取ってみるかと思って、いちど社労士試験に挑んでみたものの、勉強を始めてみるとまだほんの入口に立っているだけだったのを思い知らされました。もちろん試験はぜんぜんダメでした。

なんで辞めたの

人事労務freeeを作っているときにデザインシステム “Vibes” を作りはじめ、これを本気でやるぞと決めたからです。Vibesについての詳細は先日フロントエンドカンファレンス福岡 で登壇した資料をご欄ください。

speakerdeck.com

もともとデザインシステムは、フロントエンドの品質向上と生産性向上のために勝手にはじめたプロジェクトでした。デザイナー側の「Sketchライブラリが整備されていなくてサッと画面を作れない」、エンジニア側の「CSSがカオスで修正や新規追加がやりづらい」「同じ見た目のUIなのに挙動が違うみたいなのが多すぎる」みたいな問題がたくさんあって、それをオフィスの隣の大衆居酒屋で飲みながら議論して方針と名前を決めたのがスタートでした。

それがやがて会社のオフィシャルなプロジェクトになり、本格的に作って使っていく流れになっていくなかで、これは会社だけでなく、自分個人としても今後のキャリアに大きな意味があると思うようになりました。

もともと自分はUIデザインが好きで、その流れからフロントエンドの開発をやるようになりました。freeeで5年半仕事をしていくなかで、徐々にサーバーサイドのコードを書く量が増えていきました。そういうなかで自分が「どういうエンジニアであるべきなのか」というところが曖昧になっていきました。ある時はより低いレイヤーに触れていくこと、ある時はドメインを紐解いてコードに落し込むことという感じで、その時その時で様々なものに触れられた反面、エンジニアとしての自分の立ち位置がよくわからなくなっていきました。

30代になってからは、昔からの知り合いの近い歳のエンジニアがどんどん活躍していくなか、「自分は技術力のあるほうのエンジニアではない」という自覚もあって、「自分は何者なのか」というところに不安を抱くようになっていました。そういうタイミングで「freeeのデザインシステムを作る」という仕事は、片手間ではなかなか進められないものであり、自分のエンジニアとしての原点回帰でもあり、強くやりたいと感じるものであり、そしてここから最低でも数年のキャリアを賭けるべきものだと感じました。

ということで、それまで週1日〜2日を当てていたデザインシステムの仕事を週5日にするべく、チームを異動することにしました。

異動すると決めてから

UXチームに行こうと思って、まずUXチームのマネージャーにGoogleカレンダーでいきなり 1 on 1 の会議予定を入れて相談したうえで、さらにエンジニアチームのマネージャー陣にも何人か面談をしてもらいました。面談の内容はどれもチャレンジしたい意思を尊重してもらえて、そのうえで今後のアドバイスや異動するリスクについて説明してもらえた感じでした。こういうチャレンジに寛容な会社で良かったと思います。

いろいろな事情があり、実際に異動したのは決めてから2ヶ月後の、決算期が始まる7月からとなりました。自分の異動と同時にUXチームの組織再編があり、「デザインシステムヨット」*1というチームで活動しています。デザインシステムヨットではVibesのほか、UI/UXガイドライン集である “Groove” と、freee社内用のアクセシビリティガイドラインを議論しながら作っていっています。

私は異動前から引き続きVibesのReactコンポーネントとCSSのコーディングを行うほか、新しいコンポーネントのデザインをSketch上でデザインしたり既存コンポーネントのブラッシュアップしたりするなど、よりデザイナー寄りの作業をするようになりました。また、エンジニアとしてデザイナーのチームに移った強みとして、デザイナーが実際にコードを書いてUIを実装してみるワークショップなども開催しました。Vibesの当初の目論見として「エンジニアとデザイナーの共通言語となる」というものがもともとあったので、これからも両者の溝を埋められるような取り組みは続けていこうと思っています。

そして、エンジニアからUXチームへ異動する前例を作ったおかげか、もう一人自らの希望でエンジニアからUXチームに異動してくれる人が現れたのは嬉しい誤算でした。彼は年明けから一緒に働いてくれるそうです。楽しみです!

おわりに

freeeに入るのを決めたのがちょうど6年前の11月末で、そのときも少人数のスタートアップに身を移して大きなチャレンジをするつもりでの転職でした。5年半経って同じ会社でふたたび大きなチャレンジができているのはとても幸せなことだし、ワクワクするなと思っています。

デザインシステムを本気でやりたいと思ったのは、3月に開催したfreee Tech Night での発表でたくさんの反響をいただけたことも理由のひとつでした。自分たちのやっていることが、会社の外にも同じような課題を抱えた人がたくさんいるもので、そして自分たちがやりきった実績をつくることがそういった人たちの助けにもなるんだという実感をもつことができました。

speakerdeck.com

そんなfreee Tech Nightは次回は1月に開催予定です。近日中に告知予定ですのでぜひご参加ください!

そして一緒にfreeeのデザインシステムやfreeeのプロダクトを作ってくれるUXデザイナーを募集中です

www.wantedly.com

jobs.jobvite.com

明日はfreeeのGYOMUをハックする id:mirygoaround です。

*1:freeeでは社内用語に海モチーフが使われていて、部署名を本部=船団、部=船、課=ヨットと呼んでいます