2024.10.10
将来は卵1パックの価格が2倍に? 多くの日本人が知らない世界の新潮流、「動物福祉」とは
リンクをコピー
記事をブックマーク
清野隼史氏(以下、清野):今、リプレイスの話や、こういうところを作っていくのならRails以外使ってもいいかもという話が出たので、そのままテーマ2「今後のWebアプリケーションはどうなっていくか」にいきたいと思います。そもそもRailsだけではうまく立ち行かなくなってきているのは、Webアプリケーション自体の環境の変化が大きいのかなと。
テーマに「今後」と書いていますが、これからWebアプリケーションの開発の現場や環境はどうなっていくのかを整理したいと思います。変化として大きいのは開発体制だと感じているのですが、いかがでしょうか?
櫻庭洋之氏(以下、櫻庭):弊社では、サーバーサイドもフロントも、時にはインフラも含めて全般をやるタイプのエンジニアが多い。昔からWeb界隈は1人でなんでもやる人が多かったと思いますが、採用活動をしていると、サーバー側のスペシャリストやフロントのスペシャリストなど、細分化というか専業が進んできている気がする。
採用面においても、それぞれの領域で閉じて開発しやすい技術スタックが必要になってくるのかなと思います。昨今SaaSが盛り上がっている中で、リッチなUIやすごく体験のいいWebアプリケーションが増えると、フロント主軸のアプリケーションがより増えるだろうと理解しています。
清野:まさに今のWebアプリケーションは昔と比べてかなり要求されているレベルも高くなって、UIがリッチでパフォーマンスも早くて当然という雰囲気が漂ってきている。1人で全部を触るというよりも全員が、それぞれをしっかり作る人たちがチームとして構成される時代になってきているということでしょうか?
櫻庭:そうですね。
清野:これに関して、赤沼さんはいかがでしょうか? 実際に今、ユニファで採用を担当していると思うんですが。
赤沼寛明氏(以下、赤沼):本当にそうだなと思います。弊社も最初にスタートしたプロダクトはRailsだけで作られています。フロントもVue.jsやReactなどは使っていなくて、Railsの仕組みの中だけでやっている。弊社の事業のドメインは保育なので、もともとすごくリッチなUIを求められていたわけではなく、シンプルでわかりやすいものが一番だったので、サーバーサイドのエンジニアがバックエンドもやりつつフロントもやっている状況でした。
しかし、我々の事業が大きくなるにつれて、フロントに対していろいろなものを提供しなければならなくなっている。提供の仕方も、モバイルアプリに対するAPIもあればWebViewというかたちで提供することもある。そうなると、もともとフロントエンドを専門的にやっていないサーバーサイドのエンジニアだけでは、フロントエンドを作りきるのが難しくなってきている。
フロントエンド専任のエンジニアが必要になってきたので、採用のターゲットも変わってくる。まるっと1つできる人より、フロントエンド専門の人を求めるようになってきた。以前に比べると、モバイルのアプリも含め、iOSやAndroidといった各職種のエンジニアを求めることが多くなってきていると思います。
その一方で、バックエンドで考えると、むしろAWSがすごく使いやすくなっていろいろなサービスが提供されてきた。サーバーサイドのエンジニアは、RailsのところだけできればというよりRailsプラスインフラ寄り(がいい)。
AWSもある程度わかっていて、単純にEC2のインスタンスの上で動かすだけではなく、AWSのサービスを活用したらどのようなアーキテクチャにできるのかも含めて考える。逆に広範囲に求められている感覚はあります。
清野:フルスタックエンジニアのフルスタックもより広がっているというか、それぞれのスペシャリストも現れてきているし、フルスタックが今まで以上にすごい要求をカバーする存在になってきているということでしょうか。
赤沼:“フルスタック”が示すものが超広範囲になってきていると思います。
清野:だからこそ分かれているところもありますよね。
清野:今、それぞれの領域というか技術領域で専門の人がどんどんついていく開発体制になってきているという話がありました。昔フルスタックだったところがそういう体制になった時に、開発の中で考えないといけないこと、時間を使ってでもコストを割かなければいけないこと、負債になりやすいことがあればうかがいたいのですがいかがですか? チームの体制が変わったことによって生まれた課題をうかがえるとありがたいです。
櫻庭:僕たちのチームには、まだそんなに専門やスペシャリストチームというものがない。React、Next専門チームはいますが、それはそれで完結していて、サーバーサイドも含めてやっています。Railsで使っているデータや認証周りをNext側とどう共通化していくかという連携部分の設計は、ネックというか、難しくていつも悩んでいます。
清野:まさにフロントエンドとバックエンドの境界、今までは同じ人がやっていたので暗黙的に「こういうデータくるでしょ」と思っていたのが、最近は難しくなってきているということですよね。
櫻庭:そうですね。ドキュメント化のツールにもいろいろなエコシステムがあると思うんですが、その選定も含めて選択肢が広がっているので、それ自体も大変という。
清野:まずそこを考えることが必要になってきたということですよね。
櫻庭:そうですね。
清野:ユニファに関しては、フロント・バックエンドだけではなくアプリケーション同士もあるのではという印象ですが、どうですか?
赤沼:アプリケーション同士では、いわゆるスーパーアプリという構成になっている部分もあるので、バックエンドには独立したRailsのアプリがあります。ただし、iOSのアプリは1つになっていて、中のタグで使い分けるようになっています。
アプリの中でも、スーパーアプリの構成をどうやればいいのか。それこそ複数のエンジニアが並行して開発するにはどういう構成にしておけばいいのかについては、難しくなってきている。どういう技術を使うかを慎重に決めることが求められるとは思います。
作って捨てちゃうようなアプリや、完全に独立しているようなアプリなら、エンジニアの興味次第で「とりあえず新しいものを使ってみたい」という気持ちでトライしてみてもいいと思います。
でもいろいろなところと連携していくようなものでは、一部分だけ違うやり方をしていると、そことの連携だけ特殊なことをしなきゃいけないことになって後々負債になる。そういう意味ではある程度先も見据えて、どの構成にしておけば後々みんなが幸せになれるのかを考慮する必要があると思います。
清野:アプリケーションが複雑化していく中で、全部を全員が把握できなくなってきているという実態に対して、どううまくやっていくのかを考える必要が出てきたということですよね。
赤沼:一方で、サーバーサイドだと特に、デプロイの仕方など具体的なアーキテクチャだけでなく、運用やオペレーション的なところも含めてある程度考えないとつらいですよね。
清野:そうですね。
清野:次の質問が来ています。1つ目が「Railsは、つらみがありつつもまだオワコンではないと思っていますが、みなさんがあえて今から自身のバックエンドの主軸を移すとしたら、選定する言語、フレームワークの第1候補はなんですか?」。
櫻庭:僕は仕事でやるならRuby、Railsを選ぶかもしれません。趣味として個人で選んでいいなら、今言語はRustが好きです。ほかにFirebaseは書いていてすごく楽しいのでガンガン使っていきたいなと思っていますが、仕事ではやはりRubyに戻ってきちゃいます。Rubyが好きだからではありますが、今の選択肢の中でもやはりRailsの強みはあると思うので。
清野:今の話の中のRubyやRailsを選ぶという点も、次のテーマからもう少し深掘りしたいと思うので、魅力などをうかがいます。赤沼さんいかがですか?
赤沼:私もRubyやRailsも含めて、仕事でとりあえずきちんとしたものを作るという目的であれば、やはりRubyやRailsを選ぶと思います。RubyやRailsを選択肢から外したバックエンド寄りの話で、純粋に興味として何をやってみたいかというと、Goをやってみたいですね。ほかに単純にRustなどに興味があるし、TypeScript系もふだんやれていないので興味はあります。純粋にバックエンドで考えると、Goをやっておきたい気持ちはあります。
清野:ちなみに僕もエンジニアの端くれなので、もしまた何かを選ぶとしたらRailsという印象があります。“仕事なら”ということですね。やはりRailsやRubyの魅力は仲間を集めやすいことだと思っています。
そこを極めている人もいれば、エンジニアにとっては書き始めるのにも難易度が比較的低い言語ツールだと思っている。その点、何かを立ち上げたい、何かを作りたいと思った時に仲間を集めやすいので、僕はRailsが好きです。すみません、自分語りをしてしまいました。
赤沼:コミュニティの魅力はありますよね。
清野:次の質問は「Railsでマイクロサービスする時、サービスをまたがったトランザクションの扱いをどうしているのか気になっている」です。赤沼さんにうかがいます。
赤沼:弊社の場合は何か特殊なことをやっているわけではなく、基本的にサービス間の連携はRESTのAPIでやっているので、APIの結果から判断しています。もちろん完全には防げていないと思いますが、設計時に仮に取り出しを失敗した場合にもきちんと巻き戻せるような構成や処理の順番を考えながら実装しています。あまりスマートな回答じゃありませんが、そんな感じかなと。
清野:そこはRailsどうこうというより、どちらかというとマイクロサービスとしてのプラクティスにのっとるという感じでしょうか。
赤沼:そうですね。
(次回につづく)
関連タグ:
2024.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.12
自分の人生にプラスに働く「イライラ」は才能 自分の強みや才能につながる“良いイライラ”を見分けるポイント
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.11
気づいたら借金、倒産して身ぐるみを剥がされる経営者 起業に「立派な動機」を求められる恐ろしさ
2024.11.11
「退職代行」を使われた管理職の本音と葛藤 メディアで話題、利用者が右肩上がり…企業が置かれている現状とは
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.12
先週まで元気だったのに、突然辞める「びっくり退職」 退職代行サービスの影響も?上司と部下の“すれ違い”が起きる原因
2024.11.14
よってたかってハイリスクのビジネスモデルに仕立て上げるステークホルダー 「社会的理由」が求められる時代の起業戦略