SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2023 セッションレポート(AD)

新サービス構築にRustを選んで良かったこと、そしてちょっと苦労したこと

【10-D-8】4年前にRustで新規プロダクトを?!~枯れてない技術の採択にまつわるエトセトラ~

  • X ポスト
  • このエントリーをはてなブックマークに追加

 「新事業で提供するWebサービスをRustで開発しましょう!」と言われたらあなたはどう思うだろうか。Rustの良い部分よりも悪い部分、欠けている部分を心配して、「よし、わかった!」とは言いにくいのでは? クラウド管理型法人カード「paild」などの法人向け支出管理サービス事業を運営する株式会社ペイルドでは、Webサービスのサーバーサイドの開発にRustを4年前から採用している。Rustは魅力的な言語だが、企業システムの本番で使用できると考える開発者は少ない。ライブラリ、フレームワーク、SDKなど、Rustには欠けているものが多すぎた。そして、システム開発でRustを使った経験のあるエンジニアがあまりに少なかった。ペイルドでChief Technology Officer(CTO)を務める森雄祐氏が、Rustを選んだ理由と、選んで良かったこと、苦労したことについて語った。

  • X ポスト
  • このエントリーをはてなブックマークに追加

言語を指定せずに求人を出したら、応募が殺到

 森氏はまず、「技術選定」という言葉の意味を再確認した。プロジェクトで効率よく、そして効果的に開発実装を進めるために、適切な技術(言語、データベース、クラウド・サービスなど)を選ぶことといった意味になる。しかし森氏は現実には別の条件も付くと言う。

 「社内で作った既存のライブラリを使用すること」「社内事情のため、OSはWindows Serverにすること」「開発ベンダーを代えることはできないので、工数を確保できる言語を選ぶこと」など、過去のしがらみや技術的負債に引っ張られてしまうのが現実だ。そして、開発後の保守などを考えれば、それは仕方のないことだともいう。

現実の技術選定はどうしても過去のしがらみや技術的負債に引っ張られてしまう
現実の技術選定はどうしても過去のしがらみや技術的負債に引っ張られてしまう

 ペイルドは4年前に、新事業で提供するWebサービスのサーバー・サイドの開発言語としてRustを選んだ。Rustを選んだ理由として森氏は、「高速な実行環境の実現には伸びしろがある。オブジェクトのライフタイムまで含めた、コンパイラによる高度な静的チェックが優秀であり、バグを生みにくい。traitや所有権などの現代的な機能を標準で提供している。後発の言語ならではの良さがある……」と説明したが、これは適当に言っただけだと明かす。そして、Rustを選んだ本当の理由を語り始めた。

 カード事業を始めると決まり、エンジニアを募集することになったが、ペイルドが早い段階で資金調達を済ませていたせいか、求人に応募が殺到した。そして、そのときに出した求人では、言語を指定せず、入社したメンバーで決める旨を記載していた。

 その後森氏は、殺到してきた応募者の面接を始めるが、1日に10人面接しても終わりが見えないような状況だった。そこで応募条件を絞ることを考え、「よし!開発言語で絞っちゃえ!」と考えてRustを選んだ。こうして、ペイルドがサーバー・サイドの開発に使用する言語がRustに決まった。

 いい加減な話のようにも思えるが、ペイルドにはRustを選べる条件が部分的にではあるが整っていた。立ち上げたばかりの会社であり、「自社開発のライブラリ」などの技術的負債がなかったのだ。「当時はGitHubにOrganizationを用意したくらいだった」と森氏は振り返る。あとは、Webサービスの開発に使えて、パッケージ・マネージャーがそこそこ使えて、ジェネリクスなどの言語仕様が入っているということでRustを選んだ。

次のページ
ペイルドはプログラムのエラーが極端に少ない

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Developers Summit 2023 セッションレポート連載記事一覧

もっと読む

この記事の著者

笹田 仁(ササダ ヒトシ)

 フリーランスのライター、編集者。IT、特にソフトウェア開発の話が好きです。 趣味はドラムを叩くこと。コロナ騒ぎでリハーサルスタジオに入りにくくなり、ちょこちょこと楽器を買うことでストレスを解消していたら、いつの間にか置き場所に困るほどになってしまいました。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

丸毛 透(マルモ トオル)

インタビュー(人物)、ポートレート、商品撮影、料理写真をWeb雑誌中心に活動。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

提供:株式会社ペイルド

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/17528 2023/04/11 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング