1
/
5

「コードを書き続けているエンジニアでありたい。」大手SIerからスタートアップへ、フルリモートで飛び込んだバックエンドエンジニアの成長ストーリー

中坪さん バックエンドエンジニア

SIer、コールセンターの社内開発エンジニアを経てファインディに名古屋からフルリモートで参画中。ファインディのバックエンド開発全般を担当。旅行とお笑い芸人のラジオが好き。

最初の転職のきっかけは、コードを一行も書かない期間が3年続いたことへの危機感。

──本日はよろしくお願いします!はじめに、中坪さんのこれまでのキャリアについて教えてください。

大学院を卒業後に、新卒で大手SIerに入社しました。最初の3年間はネットワーク周りのセキュリティ製品の導入、その後は製造業向けのシステムを開発するSEとして約3年半ほど働きました。

その後転職し、2社目はITベンチャーに入社しました。コールセンターのCRMシステム開発のエンジニアとして、約2年ほど勤務しました。

そして2021年1月にスタートアップ企業のファインディに入社し、いまはバックエンドエンジニアとして働いています。

──これまで2度転職をご経験されていますが、どのような条件やポイントで転職先を選んでいたのでしょうか。

大きく3つの条件がありました。「Webシステムの開発に携われること」「自分の手でコードが書けること」「より技術的な領域にコミットできること」、これら3つの条件をクリアにできる企業に転職したいと考えていました。

元々は「開発にコミットしたい」「コードを書きたい」という想いから、新卒で大手SIerに入社したのですが、蓋を開けてみると、まず最初の3年間はネットワークやセキュリティの領域を扱う部署に配属となったということもあって、コードを一行も書かない期間が3年もありました。

その後、部署異動したことで製造業向けのシステム開発に携われるようにはなったものの、実際の仕事の中身は設計書をExcelで作ったり、開発はパートナー企業に外注したりなどと、自ら手を動かせる機会はあまりありませんでした。

こうした環境を変えたいという思いから、2社目のメガベンチャー企業に転職しました。

──実際に転職してみてどうでしたか。

希望通り、2社目ではWebシステムの開発に携わることができました。また最初の半年ぐらいは、自らコードを書く機会にも恵まれました。加えて、前職のSlerでの経験や培った調整スキルなども評価されていたため、入社して半年以上経ったタイミングで、アシスタントマネージャーにも抜擢されました。

──順風満帆なスタートだったんですね。

確かに一見、そうみえるかもしれませんが、実はそうでもなくて...。

というのも、アシスタントマネージャーに役職が変わったことで、マネジメントや社内調整の業務が多くなりました。他部署との調整やメンバーの評価、進捗管理などに奔走する時間が増え、次第にコードを書く機会が少なくなってしまったんです。前職のSlerでの経験への期待があったからだとは思いますが、いつしか調整仕事がメインの業務になっていました。

そうした本来の「コードを書きたい」という希望が叶わない環境に危機感を覚え、転職を考えるようになりました。

──そこから転職活動をするなかで、ファインディにはどのようなきっかけで応募いただいたのですか。

自分自身が転職するにあたり、Findyに登録したというのが最初のきっかけになります。

そこから登録後にユーザーサクセス面談をさせてもらった際に、会話のなかで「ファインディでもエンジニアを募集しています」というお話を伺い、カジュアル面談に申し込みました。

お話を聞いて、事業領域としてエンジニアを対象にサービスを展開していることに、まず魅力を感じました。なぜなら、自分自身もエンジニアとして働いていることもあり、「自分ごと」としてサービス開発に携わることができると考えたためです。

最終的には、社会的意義やより世の中に貢献できるサービスに携わりたいという想いから、ファインディにジョインすることを決めました

成長の鍵は「テストコード」と「爆速問い合わせ対応」にあり。入社後に直面した課題と、それらを乗り越えた方法とは。

──ファインディに入社してからは、どのような仕事に取り組まれましたか。

まず最初に取り組んだ仕事は、軽微な修正や項目の追加など簡単なタスクです。

今は違いますが、当時はまだフロントエンドとバックエンドが同じリポジトリに存在していたので、必要に応じてバックエンドとフロントエンドの両方にも携わっていました。

──入社後に大変だったのはどのような点ですか。

技術的な部分にはなりますが、経験のない技術や開発の進め方をキャッチアップするのはやはり大変でした。

ファインディではバックエンドにRails、フロントエンドにReactを使用していますが、これまでそれらの技術に触った経験があまりなかったため、各技術をキャッチアップするのにはじめは苦労しました。

また、今までテストコードを書く機会があまりなかったのですが、ファインディではテストコードを常に書くスタイルで開発を進めていることもあり、そのキャッチアップにも時間がかかった部分はあると思います。

具体的には、RSpecというフレームワークを使っているのですが、そもそもテストコードを書くフレームワークの使い方がわからなかったり、適切なテストコードの書き方がわからなかったりしました。

──それらの壁をどのようにして乗り越えたのでしょうか。

通常の業務終了後に、今日わからなかった技術を学習する時間を設けるなど、日々の自己学習を大切にしました。

また、入社して半年経たないタイミングで、テストコードだけをひたすら書くという業務にもアサインしてもらいました。そのタスクに2〜3ヶ月ほどコミットできたおかげで、テストコードの書き方をある程度身につけることができたと思います。

さらに、チーム編成の関係で一部のメンバーの入れ替えがあり、ユーザーやクライアントからの問い合わせ業務にも対応していた時期がありました。今思うと、それがより深いシステム仕様・構成の理解にもつながった感覚があります。

──問い合わせ対応が、キャッチアップに役に立ったと?

そうです。問い合わせに対して正確に回答するためには、システムの仕様や機能を都度調べることになります。それを繰り返すたびに、いつしか自然とシステムの知識やユーザーの理解も深めることができました。

──なるほど。その他にも自分の成長を実感する瞬間はありますか?

最近だと、開発のスピードが上がってきたと感じています。

Findy Teamsで全体的な傾向を見た時に1日あたりのプルリク数が増えていて、開発スピードが上がっていることが目に見えて実感できました。

また、毎週マーケティングチームと案件整理のミーティングがあるのですが、その中で「1週間ぐらいかかりそう」と言っていた開発タスクが2~3日程で終わったりすることがあって。そういった時にも成長を実感できました。

──開発スピードが上がってきたとのことですが、具体的には何が変わったのでしょうか。

結局のところ、テストコードを開発中にうまく使えるようになったことが要因の一つと考えています。

入社後半年くらいは、実装コードを書いた後に「めちゃくちゃわからん」と言いながらテストコードを書くということをやっていました。

でも、最近はテストコードを開発中に使えるようになってきていて、最初にすごく簡単なテストコードを書いてから一旦、処理が正常終了することを担保した状態で開発を進められています。

以前は、本体のコードを全部書いた後にテストを書くというやり方だったのですが、テストで大きなミスや考慮漏れが見つかってしまい、手戻りが発生してしまっていました。

テストコードを使えるようになってから、そういった手戻りが減ったんですよね。厳密なTDDとまではいかないのですが、テストコードと本体のコードを両方とも同時に書いていくみたいな。

最初に最低限ある程度のテストを書くことで、最終的に作りたいものをちゃんと作ることができ、結果的に大きな齟齬なく開発できるようになったと考えてます。

あと、明確にやりやすくなった点で言うと、書いてる最中にリファクタがしやすいということ。

本体のコードとしては少し汚いけれど、テストコードをしっかり書いて仕様は満たしているという状態で一回作っておいて、後でレビューで指摘を受けた箇所を綺麗に直していく、という現在の進め方の方が格段にやりやすくなりました。

──最初にテストを書いておくことで、最終的な完成形のイメージを持つことができ、最初に雑に作ったものもリファクタしながら進めていける、といった感じでしょうか。

そうですね。開発スピードが上がったもう一つの要因としては、システムの仕様が分かってきたからです。

問い合わせ対応業務を通じてシステムの仕様への理解が深まったことで、「この処理は、あの機能に影響するのでは」「この部分の処理は、他に転用できるかも」などと考えることができるようになりました。

──なるほど。そうすると、ファインディに限らずエンジニアとして転職先でキャッチアップする方法の一つとして、問い合わせ対応業務は有効なんでしょうか。

そうですね。問い合わせ対応は有効ですし、あとテストコードを読むということも、仕様を理解するのに役立つと思います。

もしも今もう1回以前の状態でファインディに入ったとしたら、最初にAPIなどのテストコードを読んだりすると思いますね。

──ちなみに、中坪さんは当時ジョインしたチーム内では一人目のフルリモートエンジニアだったとのことですが、その点についても何か苦労はありましたか。

入社当時は、チームの中でフルリモートで働いているエンジニアは自分だけだったということもあり、自ら積極的にコミュニケーションを取りに行くようには意識しました。

前職でもリモートで働いてはいたのですが、基本的にメンバー全員がZoomで常時接続してる状態だったため、何かあればすぐに相談できる環境でした。

それに対してファインディでは、朝会後は基本的には各々の裁量で働くスタイルです。自由な環境である一方で、これまでと比較するとすぐに質問するのが難しい状況ではありました。

そのため、情報のキャッチアップにおいて遅れを取らないためにも、能動的にコミュニケーションを取るよう心がけていました。何かわからないことや相談したいことがあれば、都度各メンバーに15分ほどの1on1をお願いしたり、times(Slackの分報チャンネル)に書いたりなど、情報をキャッチアップ・共有する機会を作るようにしました。

幸いにもファインディのメンバーは、声をかければ親身に聞いてくれる方が多く、周囲の助けもあったおかげで、今も楽しく働けていると思います。

未来のことは分からない。それでもコードは書き続けたい。

──今後挑戦したいことを、短期(1〜3年)・中長期(3〜5年)の時間軸でそれぞれ教えていただけますか。

短期的には、バックエンドとインフラ領域を強化していきたいです。具体的には、バックエンドでいうとGraphQL、インフラでいうとAWSに挑戦したいと思います。

中長期的には、あまり考えていないというのが正直なところです。というのも、昨今のエンジニアを取り巻く環境変化が激しい現代において、3~5年先の未来を予測するのは難しいからです。

自分の過去を振り返っても、今のキャリアは全く予測できないものでした。なので、未来のことに思考の時間を割くよりも、いま目の前のことに集中する方が有効的だと考えています。

ただ、前提として、エンジニアとしてコードを書き続けている状態ではいたいですね。例えば、マネジメント領域のポジションに就いたとしても、「コードを書き続けているエンジニアでありたい」という希望は今後も一貫していると思います。

──もし、キャリアに悩んでいる過去の自分にアドバイスをするとしたら、どのように声をかけますか。

そうですね。恐らく仕事でコードを書けずにへこんでいると思いますが、プライベートで行っている開発や勉強が、意外と将来に役に立つことになります。

目の前の小さな積み重ねは決して無駄にならないので、不貞腐れずに続けて欲しい。そう声をかけて励ましてあげたいです。

──ありがとうございます。最後に、どのような方と働きたいか教えていただけますか。

経営理念である「つくる人がもっとかがやけば、世界はきっと豊かになる。」へ共感いただける方、この一言に尽きます。エンジニアのキャリアをもっとより良いものにする。そして、それを通じて社会を変えようとする挑戦に対して意欲的な人とぜひ仲間になれたら嬉しいです。

実際に、「Findyを使って転職が上手くいきました」というユーザーの声をSNSや人づてに聞けた時はとても嬉しいものです。自分が携わっているサービスを通じて、エンジニアが幸せになっているという実感を持てることは、私自身にとってもモチベーションの源泉になっています。

私たちの目指している、エンジニアの世界をより良くしたいという挑戦に共感いただける部分があれば、ぜひ一度カジュアルにお話の機会をいただけたら幸いです。

──中坪さんは、2021年下期には* バリュー賞の一つである「前向き」賞を受賞されるなど、今やファインディの中核メンバーとしてご活躍されていますが、その裏では様々な工夫や努力があったのだと知ることができました。本日はありがとうございました!

* バリュー賞…半期に一度、ファインディの掲げる5つのバリューに適した行動を取ったとされるメンバーへ贈られる賞。

ファインディ株式会社's job postings
23 Likes
23 Likes

Weekly ranking

Show other rankings
Invitation from ファインディ株式会社
If this story triggered your interest, have a chat with the team?