こんにちは!今年12月からレンタルチーム(hinata rental)のバックエンドエンジニアとして入社した河原田です。
私はvivitに入社する前は受託開発会社のバックエンドエンジニアとして3年弱Golangを書いていました。
自社サービスを開発するのは初めての経験だったのですが、vivitに入社して感じた4つのことを紹介していこうと思います。
すごい数のマイクロサービスが動いている
vivitではキャンプに関する様々なサービスを展開しています。
各サービスのフロント・バッククエンド、それらを繋ぐBFF、ドメイン知識の関係ない機能など多数のマイクロサービスが存在します。
私が担当しているサービスは、レンタルサービスのバックエンドですが、これだけ多数のマイクロサービスが連携しているプラットフォームの開発経験はなく、とても新鮮な気持ちでいます。
体験しているメリットとしては、デプロイが容易であったり、1つのマイクロサービスをほぼ1人で担当することになるので、担当できる業務範囲が広いところでしょうか。
また一方でマイクロサービスが多いことで、管理の手間やサービスのオーナーが曖昧なものができたりと、縮小した方が良いのでは?といった議論なども行われています。
そんな経験も多くのマイクロサービスを動かしている環境ならではの話なので自分にとってはこれまた新鮮な体験です。
それぞれのサービス間の通信はgRPC+protobuf、GraphQLを使っており、スキーマ定義がきちんと書かれているので、定義を見ればどんな通信がされるのかは一目瞭然。
余分な説明も必要なく、開発にもスッと入ることができました。
ドキュメントでの業務知識・ナレッジが豊富
vivitでは基本的に各プロダクトにフロント・バックエンドのエンジニアがそれぞれ1人というチーム構成です。
そのため参画後、引き継ぎを行ったとしても細かい業務知識や実装ロジックをキャッチアップしないければいけない場面もあります。
受託開発を行っていたときは他社からの引継ぎ・ドキュメントが不十分で、何が行われているか、何が正かを理解するためにネストが深いコードを読んで、、、なんてことも多々ありました。
しかし、vivitでは全社でDocBaseというツールでドキュメント管理されています。 開発の経緯や要件すり合わせの記録、必要な業務知識など、困った時はとりあえずDocBaseで検索をかけると、必要な知識やとっかかりが得られるので、自分で考えるにしろ、人に聞くにしろ、仕事を進めるとっかかりを得やすい環境が整っていると思います。
最近だとドメイン駆動設計について理解が必要な場面があったのですが、数年前に行われた輪読会の内容まで細かに残っており、理解の手助けになりました!
マイクロサービス間でナレッジを盗める
vivitのバックエンドは主にGolangで書かれています。
そのため各サービスのバックエンド同士でコードレビューする機会があったり、リポジトリも自由に見ることができるので、他のサービスがどうやって書かれているのか気軽に参考にできます。
ちょっと前のことですが、レンタルの実装でDataLoaderを利用する機会があったのですが、お隣サービスのスポットのバックエンドをがっつり盗み見て、実装したことを覚えています。笑
心理的安全性が高い
最後になりますが、vivitに入社してすごく感じることが心理的安全性がとても高くいなと感じています。特に自分が思っていることを発言しやすい。
いろいろな要因があると思うとのですが、私がそう思えるのはvivitとして心理的安全性を作ろうとする取り組みを、日々感じられるからだと思っています。
例えば、開発部内では週1回、各事業の振替りを行うのですが、その目的の一つとして「 開発全員顔をあわせる場の創出」「より多くの人がこの場で話すことによる、部員間の心理的障壁の解消」ということが、しっかりと書かれています。
またskackチャネルでは個人のtimesチャンネルで自由に発言できる環境があったり、1on1に力を入れていたりと「個人が安心して働ける環境を作ろうとしてくれている!」と感じる機会が多いです。
実際に過去のアンケートでも、心理的安全性が高い!という意見が多く、納得の結果だなと思っています。
さいごに
いかがだったでしょうか?
vivitに興味を持ってもらった方に、入社したての感じたことを知ってもらおうと思いこの記事を書きました。
vivitではより多くの人が「もっと外が好きになる」ために、キャンプの楽しさを広げるお手伝いをしています。
キャンプが今好きな人も、これからキャンプを初めたい人も、一緒に働いてくれる仲間を募集中です。
気になったことがあれば、是非、お気軽に話を聞きに来てください!
【新卒採用】 www.wantedly.com
【中途: バックエンドエンジニア】 www.wantedly.com
【中途: フロントエンドエンジニア】 www.wantedly.com