Come and meet us at the Upcoming Events!
See All Events―入社当時からエンジニアとして働いていますが、大学でコンピューターサイエンスに触れていたのですか。
いや、そういうわけではないですね。大学は外国語学部・ロシア語学科なので、いま仕事で携わっている領域とは全然畑が違うことを学んでました。
―外国語のなかでも習得が難しいと言われるロシア語ですが、なぜ当時はそのロシア語を自ら選んだのですか。
そこまで深い理由があったわけじゃないんですが、「せっかくだから、これまでに触れたことがない言語もやってみたい」 と思ったのは覚えています。
というのも、その頃英語は得意でした。姉妹校の人たちと交流する機会があり、学んだ英語を使ってみたら楽しかったんです。高校生まで学んだレベルでもちゃんと話せるんだ、と思いました。その英語を専攻することも考えたんですが、せっかくだから他の言語もやってみたい…と思い、スペイン語、ドイツ語と見ていった時にロシア語があり、ロシア語の習得に挑戦しようと決めました。
―その後、在学中にエンジニアの道を発見したと伺いました。
大学2年生の時、選択科目で「C言語」の授業を受けたことがエンジニアの道へ進むきっかけになりました。最初からピンときたというよりも、当時はいろんな授業を取れるカリキュラムだったので、せっかくだから幅広く学んでみようと思い、なんとなく選択した感じでしたね。
―授業を受けてみて、どうでしたか。
すごくおもしろかったです。自分で作ったものが実際に動くというのが、シンプルにおもしろかった。そこから直感的にハマっていって、この技術を使って仕事をしてみたいなと思い、Wantedlyを眺めるようになりました。
―エンジニアとして働く経験を最初に掴んだのは、Wantedlyからの応募だったのですね。
そうです。WEB開発とか、アプリ開発とかで検索をしながらFintech系企業のインターンを見つけ、そこで働くことになりました。数名のメンバーで回していたほどのスタートアップで週3日サーバーサイドの仕事をしていました。
Reproを知ったのは、そのスタートアップでの業務にも慣れてきた頃。もっと勉強しようと思って新宿周辺のRuby技術者たちが気軽に相談することを目的としたコミュニティ「Shinjuku.rb」に出向いた際、ReproのVPoE・三木明に会ったんです。
―当時はどんな印象でしたか。
雑談のテンションで三木さんと話したんですが、Reproのやってることを聞いてたら「やばいな」と思いましたね。インターンとはいえ、スタートアップで業務に取り組んでいく中で多少はいろいろと身についていくじゃないですか。知識とか、スキルとか。でも、全然レベルが違ったんです。
まず、使ってるミドルウェアの多さに驚いたのを覚えています。それで実際に運用できるところまで持っていっていることがすごくて、さらにその上でサービスとして安定していることもまたすごいな、と。実は、これと同じような感覚を今でも覚えることがあります。週一くらいで思いますね。「これが当たり前に動いているのはすごいな」と。
業界内で「Reproの技術力はすごい」と聞いていましたが、本当でした。
―その後、どのような経緯で入社するのですか。
初めて知り合ってから、三木のオススメの本を教えてもらったりアドバイスをもらったりしていたら、「うちでもインターンしない?」と誘われたんです。それで、Reproに。
入社直後を振り返ると、日頃から自由闊達に意見を言い合いながら本当にいいものを作ろうとする姿勢が印象的でした。 それまで自分が知っていた環境とは雰囲気や密度が違って、また少し世界が変わった気がしました。
―インターン入社後、どのような業務に携わっていたのですか。
Repro全体の品質保証を担うQA(Quality Assurance)チームに配属され、テストエンジニアとして働くことになりました。この配属は、自分の希望がかなった形。当時はテスティングに興味を持っていたんです。
―具体的には、どのようなところに興味を持っていたのですか。
初めてテスティングに興味を持ったのは、Fintech系企業のインターンをしていた頃。機能開発業務に携わっていたんですが、この時に単体テスト、機能テストをテストコードとして落とし込むところから始め、自動化して走らせるところまで経験しました。テストを自動化することで、まず自分の作業が楽になる。そしてその作業が正確であればあるほど、他の開発者のためになる。テスト業務を効率化した結果、みんなが助かると言ってくれる。そんなところに、やりがいを感じました。
あとは、例えば新しい機能が開発されるとテストを行います。まずは、事前に仕様を把握し、テストする項目を洗い出す。テストの準備ができたら実際にテストをして、バグがあれば修正をします。この時に推測を重ね、バグの箇所を予測できた瞬間も楽しかったですね。問題なく動くことが確認できたら、新しい機能はリリースされます。
―入社当時から興味がある分野に携わることができたわけですが、実際に働き始めてどうでしたか
正直、めちゃめちゃ大変でしたね。
まず、既存の機能を把握することに苦労しました…。その頃からReproのプロダクトには多くの機能があったので、それを把握するだけでも大変で。新しい機能をリリースする際には既存の機能を把握していないといけないので、ここは「覚えられません」と言って逃げることはできません。
それでもさらに新しい機能の開発も進んでいくので、新規・既存の機能情報をキャッチアップするのと同時に知識面、スキル面も鍛えました。
―当時、どうやって知識面、スキル面をレベルアップさせていったのですか。
毎週「新宿もくもく(Shinjuku Mokumoku Programming)」に通っていましたね。本やネットの記事も読み込んで、必死に、黙々とインプットしてました。当時、三木には「ボーリスバイザー(の本)は、テストエンジニアのバイブル!最低でも100回は読まないと!」と言われて、特にボーリスバイザーの本は読んでましたね。
大変だとは言いつつも乗り越えられたのは、楽しかったから。キャッチアップしきれなかったりインプットに追われたりしているときは大変なんですが、実際にものが動くところを見るとやっぱり嬉しいし、楽しいなって思うんです。その瞬間があったので、きつい時期も乗り越えられました。
―新たに学ぶことが多かった理由には、文系大学を卒業してエンジニア職に進んだというキャリアもあったと思います。最初、コンプレックスのようなものはありましたか。
意識したことないですね。文系だから…と言われることもないし、自分で気にしたこともない。一見するとゴリゴリのエンジニア畑だと思われるかもしれませんが、実はコンピューターサイエンスにずっと触れてきましたという人ばかりではないんですよ。
加えて、Reproでは経歴とか背景にあることよりも「やったかどうか」で見られるので、その環境にも恵まれていたのかもしれません。
―やったかどうか、で見られる環境。見方によってはシビアな環境だと思います。自身のバリューを出すために心がけてきたこと、工夫してきたことはありますか。
バリュー…。バリューって、難しい言葉ですよね。どう定義しようか、と。
ただ、今チームとして何ができてないんだろうかと考えて、「僕ができることなんだろう」と突き詰めて、必要なことを身につけていくということをこれまではひたすら繰り返してきたと思います。
その過程とこれまでお話しした経緯の中で、もっとも記憶に残っているのはReproのクライアントファースト文化。日々、本当にクライアントが欲しい機能はなんなんだ、と問われ続けるんです。開発として顧客のために何ができるかと考えているうちにそんなReproの文化が好きになっていって、自然と「入社したい」という気持ちも高まっていきました。
入社の経緯は…と聞かれても正直きっかけらしいものはなくて、Reproの文化への共感と好意が積もりに積もって溢れたっていう感じですね。
―QAチームでのインターンを経て、テストエンジニアとして入社した後、現在はどのような業務に携わっているのですか。
一言で言うと、ネイティブSDKでの開発業務ですね。具体的には、新しい機能が欲しいとなった時に仕様として落とし込んで、コーディング、テストまで、リリースするまでの一連の業務に関わっています。
―現在の業務に携わるようになった経緯は、どのようなことがあったのですか。
当時、全社的にネイティブSDKを扱えるエンジニアの数が少ないと問題視されていました。少ないということは、チームによってはそういった人材がいないチームも出てきてしまいます。そうすると偏りが出て、必要な時にコードレビューできる人がいないとか仕様の設計について話せる人がいないという状況が生まれてしまうんです。
それを見ていて、自分がそこに入れるようになろうと思って手を挙げた形です。
新しいチーム体制になった頃は入社した時と同じくらい必死でしたね。情報のキャッチアップと新しいインプットを繰り返しました。
最近少し落ち着いてきてから改めて考えるのは、「やっぱりReproはエンジニアをワクワクさせてくれる会社だ」ということ。Reproはどんどん進化を続けるので、常に様々なことをキャッチアップすることを求められ、その度に「まだ自分にできないことがある」と思わされるんです。そうやってまだ先に道が続いていることに気づけると、ワクワクしますよね。
―Reproは自身の成長、伸び代を常に感じられる環境であるということですね。
エンジニアにとって働きがいがあると言える理由はもう1つあります。それは、Reproのエンジニアにはクライアントファーストの文化が息づいているということ。
正直、開発者はセールスやCSと比べたら顧客との接点が少ないじゃないですか。そうすると、クライアントファーストの精神ってなかなか意識できない。でも、Reproは全社的にその精神、文化が浸透しているので、本当に顧客から求められる開発業務に携わることができるんです。
例えば、僕が尊敬するReproのエンジニアの先輩にエドワード・フォックス[※1]さんがいます。彼はセールスやCSの人と積極的に関わりを持っていて、時には打ち合わせに一緒に出向いている姿を見たこともあります。開発現場から飛び出してクライアントの感覚をその肌で感じ取ろうという姿勢に刺激を受けました。
とは言いつつも、改めて考えると「クライアントファースト」って当たり前のことですよね。当たり前なんだけど、Reproをはじめとしていろんな企業がこうした言葉をあえて掲げてるのを見ると、その当たり前を全うすることが難しいんだと思います。
それでも、Reproでは僕が入社した頃から変わらずこの言葉を掲げ、実践し続けています。
[※1]エドワード・フォックスの取材記事はこちら
―インターン、新卒入社以降から現在の業務について伺ってきました。これまで挑戦の連続だったと思います。今後、Reproでさらに挑戦してみたいことはありますか。
引き続きネイティブSDKでの開発には携わっていきたいですね。先ほどお話ししましたが、会社から求められている部分のエンジニアが不足しているのはまだ課題なので、今後さらに互いに補い合っていける関係を作っていきたいと考えています。
加えて、より効率的に機能開発をしていくためにチームとして成長できるようなアクションを起こしていきたいというのも考えています。より良い環境を構築するために自分ができることを増やしていきたいと思い、最近はファシリテーションを学んでいます。
正直、さらにその先のことはわかりません。もともと、あまり先のことを考えるというのはしないので。
―それは、どなたかの影響ですか。それとも、ご自身の性格ですか。
そう言われると、これまでいつも僕の背中を押してくれていた父親の影響があるのかもしれません。
警察官として働き、管理職まで務めている父を尊敬しているんですが、その父が小学生の頃の僕に名前の由来を教えてくれたんです。
功起=「成"功"を"起"こす」人
その由来を知ってから、ずっと考えているんです。「成功を起こす」とはどういうことなのか、と。エンジニアって関数の名前をつける時とかネーミングにこだわりがあるんですが、そういった習慣も実は自分の名前の由来を深く考えるようになった背景の一つでした。
―考えた結果、どんな答えにいきついたのですか。
いろいろ考えたんですが、僕なりには「成功を起こせたかどうかは、今ある課題を解決し続け、死ぬ直前でようやくわかるもの」であり、毎日を生き切っていった先でようやく味わえるものなんじゃないかと思ったんです。だから、あまり先のことは考えず、今目の前のことを全力でやる。
「Reproの売り上げのために何かできているか?」
たまにそんな風に父から問いかけられる時、まだ大きな自信を持ってイエスと言えていないので、まだまだその先の道のりは長そうです。それでも、いつか自信を持って「僕は、Reproのためにこういうことができているんだ」と言えるようになりたい。今目の前にあることを全力でやり続け、クライアントファーストを突き詰めていけば、きっといつか胸を張って答えられる日がくると思っています。
―最後に…もしも大学生に戻れるとしたら、もう一度Reproを選びますか。
まず、考えたものを具現化して動かすことは好きなので、それに気づくタイミングがあれば遅かれ早かれもう一度エンジニアにはなると思います。その上で、Reproをもう一度選ぶかというとどっちでもいいかなと思います。というか、あまり過去を振り返ってどうするかということは考えたことがないんです。
それくらい毎日頭を悩ませて、今できることに打ち込んでいる。後悔のない日々を送っている。そう思っています。何度振り返っても「あの頃に戻れるならやり直したい」という感情は全然なくて、これからも毎日目の前のことに打ち込んでいきたいと思っています。
企画・取材・執筆 = 山崎 貴大
撮影 = 賀谷 友紀
Come and meet us at the Upcoming Events!
See All Events