STANDSメンバー職種別インタビュー第2回目は、前回に引き続きエンジニア篇です!
採用している技術や開発の流れについて聞いてみました。
➢Topic
- STANDSに入社するまで
- 現在の仕事内容
- 採用している技術
- 開発の流れ
- 一緒に働きたい方
学生時代について教えてください。
高校生の頃、数学が好きで数学の教員免許を取れる大学に入りました。
情報系の学科だったのでプログラミングの科目があり、授業を受けているうちにプログラミングの面白さに惹かれていきました。
本格的に勉強を始めたいという思いから、大学二年生の時にWebデザインスクールに通い始め、HTML、CSS、JavaScript、Photoshop、Illustratorを使ったWebデザインの基本を学んで面白さが加速していきましたね。
ただ、当時、GUIで簡単にWebサイトが作れるみたいなツールが出始めていたので、Webデザインに関する技術で、今後食べていけるのか?という不安がありました。
大学三年生から研究室に入って、バックエンド言語であるJavaを触り、今後フロントでいくか、バックでいくかを考え始めました。
最初は苦戦しましたが、理解してくるとJavaも面白かったのと、バックエンドのほうが技術スタックとして安定している感覚があったので、バックエンドメインでやっていこうかなと思い勉強を続けていきました。
前職では何をされていましたか?
前職は新卒として入った動画配信システムのプラットフォームを提供している会社でSEをしていました。
SIの部署に所属していまして、お客さんの要望に沿ってカスタマイズされたプロダクトの保守運用を行っていました。そこではWebに関わる幅広い知識が必要とされたので、エンジニアキャリアとしての土台ができたと思います。
STANDSに入社されたきっかけを教えてください。
以前から面識のあった露木さんと齋藤さん(当社CEO、エンジニア)に食事に誘われた時にOnboardingの話を聞いて、「副業でもいいから手伝ってみない?」という話になったのがきっかけで、そこから副業として本筋とは離れた部分の開発を任せてもらっていました。
前職にそこまで不満はなかったのですが、STANDSのビジョンに共感したのと、1からサービスを作り、それが事業として成長していく過程にエンジニアとして携われるということに魅力を感じ、副業として携わっているうちにSTANDSに本格的に関わりたいなと思い始めました。
悩んだ結果、せっかくなので挑戦してみようと思い、「一緒にやらせてください」という形で入りました。
STANDSでの今のお仕事について教えてください。
Webエンジニアをしています。
設計、開発、検証をまるっとやっています。今までバックエンド開発メインでやってきましたが、空さん(当社エンジニア)がフロントエンド開発のナレッジを共有してくれたおかけで、最近は両方やっています。
開発で採用している技術とその背景について教えてください。
フロントエンドはNuxt.jsで、デザインはFigmaを使っています。
バックエンドはインフラにAWSを採用していて、主に、API Gateway、Lambda、S3、RDS、DynamoDB、Athenaを使用しています。LambdaはPythonで書いています。
またLambdaの管理でServerlessFrameworkを使用しています。
フロントエンドのフレームワークとして、Nuxt.js、Next.js、Angularが候補として上がっていたのですが、その中でもNuxt.jsを採用したのは、学習コストが低く、後から入ってきた人たちがキャッチアップしやすいということが主な理由です。
あとは空さんがNuxt.jsでのWebアプリケーション実装経験者だったことも大きいですね。
バックエンドのインフラ構成にサーバレスを採用したのは、コストメリットが大きく、サービス規模としてスモールに始められかつ将来的にスケールもできるし、インフラ管理で気にしないといけないところが減るため、少数チームで開発を行っていく上で工数削減につながるなどが理由としてありました。
LambdaのランタイムとしてPythonを採用したのは、ライブラリが豊富で、すっきりとしたコードが書きやすいというのが主な理由です。
それとAIが流行している中で、機械学習と相性が良いPythonが多く使われるようになってきています。今後、Onboardingもビッグデータを扱っていくので、Pythonの知識があるのはメリットだと思いました。
バックエンドフレームワーク選定の時にLaravelを採用する話が上がっていたのですが、個人的にPHPは前職で経験していたので、別の言語で開発してみたいと希望したところ、その意見が通ったというのもあります。
開発の流れについて教えてください。
STANDSの開発チームでは、アジャイル開発手法の一つであるスクラムを採用しています。
スクラムを採用する以前は、ウォーターフォール型になっている部分があって、お客さまへのOnboardingの提供がどんどん後ろ倒しになってしまっていました。
スクラムのメリットとしては、学びを得られる期間を作れることです。
ウォーターフォール型だと、基本的にまるっと設計、開発、検証して一年後とかにリリースすることになるので、そこではじめて「こういうサービスを使いたかったんじゃない」ということが生じやすいんですよね。
一方、スクラムで細かく進めていくことによって、お客さまからのフィードバックを細かく何度も得られ、改善点を学ぶことでよりニーズに合ったプロダクトをつくっていくことができます。
まだまだプロダクトの価値として仮説段階にあるOnboardingにとってスクラムによる開発はマッチしていると思います。
あと、開発チームとしてもスクラムを取り入れたことで、「一旦ここまでやろう」という一歩でも進める意識や、一人の裁量で完結せず、チームで開発するという意識が根付いてきているのはより良いサービスを作っていく上で良かったと思います。
どんな方と一緒にSTANDSで働きたいですか?
主体性がある方ですね。
話し合いの場で、ある程度方針が見えてきた時でも、「本当にそれでいいのか」といった考えをしようとする方。
Onboardingを開発する過程で生じる様々な課題に対して、その場ではOKとなった結論でも、あとからよりよい解決策が出てくるケースもあります。
常に一歩踏みとどまってよりよい解決策を模索していく姿勢、そしてそこで得た考えを躊躇なく発言できる方が良いなと思います。
それから利他的な方。
いくら発言してたとしても、「その言い方はないんじゃないか」という発言はチームの雰囲気を崩してしまうと思います。
相手の意見を尊重し、理解しようとしながら、自分の意見を言える方と働きたいですね。
最後まで読んでいただきありがとうございます。他の職種の社員のインタビューも掲載していきます!そちらも是非ご覧ください!