SHOEISHA iD

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

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

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

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

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

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

自社サービス開始直前にWebフレームワークが消えた

 また、インターフェース記述言語(IDL:Interface Description Language)を利用したインタフェース定義でも苦労している。ペイルドではOpenAPIを利用して、サーバー・サイドとフロントエンドの間でインターフェースについて合意を取っている。

 フロントエンドのコードはOpenAPIの設定ファイルから生成できるが、サーバー・サイドのRustのコードを生成させようとすると相当な手間がかかる。サーバー・サイドのコードの自動生成をあきらめて、インターフェース定義を人間が見て実装することもあるそうだ。そこで、Protocol Buffersを利用したインターフェース定義を試し始めているが、「Go言語を想定して作られている部分が多いため、Rustとの組み合わせが難しいところがある」(森氏)。

 そして、森氏が最も衝撃を受けた話として挙げたのが、Rust用のWebアプリケーション・フレームワークである「Actix Web」の話だ。ペイルドではこのactix-webを利用してWebサービスを開発しているのだが、サービス開始2カ月前に、メンテナが開発終了を宣言して、リポジトリも丸ごと消えた事件が起こった。

 「オープンソース・ソフトウェアである以上、当然想定できる事態ではあるが、当時はかなり心配した」と森氏は振り返る。結局、新しいメンテナが就任して、actix-webの供給体制は元に戻ったが、「枯れていないコミュニティならではの大騒ぎだった」と森氏は語る。そして、その後継メンテナは現在、ペイルドで働いている。

 ここで森氏はRustエンジニアの採用について話し始めた。「Rustで開発していると言うと、エンジニアは確保できるんですか? とよく聞かれるが、幸いなことにペイルドではRustエンジニアの採用ではそれほど苦労していない」と森氏は実情を打ち明ける。そして「言語として勢いがあるせいか、Rustを使いたいエンジニアは多い」ともいう。

ペイルドでは、Rustエンジニアの採用にはそれほど困っていない
ペイルドでは、Rustエンジニアの採用にはそれほど困っていない

 ただし世間を見渡しても、本番でRustを使った経験があるエンジニアがに多数いるわけではない。では、どうしているのか。入社後2〜3週間、ひたすらRustを勉強する時間をペイルドでは提供しているそうだ。

 「Rust言語に習熟しようと思うとかなりの時間が必要だが、Webアプリケーション・フレームワークを使ってWebサーバー・アプリケーションを書くなら、書き方は大体決まってくる。2〜3週間で習得できる人がほとんど」と森氏は語る。

 そして森氏は、「プログラミング言語を習得することよりも、Webシステム開発の本質的な難しさを理解することの方が大切だし、大変なこと。Rustでなくても、何らかの言語でWebサービスを開発した経験がある人なら、ペイルドに入社してもそれほど苦労しない」ともいう。

 ただし、ペイルドが人材についてそれほど苦労していないのは、ペイルドの開発チームがそれほど大規模なものではないからという大きな理由がある。森氏も「『来月から納期3カ月で、合計15人月調達』とかいう話になると難しいのではないか」と言う。

 エンジニアなら、新しい技術を試してみたい、できれば本番で使ってみたい気持ちを抱くのは当たり前だろう。だからといって、「今回のプロジェクトでは新しい技術を採用しましょう」と提案するだけでは相手にされない。

 森氏は「興味がある技術について日頃から情報を収集した方が良い。その技術のメリットだけでなく、デメリットも知っておき、提案時には両方合わせて説明できるようにすべきだろう。メリットとデメリットの両方を提示すれば、相手は判断材料ができる。そうすれば採用の可能性が少しずつ高まっていく」とエンジニアにメッセージを送って講演を締めくくった。

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

  • 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」など、さまざまなカンファレンスを企画・運営しています。

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

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

メールバックナンバー

アクセスランキング

アクセスランキング