【社員インタビュー#01(エンジニア編)】技術をフルに駆使して難解な課題に挑み続ける

こんにちは!WAmazingで人事を担当している小島です。
みなさまの厚いご支援のお陰もあり、創業以来、事業は右肩上がりで順調に成長しており、組織規模もこの一年で倍になりました。

ビジョンに共感して、様々な業界から多くの優秀な仲間が続々ジョインしてくれていますが、より一層人が増えてきたタイミングだからこそ、メンバー自身にこれまでを振り返って語ってもらうことで、今一度初心を思い出してもらえるといいな!という思いと、WAmazingが誇る素敵なメンバーを是非もっと社外の人にも知ってもらいたい!という思いから、社員インタビューを行なっていくことにしました。

WAmazingの場合、創業メンバーにビジネスサイドに強いメンバーが多いこともあってか、“ビジネス色が強い会社”と思わることも少なくないのですが、CTO舘野(前職はクックパッド執行役CTO)をはじめ、様々なエンジニアが活躍しているので、まずはそんなエンジニアの面々にフォーカスを当てて、順次インタビュー記事をお届けします!!

記念すべき初回は、コード書くのもお酒飲むのも大好き!技術力の高さから社内でも一目置かれるサーバーサイドエンジニアの村田さんです!

CTO舘野がインタビュアーとして様々な角度から切り込み、大変濃ゆい内容になっております(笑)
ぜひ、最後までご覧ください!!

(左:村田、右:舘野)

エンジニアリングの面白さに気づいた学生時代

舘野:村田さんがWAmazingに入社したのは2017年9月なので、気が付けばあっという間に1年ですね。
WAmazingに入社する前はどんな仕事をしていましたか?

村田:2013年に、自社のERPパッケージ開発と受託でのシステム開発を行なっている会社に新卒で入社し、ERP事業に約1年半、受託事業に約3年、トータルで4年半ほどエンジニアとして在籍していました。

舘野:ERPといっても様々なものがありますが、関わっていたのは具体的にどういうものだったのですか?

村田:クライアント内部における案件(受託を行なっている会社であれば取引先ごとの請け負っている案件)というものが基本概念にあるERPパッケージで、案件ごとの予想売上や売上に対する原価を可視化して管理・分析するものになります。日々会社の従業員が案件ごとの業務工数をシステム上で入力し、そうして、ある配賦基準に基づき売上に対する原価を割り振った上で、最終的に案件ごとの利益や原価割合を分析するようなERPパッケージでした。

舘野:なるほど。ちなみに、前職からエンジニアだったと思うのですが、プログラミングは大学時代からしていたのですか?

村田:初めてプログラミングというものに触れたのは高校生の時ですかね。真剣にやり始めたのは大学の授業がキッカケだと思います。大学の授業を通じて真面目に取り組み始めて、楽しくやれたのと同時に、自分に適性があることを感じた気がします。他の人に比べて吸収は早いと思いましたし、コンピュータを扱っている感じが心地よく楽しかったです。自分はこういうのが向いているのではないかと実感しました。
その後、趣味でプログラミングを始めたりして、簡単なWebアプリケーションだったり、当時やっていたブラウザゲームがあったんですが、そこにテーブルタグでベタに書かれたスコアがあるのを見て、チーム毎に集計できるユーザースクリプトを書いて公開したりだとか、細々と続けていました。
自分が作ったものが使われてフィードバックも貰えて、それでユーザーが増えていく過程が楽しかったですね。

事業フェイズを踏まえた最適な技術を選択していく

舘野:現在担当している業務を簡単に教えてもらってもいいですか?
私のチームメンバーなので何をやっているか私自身は当然分かっていますが(笑)、村田さんを知らない社外の人にも知ってもらうためということで。

村田:WAmazingは、外国人観光客向けにサービス提供している中で、昨年は香港台湾向けが中心、今年からは対象国に中国も加わった中で、私は中国マーケットを対象としたインフラ構築、アプリケーション開発を行なっている「中国推進部」というチームに所属しています。
自分を含めてチームメンバーは5名、うち3名は中国人メンバー(事業開発、エンジニア、マーケッター)で、もう一名は8年間中国にいたことがある、中国マーケットに精通している日本人メンバーです。

やっていることは、中国のユーザーに対する安定したサービス提供だったり、(中国は他国に比べて特殊だったりするので)中国に特化する形で適切な技術を用いて価値提供するということをやっています。
これまでWeChat(注)は使ったことがなかったので知りませんでしたが、WeChatのプラットフォームであるミニプログラムやオフィシャルアカウントなどがある中で、それらをどう活用すると中国のユーザーに価値提供できるか、同じチームの中国人エンジニアやマーケッターと連携しながら進めています。
※WeChat(微信):中国の大手IT企業テンセントが運営しているメッセンジャーとソーシャル機能を融合したインスタントメッセンジャーアプリ。月10億人以上が利用する。

舘野:仕事を進めていく上での開発言語は何を使っているのですか?

村田:主にはRubyとScala、あとはTypeScriptですね。データ分析だとSQLを書いてたりもします。
全て前職の時から使っていたので、WAmazingに転職して以降もスムースに使えています。

舘野:ちなみに、Rubyは動的型付け言語、Scalaは比較的新しい静的型付け言語という立ち位置なわけですが、村田さんはこれらを業務においてどう使い分けているのですか?

村田:一般論になるかもしれませんが、改善を繰り返すフェーズにあるソフトウェアに関してはRubyが適しており、仕様が決まっていたり、安定性が求められるのであればScalaが適していると思っています。
決まっているものを記述する際に、例えば純粋な関数型思考で考えられるHaskellなんかではダメなのか?という意見もあるかもしれません。Haskellは純粋な綺麗なプログラムをするのであれば強力なツールだと思っています。ただ、現実世界は実際はそんな綺麗なものではなく、綺麗ではないものを表現する力がプログラミング言語に求められることは多くあります。
以前、Dave Thomasの「プログラミングElixir」を読みましたが、Elixirは関数型言語と言われている中で、「他の関数型言語よりも世の中の複雑さを表現する力がある」とその本では書かれていました。自分がこれまで関数型言語に抱いていたモヤモヤがその一言に集約されているなと感じましたね。

話が逸れましたが、Scalaは静的型付け言語でありながらも、世の中の複雑さを表現するに足る柔軟性を兼ね備えているバランスのいい言語だと思って、気に入って使っています。Rubyは、さらにそこから静的型付けを省いており、どんどん変えていかないといけないフェーズにおいては、Rubyの素早く変えていけるところが手に馴染む道具だと考えているので、両方使っているという感じですね。

舘野:事業特性や事業フェイズを考えた際に、WAmazingという会社においてはどういう意図で使い分けている感じですか?

村田:WAmazingの今のフェイズは、プロダクトを改善して磨いていくフェイズだと理解していますが、ユーザーにどういう価値を提供できるか不明な新しいアプリケーションに関しては書いたものをガンガン捨てたり変えていけるようにRuby、そしてRailsですね。Railsはスタートアップに必要な初速を提供してくれるいいフレームワークだと思っています。一方で、WAmazingでいえば通信の制御などの機能が必要なSIMであったり宿泊施設の在庫管理といったサービスについては、ユーザーに価値を提供するというよりは、外部システムとの正しい連携だったりが必要になってくるので、そういう部分はScalaを使っていますね。

舘野:そうですね!せっかくなので、CTOの立場で技術選定について少しだけ話をすると、かちっと決まったもののドメインを考え、全体的な設計をきっちり行うような開発の場合、静的型付けを活かした型活用ができ、オブジェクト指向も関数指向も活用し設計できるScalaを基本的に採択しています。ユーザインターフェイスを含む、UXからUIを考え、様々な試行錯誤をしていくような場合には素早い開発ができるような動的開発言語を採択しています。弊社の場合だと、アプリにはReactNative (ES6 + Flowtype)を、Webのフロントエンドでは React を、HTML 出力が主な責務のアプリケーションでは Rails を、などなど、場合によって何が適した価値かを考え、使い分けていますね。

WAmazingはマーケットと開発環境が魅力的だった

舘野:WAmazingに入社した経緯についても改めて伺いたいのですが、そもそも転職しようと思ったきっかけは何だったのですか?

村田:転職を考えた理由としては2つありました。

一つ目は、スタートアップで、かつ自社サービスを持っている会社で開発に携わりたいと思いました。ソフトウェアは会社の組織を強くするための道具だと思っていて、組織や利用者の要望によりソフトウェアに求められる要件がどんどん変わっていくわけですよね。ソフトウェアはそれらの要件に追従していく必要があるのですが、受託の場合だと会社間の取引として、要件やコスト、納期を都度決めていかないといけない。そうするとスピード感が損なわれてしまうわけです。受託事業に携わっていた時、そういうものがなければ、もっと早く組織を強くしていけるのにと歯がゆさを感じていました。だから、よりフレキシブルに改善を重ねていけるようなスタートアップ環境でソフトウェアづくりに携わりたいと強く思いました。

二つ目は、自分が作るソフトウェアの影響範囲を広げていきたかったというのがあります。受託の場合ですと、B向けのソフトウェアが多い中で、それだと幸せになるのはクライアント(納品先)のユーザーに限定されてしまうということもあり、頑張って作ったわりには幸せになる人数が少ないなと感じていました。
どうせなら、もっとより多くの人が使って楽しくなったり幸せになるようなものを作りたい、もっと市場が大きいところでやりたいと思いました。

舘野:受託の場合だと、顧客から直接要望を聞けるという良さはあるけど、ユーザーに対してもっと広くソフトウェアの価値を提供したり、もっと早くソフトウェア開発をまわしていけるような環境にチャレンジしたかったということですね。

村田:そうですね。そういうことを考えながら転職活動をしていた時に、たまたまWAmazingの案件に出会い、率直に面白そうだなと思いました。

舘野:転職活動では色んな会社を見たかと思いますが、最終的にWAmazingを選んだ決め手・ポイントはどこだったのですか?

村田:先ほど話した通り、自分の中で会社を選ぶ軸があった中で、WAmazingが事業展開しているインバウンド市場はこれからどんどん伸びていくマーケットだと確信しましたし、加えて、当時はまだエンジニアが数人しかいない状況だったので、高速で開発をまわしていけるのではないかと思いました。 あとは、経営陣の経歴などを見ていて、この会社だったら凄く楽しいことができそうだと率直に感じましたね。

エンジニアとして真価を発揮できるベンチャー環境

舘野:期待を持って入社して、あっという間に一年が経ったわけですが、実際に働いてみてどうですか?

村田:想定していたことではありましたが、ユーザーのフィードバックがダイレクトに来るというのは、実際に体感して楽しいなと思いました。タイムリーに意見が来て、ユーザーがどういう所に満足しているのか、不便を感じているのか、その声が直接届くというのは非常に自分のやりがいになっています。

あとは「早く作ることが価値になる」と思いましたね。早く作れば作るほど、当然ですが早く世に出せて高速で改善をまわしていくこともできます。少なくとも今のフェイズのWAmazingにおいては、それがプロダクトの価値になると信じています。これまでは感じられなかった楽しさがありますね。

舘野:なるほど、ベンチャーの場合、特にまだ価値が定まっていないフェーズだと、ユーザーに価値があると思うものをどんどん提供して、そしてフィードバックを受けて改善していくということが非常に大事だと私も思っています。ただ大事なこととして、スピードだけに偏ってしまうと、その後の運用どうするんだという話になります。その点についていえば、村田さんの場合は、バランスが良い速度で開発していますね。ベンチャーの開発体制にフィットしているんじゃないかと思っています。

村田:そこは確かに、ずっと意識してやっていますね。自社サービスを運営しているWAmazingの魅力として入社して気づいたことですが、例えば前職で関わっていた受託の場合だと、最初からしっかりしたものを作りますとクライアントと握りますが、自社サービスの場合だと、例えば、まずは管理画面はスプレッドシートで運用するという判断ができたりするので、非常にやりやすいですね。

舘野:そうですね、WAmazingの場合だと、事業サイドもプロダクトサイドのメンバーも柔軟に開発することに対して違和感を持たないですよね。まだベンチャーの初期フェイズなので、どんどんまずは世の中に出して磨いていくということに価値がある中、どこかにお伺いを立てる必要もないし、どんどんまわしていける、ベンチャーならではの環境があると思っています。

村田:そうですね、今のフェイズだとまさに、そういうエンジニアが真価を発揮できる、楽しくやれる環境があるかなと思います。

技術を駆使して難解な課題をクリアしていく楽しさ

舘野:中国対応に関わっているからこその、面白さや難しさってあったりしますか?

村田:中国推進部というチームで仕事をしている上で、中国独自の文化だったり、グレートファイアーウォールといった特殊な環境の中で正しいサービスを提供する方法は、ググっても明確な答えが出ません。
そのため、ここが障害点になりそうだなとか考えながらインフラ構築などを進めていく中においては、これまで蓄えてきた情報科学や情報工学、ソフトウェアエンジニアリングの知識をフル活用していく必要があります。大変ではありますが、中々経験できることではないので、成長のためにも楽しみながらやっています。

舘野:中国展開において技術的に解決しなくてはならない課題は、様々な状況下から何が正しいかを考え、リスクを判断し、現状の最適解や、将来はどう変化するかなどを考え提供する必要がありますね。その解は簡単に出せるものではなく、様々な技術的な視点から答えを導き出す必要があって、技術力があるからこそ何が正しいのかを自ら考え挑戦するのは難しい課題にチャレンジすることになるので面白いですよね。

村田:そういうことができる会社は少ない気がします。日本法人が中国独自のスキームを使って提供する、特にWAmazingのようなBtoBtoCモデルを一気通貫で行なっている会社は他にはないと思っていて、そういう初めてのものに取り組めることは大変だけど、面白いのではないかと思っています。

舘野:ありがとうございます。ちなみに、開発以外の部分で、村田さんが気付いたことや感じたことってありますか?

村田:ビジネスサイドの話になりますが、営業含めた事業開発が強力だなと思いました。カロさん(代表の社内での愛称)含め、観光産業に携わってきたメンバーが多いのでネットワークがとにかく凄い。
WAmazingのサービスには、事業開発の人たちが有しているネットワークをソフトウェアと組み合わせて大きな価値を生み出していくという側面があるので、そうした価値に期待してくれてか、面白い商材だったり在庫が集まりやすい環境にあると感じています。

舘野:WAmazingはBtoBtoCモデル、つまり、日本の魅力的な観光資源と訪日外国人をマッチングさせるビジネスモデルなので、観光資源が大切で、いい観光資源をどう作り出していくのかという点で、提供してくれる事業者とのネットワークが強みの一つということですよね。

村田:そうですね、「ソフトウェアがどういう価値提供していけるのか」を考えることができるのは非常に面白いと思います。

問題解決のアプローチ手段を増やしていきたい

舘野:最後になりますが、エンジニアとして今後どうなっていきたいか、どういうチャレンジをしていきたいと考えているのか、ぜひ教えてください。

村田:エンジニアという枠組みから外れるかもしれないですが、色んなアプローチで問題解決していけるようになりたいと思っています。これまではソフトウェアエンジニアリングの知識を用いて問題解決してきましたが、最近は勉強する幅を広げ始めていて、人文学、自然科学、社会科学とか、そういう分野の知識や過去の事実を使って問題解決していけるような人材になりたいと思っています。

会社には解決しないといけない多くの問題が転がっているので、それらを解決することは自分にとって成長する機会だと捉えています。
今はソフトウェアエンジニアリングの知識という道具で解決していますが、これからもっともっとその道具を増やしていきたいですね。

最近は、そもそも人は何に対して幸せを感じるのだろうみたいなところから問題解決のアプローチを考えていけたら更に強くなれるのでは?と思ったので、ラッセルの幸福論のような哲学書を読んだり歴史を勉強していたりします(笑)

舘野:現状に甘んじることなく、成長のために貪欲に努力する姿勢、素晴らしいですね。
引き続き、ビジョン実現のために頑張っていきましょう!

WAmazing株式会社's job postings
10 Likes
10 Likes

Weekly ranking

Show other rankings