トラストバンクに勤務して3ヶ月の雑感

## はじめに
株式会社トラストバンクで[ふるさとチョイス](https://www.furusato-tax.jp/?header)のバックエンドエンジニアをしている間中です。

この記事は[トラストバンク Advent Calendar 2024](https://qiita.com/advent-calendar/2024/trustbank)の13日目の記事です。

前職では、社員数数十人のスタートアップ企業で小規模サービスの開発を担当し、エンジニアとしてのキャリアをスタートしました。
そこで3年経験を積み、「次は大規模サービス+人数の多い会社での開発経験を積みたい」とトラストバンクに転職しました。

入社して3ヶ月が経過したので、前職との比較をしながら、トラストバンクでの業務経験を振り返っていこうと思います。

## 対象者
この記事は下記のような人を対象にしています。

- 小規模サービスの開発をしているエンジニア
- 社員数の少ない会社で働いているエンジニア
- 「大規模サービスの開発に関わりたい」と思っているエンジニア
- 「もう少し社員数が多い会社で開発してみたい」と思っているエンジニア

## 前提

:::note warn
この記事では、私が下記2社の勤務を通して得た経験を記載しております。
そのため、「大規模サービスの開発では必ずこう！」とか「人数の多い会社では絶対にこう！」みたいなことを言いたい訳ではないので、ご容赦ください。
:::

|  |    サービス規模     |    サービス運用期間    |社員数|
|:---|-------------|------------|--|
| 1社目 | 小(数十ヶ所,商品数百~数千)       |~5年   |数十人|
| 2社目(現職)  |大(1700自治体,お礼の品76万超)|12年  |数百人|

半年前に転職活動をしている自分に「半年後にはこんな経験ができてるから、がんばれ〜」という気持ちで書いた記事なので、生暖かい目で見てもらえれば幸いです。

## 結論
- 大規模サービスの開発に携わり、日々成長を感じている
- サービスの規模によって業務の進め方・得られる経験が全然違うよ！

## 1. 参加人数が違う
前職では1チーム(数名規模)で開発していました。
人数が少ないので、1人1人とコミュニケーションが取りやすく、情報共有は圧倒的に楽でした。
その反面、個々人のタスクが多くなりがちで、常に業務効率化にトライしていました。

トラストバンクでの開発では、複数チームでタスクを分けて開発しています。
参画エンジニアが増えたことにより、前職よりも大規模なサービスを開発できることが醍醐味です。
また、さまざまなバックグラウンドのエンジニアが集まっており、技術力を高めあうだけでなく、今後のキャリアを考える上で参考になると感じています。
人数が増えた分、情報共有のために会議が増えがちですが、特に負担とは思っていないです。

|  |内容|メリット|デメリット|
|:--|--|--|--|
| 1社目(小規模) |1チーム(数人)|情報共有が楽|常に忙しい|
| 2社目(大規模) |複数チーム(数十人)|大規模サービスが開発できる|会議が増えがち|

## 2. 担当範囲が違う
前職では1人のエンジニアが「要件定義~設計~製造~QA~リリース~顧客対応」まで行っていました。
また、フロントエンド・バックエンドの棲み分けがなかったため、どちらも実装担当することが多かったです。
業界未経験で入社したので、エンジニアの最初のキャリアで開発の全工程を浅く広く経験できたのはとても良かったと思います。
その反面、「バックエンドの技術を伸ばしたいけど、他にもやるべき仕事あるしなぁ」という想いがありました。

その点、トラストバンクではエンジニアは設計・製造に集中できる環境が整っています。
プロジェクト次第ですが、基本的には要件定義は別担当が行いますし、開発の同チーム内にはQA担当が配属されています。
また、フロントエンド・バックエンドにそれぞれ担当者が配置されるため、自分の場合はバックエンドの開発に集中できます。
フロント・バックエンドそれぞれの経験豊富な先輩エンジニアにコードレビューしていただけるのも大変ありがたいです。
担当者・部署が増えることによって情報共有が難しくなるデメリットはありますが、slackやnotionを活用して積極的に情報共有しており、イチ担当者としては特に不便は感じておりません。

|  |内容|メリット|デメリット|
|:--|--|--|--|
| 1社目(小規模) |全部(要件定義~設計~製造~QA~リリース~顧客対応)|浅く広く経験できる|専門性を高めるのは難しい|
| 2社目(大規模) |「設計~製造」がメイン|専門性を高めやすい|他部署の動きが見えづらい|

## 3. QCDのバランス感覚が違う
前職ではサービス規模が小さかったこともあり、「とにかく新機能をバンバンリリースして、顧客の反応見て磨き上げていくんやー！」というスタイルの開発でした。
スピーディーに開発できるのは面白かったですが、その分リリース後の不具合や、顧客から「コレジャナイ」と言われることも多々あり...

その点トラストバンクでは、新機能のリリースにトライしつつも、「デグレしないか」という視点で設計することが多いです。
元々の仕様を把握し、自分が実装を進める部分が加わることで、どの程度の影響範囲なのか、を入念に調査し、設計に反映させることが求められます。
...と聞くと、経験が浅いエンジニアは不安かもしれませんが、経験豊富な先輩エンジニアと相談しながら進められるので、そこはご安心ください！
設計をしっかりやったことで、品質を高めつつ、落ち着いてコーディングに取り組むことが出来ます。


|  |内容|メリット|デメリット|
|:--|--|--|--|
| 1社目(小規模) |とにかくリリース！|とにかく早いw|コード品質は下がる|
| 2社目(大規模) |設計をしっかりする|開発期間が長くなる|コード品質が上がる|

## 4. ノウハウ・経験の積み重ねが違う
前職では、サービス立ち上げのフェーズから数年間、開発に関わりました。
そのため、色々と手探り状態で、自分が作成したドキュメントがそのまま歴史になる、ということもしばしば。
大変ではありましたが、「自分が歴史を作れる」ため、やりがいや学びは大きかったです。

対してトラストバンクのふるさとチョイスは2024年現在、サービス開始して12年が経過しています。
社内のノウハウはnotionおよびslackに蓄積されており、入社3ヶ月の私が過去の経緯を把握することも可能です。
とくにnotionAIを活用することで、仕様の把握や社内の仕組みを理解しやすくなるので、大変ありがたいです。
また、歴史が長いサービスのため、既存機能の改修が多くなります。
「ゼロイチでサービスを立ち上げたい！」という方には向かないかもしれませんが、自分は技術力アップのために既存コードを読み解くことがとても勉強になっているので、気にならないです。(むしろありがたい)

|  |内容|メリット|デメリット|
|:--|--|--|--|
| 1社目(小規模) |3年|自分が歴史を作れる|ドキュメントない|
| 2社目(大規模) |12年|ドキュメントが多い|既存機能の改修が多い|

## おわりに
「トラストバンクに勤務して3ヶ月の雑感」として、大規模サービス+社員数の多い会社で働くことについてまとめました。

振り返ってみて改めて思ったのは、「転職活動時に掲げていた『大規模サービスの開発に関わって専門性を高めたい！』という望みが日々の業務経験によって叶えられてる」ということでした。
ひとまずは転職の目的は達成できましたが、今後も日々精進し、専門性を高めていきたいです！

[トラストバンク Advent Calendar 2024](https://qiita.com/advent-calendar/2024/trustbank)では、まだまだ記事を公開予定ですので、お楽しみに。

また、弊社トラストバンクでは様々な職種で絶賛採用中です！ 気になった方、是非お気軽に[Wantedly](https://www.wantedly.com/companies/trustbank/projects)からご連絡ください！