【フルリモート/週5/Go】秒間数万のトランザクションを捌き、世界の金融・決済インフラを再定義する次世代分散システムのコアバックエンドエンジニア お任せしたいこと [役割]バックエンドエンジニアとして、Go言語(Golang)の圧倒的な並行処理能力を極限まで引き出し、世界中の決済ゲートウェイや金融機関とリアルタイムに連携する「次世代グローバル分散決済プラットフォーム」のコアマイクロサービス開発をお任せします。 [役割に対して求める成果]「決済システムの停止は社会インフラの停止である」という極度のプレッシャーの中、秒間数万件(数万TPS)に及ぶ突発的なトラフィックスパイクを、Goroutineを用いた極めて軽量なスレッド管理によって遅延なく捌き切ること。そして、マイクロサービス間の複雑な分散トランザクションにおいて、1円の不整合も許容しない強固な結果整合性と、99.999%の可用性(High Availability)を実現するアーキテクチャを構築すること。 具体的な業務内容 ・Go言語およびgRPC / Protocol Buffersを用いた、極めてスループットが高く低遅延な決済・送金・ウォレット管理マイクロサービス群の詳細設計、実装、テスト ・GoroutineとChannelを活用した、I/Oバウンドな外部API呼び出し(クレジットカード網、銀行API等)の高度な多重化・非同期処理と、コンテキスト(contextパッケージ)を用いた厳密なタイムアウト・キャンセル制御 ・Apache KafkaやNATS等のメッセージブローカーを活用したイベント駆動型アーキテクチャの構築と、Sagaパターンによる分散システム環境下でのトランザクション補償(ロールバック)ロジックの実装 ・Cloud SpannerやCockroachDBなどのNewSQL(分散RDBMS)、およびRedisを用いた、高トラフィック環境下における厳密な排他制御とデータのACID特性の担保 ・Goの公式プロファイラ(pprof)やDatadogを活用した、ミリ秒単位でのレイテンシの特定、メモリアロケーションの削減、およびガベージコレクション(GC)のオーバーヘッドを最小化する泥臭いパフォーマンスチューニング ・サーキットブレーカー(Circuit Breaker)やリトライ機構(Exponential Backoff等)の実装による、外部システムの障害に引きずられないレジリエントな(回復力のある)システム設計 ・ドメイン駆動設計(DDD)やクリーンアーキテクチャの思想に基づいた、Goらしくシンプルで可読性が高く、かつ変更に強い(Maintainable)パッケージ構造・インターフェースの設計 必須スキル・経験 ・Go言語を用いたWebアプリケーションまたはAPIサーバーの開発・本番運用経験(2年以上) ・複数言語を含めたバックエンドエンジニアとしての実務経験(計3年以上) ・RDBMSを用いた高度なデータベース設計、およびインデックス・クエリチューニングの経験 ・Docker等のコンテナ技術に関する基礎知識 ・Git/GitHubを用いたチーム開発およびPull Requestベースのコードレビュー経験 歓迎スキル・経験 ・gRPC / Protocol Buffersを用いたマイクロサービスアーキテクチャの設計・開発経験 ・決済、仮想通貨(Web3)、証券システムなど、ミッションクリティカルな高負荷システムの開発経験 ・Apache Kafka、NATS、RabbitMQ等を利用した非同期メッセージング・イベント駆動アーキテクチャの構築経験 ・Kubernetes(EKS, GKE等)を用いたコンテナオーケストレーションの本番運用経験 ・Cloud Spanner、CockroachDB、TiDB等の分散データベースの利用経験 ・pprof等を用いたGoアプリケーションの高度なメモリ・CPUプロファイリングとパフォーマンスチューニング経験(ISUCON等での実績も歓迎) ・DDD(ドメイン駆動設計)の実践経験 開発環境 言語・フレームワーク:Go, gRPC, Protocol Buffers, GraphQL インフラ・ミドルウェア:AWS / GCP (GKE / EKS, Cloud Spanner, Cloud SQL, Redis), Docker, Kubernetes, Apache Kafka, NATS CI/CD・ツール:GitHub, GitHub Actions, Terraform, Datadog (APM / pprof連携), PagerDuty アーキテクチャ:Microservices, Event-Driven, Clean Architecture その他ツール:Figma, Jira, Confluence, Slack, Notion 開発チームについて プロダクトマネージャー1名、テックリード1名、バックエンド(Go)エンジニア8名(今回募集枠含む)、SRE3名の体制です。「Less is exponentially more(少ないことは指数関数的に豊かなことである)」というGo言語の哲学を深く愛し、過度な抽象化や黒魔術(マジックコード)を嫌い、シンプルで愚直なコードで複雑なビジネス課題を美しく解決することに知的な喜びを見出す「生粋のGopher(Goエンジニア)」が集うプロフェッショナルなカルチャーです。 求める人物像 ・「トラフィックが増えたらサーバーを足す」という力技ではなく、メモリのポインタの扱い一つやGoroutineのライフサイクル管理を見直すことで、ソフトウェアのポテンシャルを極限まで引き出すことに快感を覚える方 ・分散システムの複雑性(ネットワークの瞬断、順序性の逆転、データの競合)から逃げず、あらゆるエッジケースを想定した防御的プログラミング(Design for Failure)を徹底できる方 ・フルリモート環境下において、SREやドメインエキスパートなど他職種とも自発的かつ円滑にテキストや通話でコミュニケーションが取れる方 仕事の魅力 現代のクラウドネイティブなインフラにおいて「最強の言語」とも言えるGoを用いて、金融・決済という最高難易度のドメインに挑む非常にエキサイティングなポジションです。秒間数万リクエストという暴力的なトラフィックを極小のレイテンシで捌き切るマイクロサービス基盤を構築することで、大規模分散システムにおける国内トップティアの「ハイパフォーマンス・Goアーキテクト」としての圧倒的な希少性と市場価値を獲得することができます。 働き方 リモート環境 [フルリモート] フルリモートで働いていただけます。