- 既存顧客へのアポイント業務
- 【SaaS】インサイドセールス
- 機械学習エンジニア
- Other occupations (5)
- Development
- Business
- Other
不定期でミイダス内の各エンジニアチームにインタビューをする企画の第ニ弾として、フロントエンドチームにインタビューして参りました!是非ご一読いただければと思います。
(第一弾インフラチームへのインタビューはこちら)
「ユーザーが直接触る部分」に興味を持ち、その結果フロントエンドエンジニアへ
ーーーみなさんのこれまでの経歴と今のミッションを教えてください。
眞下:ミイダスに入る前はSIerで仕事をしていて、その後Web制作会社を複数社経験しました。前職在籍中にミイダスの業務に関わらせていただく中で、組織・事業に魅力を感じ、転職をすることになりました。現在は、フロントエンドチームに所属して実装方針の検討や技術選定などを主に行っています。フロントエンドの業務のみならず、組織運営やプロダクトチームも兼任しています。
後藤:私もミイダスの前はSIerで仕事をしていましたが、その中でも自社サービスに携わりたいという想いが強く、数人で新たなアプリを開発していました。インフラからサーバーサイド、Android/iOSのアプリ開発など幅広く経験した後、本格的に自社サービスに携わりたいと感じて、ミイダスへのジョインを決めました。
矢尾:前職は少人数の受託開発中心のWeb制作会社にて、ディレクションからフロントの実装、外部との交渉なども含めて幅広く担当していました。その中で、今後さらにフロントエンドをメインでやっていきたいと思うようになり、ご縁があったミイダスに転職をしました。現在はユーザー登録チームで、転職希望のユーザーさんの登録フローを構築しています。その他にもフロントエンドのメンバーのソースコードをレビューもしています。
松村:モバイルのゲーム開発をディレクションした後、フリーランスとして活動をしていました。その後フロントエンドエンジニアに転身して3社ほど経験しました。私はこの中だと一番ミイダス歴が浅いですが、現在は新しいミイダスのフロントエンドの基盤構築を行っています。
ーーーフロントエンドエンジニアになったきっかけを教えてください。
眞下:もともとフロントエンドに限らず幅広くやっていましたが、ユーザビリティを改善するということに昔から興味が強く、ユーザーの使い易さや開発の負担軽減を目的としたJavaScriptのライブラリを作ったり、ゲームを作ったり、そういうことが好きでした。必要に迫られてサーバーサイドなどもやっていた時期はありましたが、気持ちは常にフロントエンドでした(笑)。ミイダスにジョインする際にフロントエンドエンジニアとしてオファーをいただいたので、軸をフロントエンドへと移行する良いきっかけになりました。
後藤:Androidアプリが無料で開発できたので、Ver.2くらいのときに触り始めたのですが、すぐに動きを出せるのが楽しく、それがきっかけとなりユーザビリティへの興味が湧きました。前の職場でも3DのJavaScriptでオセロを作り、その細かな動作の角度を調整したりすることにワクワクしたことを覚えています。そういった経験から、フロントエンドエンジニアになっていったようなイメージです。
矢尾:細部までこだわるのが好きなので、フロントエンドエンジニアをメインでやってきていましたが、最近はフロントエンドだけでなく、プランニング含め担当しています。プランニングに関しては、ミイダスのボードメンバーからユーザー登録部分の改善を依頼され、引き受けることにしました。まだまだ改善できるポイントがいくつもあるし、そこに力を入れるべきだと感じたからです。自分たちの立てたプランで、離脱率などの重要な指標を改善できることにやりがいを感じています。フロントエンドエンジニアの特性として細かいUIや操作性に目が行ってしまう部分もありますが、そこに留まることなく抜本的な施策改善等も提案・実施していきたいと思っています。
松村:プランナーやディレクションも経験がありますが、コンテンツのWebデザインまで依頼されることが多々あり、その辺りの知見を活かしながらフロントエンドエンジニアに移ってきたような形です。自分もユーザーが直接触れる部分を作ることにやりがいを感じています。Webが出始めの頃からずっと関わってきたので、フロントエンドについてもWebの成長と共に勉強をずっと続けてきたものが今に繋がっていると実感しています。
未来に残り続ける技術か、吟味した上で常に技術選定を模索し続ける
ーーーミイダスはリリースして5年経ちますが、その間に「PHP+jQuery」からSPAの「Go+React」に移行するなど技術的な変遷もあったかと思います。フロントエンドチームが技術選定で特に大事にしているポイントなどあれば教えてください。
眞下:その当時に選定した際の基準は主に3つあります。具体的にはスケールしやすい技術か、メンテナンス性が高いか、その技術がこれからも残り続けそうか、です。
2-3年で消えてしまう可能性が高い技術を選定するのは入れ替えコストも高いので、常に未来がありそうなものを見極めた上で選ぶようにしています。その結果今はReact,Reduxに落ち着いています。結果論でいうと、Reactは選択して正解だったと思っています。Reduxについても責務を分担させることができるので非常に効率が良く、導入した効果があったと思っています。ただ、現状の技術選定で満足することなく、今後も継続的に何がサービスにとってベストなのか検討し続けたいと思っています。
矢尾:前職では本格的にWebアプリケーションを開発した経験がなく、jQueryを触ったくらいでした。ミイダスに入って初めてのWebアプリケーションを開発でしたが、Reduxを導入したことでアプリケーションの複雑性が下がり、とってもやりやすいと感じています。
眞下:技術選定の補足として、数年前のミイダスは(立ち上げ期のため)フロントエンドに精通しているエンジニアを多く採用できるか分からない状況だったので、Immutable.jsを採用しました。Immutable.jsの導入により、JavaScriptでネイティブのオブジェクトを使用する時に頻繁に起こりがちな、意図せず値が変っているという現象を避けることができるようになりました。Reactと同じFacebook製なので相性が良いという点と、パフォーマンスが良いという点も選定理由です。
また、イミュータブルになるという点がモデル層にも適応できるので、将来スケールしたときにも責務を分けることができるという展望があったのも良かったです。アクションやビューなどのうち、どこの部分が肥大化しているのがあるべき姿なのか、という話題になったりしますが、ミイダスではモデル層の部分とアクションの部分が肥大化していくイメージがもともとあったため、この部分にも適応したと考えています。
松村:今後、モデル層をイミュータブルに維持するのは当然として、Immutable.jsでそれを担保することを続けるのか、という点は自分も気になっています。
後藤:ちょっと先の話かもしれませんが、Next.jsではそのあたりが問題になっていますよね。Immutable.jsのデータ構造を文字列化したときに、復元するコストが高いという話など。
眞下:個人的にはポジティブな課題感です。「まずはSPAにしよう」というところから始まり、そこから一歩進んでサーバーサイド側もJavaScriptで動かそうみたいになった時に必ず課題になる部分だと認識しています。勿論、どうしていくのが良いかは適切に考える必要はあると思いますが。
ーーー今後の方向性として、SSR/SSGにしてフロントエンドがユーザのリクエストを受けるようになるのでしょうか?
松村:今のミイダスはほとんどログインが必要なページだらけなのでSSRとSSGにするメリットがあまりないんですよね。なので今後そのあたり、どこまで適応していくのか課題ではありますね。
ーーーフロントエンドの領域がさらに広がってきて選択肢が色々増えていきそうですよね。
眞下:今までのフロントエンドという領域は、Webを通して提供される画面とそれに伴うロジックの実装が主要なものでしたが、今後はユーザーとサービスを繋ぐインターフェースの全てがフロントエンドの領域になっていく可能性が高いと思います。
技術もその動きに併せて広がっていくと思います。最近では、アプリ側で始まっていたプッシュ通知の機能がWeb側でも実装できるようになってきました。そういった形で、ユーザー体験に関わる新しい部分でもフロントエンドの知識が活用できようになるのではと思います。
キャンバスとSVGを使えばゲーム作れたりするので、ゲーム制作とWeb系のフロントエンドの棲み分けみたいなものも無くなってくるのかもしれませんね。。そういった形で、ネイティブアプリとWebの境目はどんどん曖昧になっていくのでは、と予測しています。
松村:Webで全部実装できるようにするのかどうか、についてはGoogleとAppleの今後のスタンスも気になりますね。Googleは結構Web化の流れが進んでいる印象です。スマホアプリのフロントエンドがブラウザに悩まされるようになるかもしれませんね。
矢尾:IE6くらいから対応していて、6はもういいよとかなると今度11を対応しないといけなくなったり、いつまでも悩みの種は尽きないですね。(笑)
ミイダスフロントエンドチームの魅力と、チームカルチャーに合う人物像とは
ーーーミイダスのフロントエンドチームの魅力を教えてください
後藤:フロントエンドもその他のチームにも言えるかもしれませんが、ミイダスは多様性を受け入れるカルチャーが根付いているので、そこが魅力だと感じています。国籍、前職なども様々なメンバーが活躍しています。
本人のやりたいことを、どのように仕事の中で実現するかに向き合ってくれる会社です。極端な話、サービス愛がそこまで強くない人でさえ、技術部分や他分野でこだわりがあれば活躍できるような環境だと感じています。
矢尾:デザインの領域等も含め、それぞれの役割に明確な垣根がないところに魅力を感じています。サービスを企画する部分に興味があればそちら側にも関わることができます。風通しが良く、強いビジョンがない人であっても、やっていく中で自分のやりたいことを何かしら見つけられる環境だと思います。
松村:フロントエンドの次期環境に関して、最初から本格的に関わらせてもらっているのですが、「新しいことに挑戦する」という部分に関して前向きな環境が自分にはとっても合っていると思います。
眞下:チーム編成でいうとチーム運営の方でも抱えている課題感が結構あって、それを解決できるように編成も整えている段階です。組織として出来上がっているというよりは、メンバーがどんどん増えていることもあって、最適化できるように今色々と取り組んでいるタイミングなので、その辺から一緒に入ってもらうこともできます。
松村:そういった組織の組み換えをわりとフレキシブルに行えるのが、会社の在り方としてすごく良いなと実感しています。
ーーーこんな方にジョインしてほしいというのがあれば是非教えてください!
矢尾:ゴリゴリコード書いてバグ直したりするのが好きな人ももちろんウェルカムですが、他の職域の方ともコミュニケーションを取りながらより良いUIを作っていくことに興味がある方にとってもミイダスのフロントエンドは楽しいのではないかと思うので、そういう方にぜひ来てほしいです。
松村:フルリモートでありつつも、朝会・夕会などを通しメンバー同士が密に連携をしながら開発を進めているので、今後リモートワーク主体で働きたい方にとっては特におすすめの環境です。
後藤:何かにポリシーや自信を持っている人、スキルが高い人、はもちろん活躍するとは思いますが、結局意欲と前向きな姿勢が大事だと思います。その人に合った仕事を一緒に見つけていくような、そんな環境だと思います。
眞下:スキル面に関していうと、Reactの経験が浅い方に対しても受け入れ段階である程度サポートできるように準備しています。ですので、キャッチアップをどんどんしていけるような主体性がある人が良いと思います。自分から成長しようとかチャレンジしようという人にはとっても合う環境です。そういった方、是非お待ちしています!