1
/
5

フルスタックだからこその面白さと難しさ──関西エンジニア2人の挑戦譚

freeeのSREチームに所属し、ともに関西支社で勤務する liao と畑中 優丞。フルスタックエンジニアとしてこれまでさまざまな業務を経験してきました。フロントサイドやサーバーサイドの開発、さらにはインフラ整備などあらゆる領域を担当してきた2人が描く、仕事のやりがいや今後の展望とは。

新卒のliaoと、中途入社の畑中 ── 関西支社で同じチームに

(左・liao左と、右・畑中)

freeeのSRE(Site Reliability Engineering)チームで活躍するliaoと畑中 優丞 。ともに関西支社で勤務していますが、先にfreeeに入社したのはliaoでした。

もともと大連の大学で情報工学を専攻し、プログラミングの基礎を学んでいたliaoは、留学プログラムを利用して関西の大学にやって来ます。

liao 「大連の大学で第二外国語として日本語を専攻していて、日本に興味がありました。留学後は引き続き情報工学を学び、大学院に進学すると機械学習や情報検索の研究をしていました。また大学の近くのベンチャー企業でプログラミングのアルバイトをし、実践的なWeb開発のスキルを身につけていきました」

日本での経験を通して、将来は日本でエンジニアとして働きたい気持ちが膨らんだliao。就職活動を開始する前に、freeeのウィンターインターンに参加しました。

liao 「2017年の冬にインターンへ参加して、社内の雰囲気のよさや技術力の高さに惹かれ、面接を受けることにしました。

そして内定承諾後の3ヶ月間、内定者インターンとして働く中で関西支社ができることを知ったんです。もともとは東京配属の予定でしたが、慣れ親しんだ関西で働きたい気持ちがあり、希望を伝えました」

内定者インターンを終えたliaoは、大学が秋卒業だったこともあり、2018年10月に関西支社に入社。アサインされたのは『freee人事労務』の開発チームでした。

liao 「入社して初めてのプロジェクトが『freee人事労務』のSlack連携でした。実装や仕様決め、Slackサイドとの打ち合わせなど、完遂させるためにめっちゃ頑張りました」

それから半年後、畑中もfreeeに入社し、同じチームにジョインされました。もともとゲームエンジニアとして働いていた畑中は、主にバックエンド開発を担当していました。

畑中 「ゲームが好きで、自分で作りたくて専門学校に入学し、ゲームエンジニアになりました。卒業後、前々職では家庭用ゲームソフトを、前職ではスマートフォン向けのソーシャルゲーム開発を行なっていました。

また前職時代には、人事一次評価や採用、ピープルマネージメントなどのマネージャー業務も兼任していました」

8年間の開発を通して技術力を身に付けた畑中。freeeにやって来たのは、さらなる技術への探究心からでした。

畑中 「技術的にチャレンジを続けている企業で、自分も新しいことに挑戦してみたくなりました。そこで転職を考え、そのまま関西で働くことができるテック企業を探していたんです。

ちょうどその頃、転職サイトでメッセージをもらって、freeeが大阪にあることを知りました。freeeの存在自体は以前から知っていて、Railsを使って技術的に新しいことを取り入れている印象でした」

カジュアル面談にやって来た畑中。そこで驚いたことがあったと言います。

畑中 「スタートアップといえど会計領域なので、お堅いイメージがありましたが、面接官は金髪のくだけた兄ちゃんだったり、偶然知り合いもいたりして、オープンな雰囲気で働きやすそうだなと思いました。

また、面接官のうちの1人が関西支社のエンジニア組織で責任者をしている竹田 祥だったのですが、『これから関西支社のメンバーで新規サービスを作る』と言っていたんです。そのことに自分がワクワクしたこともあり、freeeで働いてみたくなりました」

スクラムマスターliaoの挑戦。メンバーの支えがあったからやり切れた

(開発のミーティング中)

2019年4月、関西支社に入社した畑中。liaoとともに『freee人事労務』の開発に加わりました。

畑中 「freeeでは組織がフロントエンドとバックエンドに分かれていないんです。前職ではバックエンド担当でフロントエンドは経験が少なかったこともあり、フロントエンドの知識も吸収しながら業務を行なっていました」

数ヶ月後、面接で伝えられた新規サービスの開発が始まりました。

畑中 「新プロダクト『freeeプロジェクト管理』の開発を、関西支社で担当することになりました。ロードマップの具体化、初期のプロダクト機能の企画、プログラミングと実装などのすべてを関西支社に任せてもらえたんです。

これはfreee的にも大きなプロジェクトで、今までの基幹プロダクト(freee会計・freee人事労務)に次ぐ大型リリースでした。

バックオフィス向けではないフロントよりのプロダクトのリリースは、freeeとして初めて手を掛ける領域だったので、会社としても社運を賭けたチャレンジになることは容易にわかりました」

責任のある開発を任された関西支社のエンジニアチーム。メンバー4人が一丸となって臨むなか、liaoには特別な役割が与えられました。

liao 「私だけ新卒で、メンバーのなかで一番経験値は少なかったのですが、スクラムマスターに挑戦することになりました。スクラム開発は目的を達成し、成果を最大化するための開発手段で、その旗振り役がスクラムマスターです。

具体的には良い開発にするために、チームの生産性を上げること、開発を可視化・数値化し今後の計画を立てること、うまくリリースするためのリスクを軽減することなどで、そのプロセスを守る役割でした。

これまでタスク管理の経験はなかったので、上手くできるか不安もありました。しかし初めは東京本社からスクラム開発の達人が教えに来てくれるなど、手厚いサポートもあり、やりきることが出来ました」

そうしたliaoの姿を見てきた畑中は、liaoの働きぶりに強い信頼感を寄せています。

畑中 「liaoがスクラムマスターとして開発をリードしてくれたおかげで、すごく上手くいったと思います。プロダクトオーナー(PO)宮田 善孝やプロダクトマネージャー(PM)竹田に対して、どう進めていつまでに何が完成するのか、しっかり共有しながら開発を進めることができたのが、その要因でした。

また終盤になって『これが足りない!』といったチグハグもなかったし、誰かが遅れるなら別の誰かがフォローに入るなど、チームとしてまとまって開発ができました」

一方で、liao自身は、チームに対してこのように感じています。

liao 「チームのみんなが、プロセスに関しての改善のアイデアも出してくれるなど、当事者意識を持ってコミットしてくれたおかげで、良いスクラムプロセスになりました。

最終的な目標は『最高の状態でリリースすること』と、『今後新プロダクトを作るときに参考になるものを情報として残すこと』でしたが、どちらも達成することができました」

SREチームへの異動──プレッシャーを跳ね除けなし得た移行業務

(2人が実装したfreeeプロジェクト管理の画面)

『freeeプロジェクト管理』の開発を進める中で、フロントエンドとバックエンドを担当していた畑中の業務は、しだいにインフラ周りに移行していきました。

畑中 「インフラ周りは、東京のSRE(Site Reliability Engineering)チームとやりとりしながら作り上げていきました。

これはアプリケーションの開発ではなく、アプリケーションが実行されている基盤の設計・構築のことで、これがないとフロントエンドやバックエンドのコードをいくら書いても、サービスは動きません」

かつてインフラ担当は、社内にサーバーを何台も導入しサービスを管理していましたが、最近ではAWS(Amazon Web Services)やGCP(Google Cloud Platform)といったクラウド型のサーバーを使い、その上に基盤を構築するのが一般的になっています。

畑中 「freeeの場合は、AWS の EKS という kubernetes (k8s)のマネージドサービスを利用しており、それに対して SRE チームがインフラ基盤(clusterops)を構築しています。アプリケーションチームはそれらの基盤を利用することで、サービスをリリースしています。

私もインフラ周りの開発はあまり詳しくなかったので、最初は苦労しましたが、遠慮なく東京のメンバーに質問し、なんとかリリースまでたどり着くことができました」

こうして2020年4月、遂に『freeeプロジェクト管理』はリリースされました。さらにその3ヶ月後に、畑中は関西支社に籍をおいたまま、東京のSREチームに異動します。

畑中 「関西支社でもSREの採用を進めていきたいという意思がありました。そのために1人は経験者がいた方がいいので、『freeeプロジェクト管理』のインフラを担当した私に白羽の矢が立ちました。

それからはSREチームの一員として、インフラの設計・構築・運用などを担当しています。またQA環境の保守運用や、アラート対応、オンコール対応、サービスがダウンしたときの復旧対応など、業務は多岐に渡っています」

異動から1年、特に注力したのはインフラの移行業務でした。

畑中 「これはSREという業務が生まれた背景にも繋がりますが、一般的に、サービスの規模や数が増えると自ずとインフラのオペレーションコストも増えていきます。そこで人を雇うのではなく、ソフトウェアを使ってオペレーションの負荷を軽減するのがSREの役割なんです。その解決策の一つがインフラの基盤を変えることです」

畑中は旧環境(EC2)からより標準化された、インフラ基盤としての環境(EKS)へ移行する業務を担当。インフラの移行業務はプレッシャーとの戦いでした。

畑中 「基盤構築はアプリケーションチームやQAチームなど、さまざまなチームに協力をいただきながら進めました。

移行時は、旧環境から新環境へ少しずつリクエストを切り替え、モニタリングしながら進めました。プロダクション環境を稼働させた状態で移行していたので、常に障害を起こす可能性があり、プレッシャーは大きかったです。

そのリスクをできるだけ下げることに頭を使いました。また同じサービス移行作業といえど、プロジェクトごとに微妙に異なる設計をしていたので、落とし所を見つけながら進めました。結果的に、1年間で10を超えるサービスの移行がなんとかスケジュール通りに収まりました」

関西のエンジニアの受け皿に ──freeeのSREとしてあるべき姿とは

(関西支社のメンバーと)

畑中の異動から1年が経ち、liaoもSREチームに加わりました。

liao 「freeeは新卒メンバー向けに希望した部署に異動できる制度があるんです。そこでインフラ周りにも詳しくなりたいと思い、SREチームを希望しました。

今までフロントエンド、バックエンドの業務に携わってきましたが、それをAWSに乗せて動かす局面はわからなかったので、実践を通して勉強したかったんです。これで一つのプロダクトを最初からリリースまで、全てできるスキルを持つことになります」
畑中 「いい決断だと思いました。人それぞれですが、エンジニアの生存戦略として技術の幅は1つあると思っていますし、私もいつか淘汰されるんじゃないかという危機感はありますね。

もちろん新しいものが全て良いというわけじゃないですが、良し悪しを知って自分の武器としてうまく使えたら、プロダクトにも還元され、最終的にユーザーにとっての『マジ価値(=ユーザーにとって本質的な価値があると自信を持って言えること)』にも繋がると思います」

またSREチームのメンバーが関西支社に増えることに、意義を感じていました。

畑中 「まず単純に、ポストコロナで出社になったら一緒にオフィスで働くことも増えるので、仲間が増えて嬉しい気持ちです。

また採用の裾野も広がると思います。自社サービスを展開している会社は東京の方が圧倒的に多くて、エンジニアになりたい関西の学生は卒業したら上京してしまうことが多いからです。そこで微力ながら、関西で働きたいエンジニアの受け皿になれたらいいなと」
liao 「実際、関西支社を希望する22卒のエンジニアがいて、彼は今、内定者インターン生として働いてくれています。仕事が捗り、技術力が伸ばせるように、環境づくりなどサポートしていきたいと考えています」

そんな2人が、これからの目標を語ります。

liao 「まずは技術力を高めることがより良いプロダクトやマジ価値に繋がるので、そのまま継続して力をつけていきたいと思います。その上で、技術の力で世の中の非効率な部分を改善していきたいです。

またフロントエンド、バックエンドを担当していたときに感じていたインフラ周りの課題もあるので、SREチームや他部署とうまく連携を取りながら一緒に回収したいです」
畑中 「インフラ運用に対する課題は、基盤を移行することで徐々に減ってきていますが、まだまだ自動化しなければいけないインフラオペレーションも多く残っています。SREとして、こういった手作業を減らすこともそうですが、サイト全体の信頼性を向上させることも重要なポイントです。

パフォーマンスという目に見えないUXをどういった体制でアプリケーションチームと向上させて行けるか、SRE という役割がfreeeにおいてどのようにマッチするのかを模索して、よりクリエイティブな方法での課題解決に、チームでチャレンジしたいです」

常に新しい挑戦を続けるliaoと畑中。二人は関西支社から、freeeのSREを牽引する存在としてこれからも「マジ価値」を生み出し続けます。

If this story triggered your interest, why don't you come and visit us?
関西拠点でfreeeプロダクトの未来を創るWEBアプリエンジニアを募集!
フリー株式会社's job postings
18 Likes
18 Likes

Weekly ranking

Show other rankings
Like Yukan Nishiki's Story
Let Yukan Nishiki's company know you're interested in their content