ソフトウェアエンジニア
脇坂 雅幸
Masayuki Wakizaka2019年入社
社員インタビュー 04
カスタマーファーストの開発や納得いくまで作り込む開発ができるのは、CEOがエンジニアの仕事を理解して信頼してくれているからこそ。
MagicPodではどのような仕事をしていますか?
主にMagicPodのサービス開発を担当しています。私はモバイルアプリ側の機能開発を担当することが多く、それは例えば、クラウド環境でiOSシミュレータ/Androidエミュレータを立ち上げMagicPod上で操作する「クラウド端末」という機能だったりします。
多くの選択肢の中から1つのテスト自動化プラットフォームが選ばれる理由というのは色々あると思いますが、フレーキーテスト問題 (*同じテストコードでpass/failどちらの結果にもなってしまう問題。https://speakerdeck.com/pineapplecandy/stac2020, https://www.publickey1.jp/blog/22/itjenkinsdevops_days_tokyo_2022)の解消は重要だと認識していて、この手の改善を思いつく限り実施しています。これは、前職での経験上、E2Eテスト (*システム全体を対象としたテストのこと。MagicPodで行うテストもE2Eテストに相当する) のフレーキーさを解消することがいかに難しいかをそれなりに理解しているからだと思います。
それからMagicPodは、1度リリースしたらあとはよろしくなサービスではなく、継続的なサービスなので、ある程度長い目で見た時にイマイチな部分の改善も実施することが多いです。それは例えば、依存パッケージの更新や変更だったりします。これはユーザーさんからは見えにくい部分ですが、継続的にサービスを運営する上で実は重要だったりします。
<典型的な1日のスケジュール>
09:00-10:00 開発業務
10:00-10:15 朝会
10:15-12:00 開発業務
12:00-13:00 休憩
13:00-18:00 開発業務
目が覚めるのが早いほうなので、午前7時から業務を開始する日もあります。作業の区切りが良ければ、その分早くチルアウトすることもあります。今は週4でリモートワークをしています。出社日は午後6時か7時には帰宅しています。
なぜMagicPodに入社しようと思ったのでしょうか?
前職は第三者検証の会社にいたのですが、3年ちょっと働いて自分のやりたいことの多くは経験できたような気がしていました。「別の案件でまた似たようなことをするより、何か新しいことがしたい」と思っていたところ、元同僚で先に入社していた玉川(テックリード)に声をかけてもらいました。
当時のMagicPodは今ほど機能面で充実していませんでしたし、知名度も高くありませんでした。会社としてもまだまだ小さかったですが、テスト自動化プラットフォームを作っていくのは面白そうだったので、あまり気になりませんでした。当時は今ほどテスト自動化プラットフォームの選択肢もなかったように思いますし。
前職までの経歴を教えてください。
大学院でのインターン先で単体テスト (*プログラムを構成する比較的小さな単位を対象としたテストのこと) の研究のお手伝いをしていました。ソフトウェアのテストを別のソフトウェアでテストするというメタなやり方がクールだなと思って、就職活動をしていたのですが、思いのほか就職難民になりそうだったので、まずはiOSアプリを開発するソフトウェアエンジニアとして働くことにしました。
iOSアプリ開発のお仕事は1人で1から任せてもらえていて楽しくはあったのですが、品質的な側面に問題を抱えていました。これはやはりちゃんとソフトウェアテストを学ばなければならないと思って、株式会社SHIFTに転職することにしました。
株式会社SHIFTでは、まずはテスト自動化エンジニアとしてSeleniumでE2Eテストを書いたりしていました。本当は単体テストを書きたかったのですが、単体テストは一般に開発者が書くものだというのをこのぐらいの時期に知って、ちょっとしょんぼりしました。
それから、テストエンジニアやテストマネジャーとしてより幅広くソフトウェアテストを担当するようになりました。開発者の書いたコードに対して、テストエンジニアとして単体テストを書いたりもしましたが、現段階では開発者自身で書いた方がいいという結論に至っています。
振り返ると、ソフトウェアテストとその周辺は多分自分に向いているのかなと思っています。
MagicPodで働いて、どのような会社だと思いましたか?
社内の雰囲気は昔から変わらず和やかですが、最近はメンバーが増えて賑やかになってきました。出社日はみんなでランチを食べに行くのですが、席はランダムなので毎回違うメンバーと話すことができる良い機会になっています。
仕事の面では、伊藤がエンジニア出身なこともあり、エンジニアが働きやすい環境だと思います。カスタマーファーストの開発や納得いくまで作り込む開発ができるのも、伊藤がエンジニアの仕事を理解して信頼してくれているからこそだと思います。
ユーザーさんの多くはソフトウェアエンジニアやテストエンジニアで、そういった方々のフィードバックを通じていろいろなエンジニアの働き方に触れることができるのはこの仕事の面白いところです。そうしたフィードバックに我々は基本的に素早く対応していて、これはMagicPodの強みの1つだと思います。
それから、CI/CDやテスト自動化というのはソフトウェア開発における重要なプラクティスの1つであり、いわばニーズです。だいぶ前にマーク・アンドリーセンというすごい人が「ソフトウェアが世界を飲み込んでいる」と言ってまして、それは今は落ち着きつつあるようなコロナ禍でさらに拍車がかかったように思います。こうしたニーズにリーチしているMagicPodというのはビジネスとして優れていると思います。
今後の目標や夢を教えてください。
まずは個人的な話をします。今の改善系の業務の重要性は認識していて今後もやっていくのですが、いずれモバイルアプリ等の特定の領域を突き詰めていきたいと思っています。これは、色々経験した分、開発領域も中途半端になってしまっている気がするためです。正直なところ、力及ばずまだ改善できてない問題が色々あったりします。
会社としては、最近は新メンバーが続々と入ってきてくれていて、チームとしての側面の重要性を認識するようになってきました。比較的社歴の長いメンバーとして、プロダクトのドメイン知識とかを伝えたり、仕組み的な部分を整えたりしていきたいと考えています。
プロダクトとしては、以前と比べると多くのユーザーさんに使っていただけるようになってきたと思います。ユーザーさんがテスト自動化プラットフォームを求める理由の1つは、E2Eテストを作ってそれを維持する難しさにあるんじゃないでしょうか。E2Eテストはフレーキーですし、テスト対象のプロダクトも開発が進んで変わっていきますから。そういったE2Eテストの苦しみを1つ1つ和らげて、多くのユーザーさんに長く使ってもらえるプロダクトにしたいと思っています。
MagicPodで働くにはどのような方が向いていると思いますか?
まだまだ小さい会社なので、全てがきっちり整っていることを求める方は苦労すると思います。MagicPodという会社自体を一緒に作っていくことに興味を持っている方が向いていそうです。
ソフトウェアエンジニアとしては、CI/CDやソフトウェアテストに興味がある方が向いていると思います。スタートアップにしてはこの辺りかなり意識して開発できているのではないでしょうか。それから、MagicPodは継続的に運営されるサービスなので、「この一瞬だけ動けばいい」という志向性の方よりも「より長く安定して運用するにはどうすればいいか」という志向性の方が向いていると思います。あとは時折ユーザーさんのテストの失敗原因を調査することがありますが、E2Eテストの失敗の原因調査は往々にして難易度が高いので、粘り強く向き合える方がよさそうです。
最後に、MagicPodへの入社を検討されている方へひと言お願いします!
MagicPodはソフトウェアエンジニアが働きやすい環境だと思います。ユーザーさんもソフトウェアエンジニアやテストエンジニアなのもいいですね。私たちもプロダクトのテストにMagicPodを使っていて、自分達のMagicPodでのテスト体験の向上がそのままユーザー満足度の向上に直結しやすいのではないでしょうか。これはいわゆるウィンウィンというやつですね。
ソフトウェアエンジニア以外の方でも、SlackのコミュニティやMagicPodユーザーイベント、SNS等を通じて、ユーザーさんからフィードバックをもらえたりするので、励みになると思います。
最近はお店を貸し切って歓迎会ができるくらい、成長しています。皆さんに少しでも興味を持ってもらえると嬉しいです。
脇坂 雅幸
Masayuki Wakizaka
経験スキル
言語:Python/TypeScript
フレームワーク等:Node.js/Appium
資格:JSTQB Test Analyst