1
/
5

技術選定の舞台裏 〜 エンジニアが語る最新トレンドと意思決定プロセス〜

こんにちは。クロスマート広報担当です!
今回は、当社のエンジニアである武さんと福留さんに、技術選定についてお話を伺いました。新しい技術の採用から、トレンドのキャッチアップ方法まで、興味深いお話が聞けました!

武 啓志|たけ ひろし
10年間システム開発会社にてWeb系システムエンジニアの後、フリーランスに転身。
フリーランスエンジニア10年の間、Webシステム開発、スマートフォン向けアプリ開発、ゲーム開発、こども向けのロボット教室・プログラミング教室講師、大学・専門学校のUnity非常勤講師、動画編集、ホームページ制作など、さまざまな案件を受託。
DB設計含むサーバサイドエンジニア歴が長いが、個人でUnityによるゲームを6本ほどリリースしており、ゲーム開発もライフワークとしている。2022年1月にクロスマート入社。
ゲーム開発に関するブログ:https://sleepnel.hatenablog.com/
福留 隼翔|ふくどめ はやと
2019年新卒でSESの会社に入社。内製の業務基幹システムの開発・改修や、新入社員への研修も担う。3年間勤めた後、2022年6月よりクロスマート株式会社に入社。現在は主に、第三開発チームのスクラムのファシリテーション・フロントエンドの実装者として活躍中。広島よりフルリモートで参画している。


ーー 最近新しい技術を採用されたとのことですが、どのような理由で採用に至ったのでしょうか?
武:最近、バックエンドでFastAPIを採用しました。主な理由は、私の理想に近いAPI作成の方法を提供してくれるからですね。以前使用していたDjango REST Frameworkと比較して、実装と設計がより直感的で簡単だと感じています。
私がバックエンド開発の技術選定をする際に重視していることは大きく5つあり、
・処理性能が良いこと 
・公式ドキュメントが充実していて、利用者も多く盛り上がっていること。調べると情報が出て来やすいこと
・誰にでもわかりやすくシンプルなWebフレームワークであること。処理が追いやすいこと
・認証機能があること・実装できること
・データベース操作がしやすいライブラリが使えること
が、決め手になっています。

FastAPIはPythonの型ヒントを活用して自動的にAPIドキュメント(Swagger)を生成できるなど、開発効率を大幅に向上させる機能が魅力的です。また、FastAPIはバージョンがまだベータ版の段階ですが、今年か来年にはメジャーリリースが予定されているという情報もあり、将来性を感じています!

( GitHubstar比較 引用:https://star-history.com/#django/django&fastapi/fastapi&pallets/flask&Date


武:もうひとつ、最近社内用サービスのバックエンド言語にKotlinを採用しました。こちらは私が研究、活用してみたいという思いから提案しました。

KotlinはPythonとは違い、静的型付け言語になります。JavaではなくKotlinにしたのはBetter Java(Javaを改善し書きやすくした)と言われているからです。また、最近Kotlinをバックエンド開発で利用する企業が増えているという評判をよく聞くようになりました。
今のところは社内向けでしか使っていませんが、ゆくゆくはユーザ向けのサービスでも採用したいなという思いがあります。

福留: フロントエンドでは、Vue.jsからReactへの移行を検討しています。主な理由は、転職市場でReactの人気が圧倒的で、多くのエンジニアがVue.jsよりもReactを好む傾向にあるからですね。また、Vue 3への移行の難しさも考慮しています。

現在開発中の新しいサービスや発注画面などで、Remixというフレームワークを採用しています。これは、Next.jsの代替として注目されているものです。Remixは、サーバーサイドレンダリングとクライアントサイドのナビゲーションを組み合わせた、より効率的なアプローチを提供しているものです。特に、現在進行中のプロジェクトではVue.jsからReactへの全面的な移行を検討していますよ。

武: 会社としても、何も考えずに昔のフレームワークをずっと使い続けるのは危ういと思っているんです。技術の進歩は凄まじく早いので、アンテナを張り続け、トレンドに従った技術を取り入れることはやっぱり大事かなと思います。

ーー 市場トレンドや豊富なドキュメント、低い学習曲線、高いパフォーマンスなどにより選定されてるんですね!会社としてトレンドに乗り遅れない技術環境でありたいですね。
新しいフレームワークを導入するにあたって、どのようなデメリットがあげられましたか?
福留: 社内にナレッジが蓄積されていないというのが大きなデメリットです。しかし、直近採用したフロントエンドエンジニアメンバーはReactの経験がある方ばかりなので、補えると思っています。私自身もReactの経験があるんです。
武:同じく社内に経験者がいないことです。あと、強いて言えばFastAPIがまだメジャーバージョンのリリースがされていない点もあると思います。

ーー なるほど。社内ナレッジが蓄積されていないことやバージョンもデメリットになるのですね。どのようなプロセスで技術選定されていくのですか?武: 新しい技術を採用する際は、まず技術定例会議で提案します。この会議はプロダクトチーム全員が参加するんですが、そこでみんなの意見を聞きながら議論し決めていきます。
FastAPI導入の際は、実際に動作するデモを準備し、Django REST Frameworkとの比較を示しながら、開発効率が上がるという点を特に重視してメリットを説明しました。

福留: フロントエンド関連の技術選定は、フロントエンドエンジニアが集まる定例会議で議論しますね。週1回のペースで開催し、新しい提案や課題を話し合っています。例えば、ReactとVue.jsの比較検討を行う際には、それぞれのフレームワークの特徴、パフォーマンス、コミュニティのサポート状況などを詳細に分析し、議論しました。


ーー 週1の技術定例の場で、みんなで話し合いをしながら選定していくんですね!
技術トレンドはどのようにキャッチアップをされているんですか?
武: 主にX(旧Twitter)を活用しています。FastAPIの開発者や主要なライブラリの公式アカウントをフォローしており、新機能のリリースや重要なアップデートをリアルタイムで把握しています。洗い物をしながらTweetDeck(複数のXアカウントを1つの画面で同時に管理できるツール)を使って気になる情報を効率的にキャッチアップしています。

福留: 僕もXメインです。JavaScriptの中の人やReactでの開発者をフォローし、最新情報をキャッチしています。また、YouTubeも活用しており、特にライブコーディングのような配信は具体的な実装方法を学ぶのに役立っています。海外のエンジニアがライブコーディングをしている動画を見て、新しい実装テクニックを学んだりしています。また、勉強会への参加・開催を通じて他のエンジニアと交流し、最新のトレンドをキャッチアップしていますね。

(TweetDeckイメージ 引用元:https://create.twitter.com/ja/products/tweetdeck


ーー X、YouTube、勉強会参加など技術情報の収集方法がたくさんあるんですね!
技術選定の失敗や学びがあれば教えてください。
武: 失敗と言っていいかわかりませんが、SIerに在籍していた頃、新しい技術の導入を、前例がないことや社内に知見がないことを理由に上司から拒否されたことがあります。この経験から、導入のメリットを明確に説明することの重要性を学びましたね。

クロスマートでも、Kotlinの導入時には反対意見も多少なりともありました。しかし、社内限定の使用であることや、失敗のリスクが低いこと、将来を見据えたトライでもあること などを説明して納得してもらいました。

ーー デメリットを理解した上で、メリットを明確に説明することが大事なんですね!
今後の展望があれば教えてください!
福留: フロントエンドでは、ReactとRemixの採用を進めていく予定です。特に、現在進行中のプロジェクトでは、Vue.jsからReactへの全面的な移行も検討しています。また、新規プロジェクトではRemixを積極的に採用し、そのメリットを最大限に活かしていきたいと考えています。

武: クロスマートはフロントとバックエンドが分業しているので、フルスタックフレームワークよりは各ポジションに合う軽量スタイルを取り入れた方が合っているのではないかと思っています。この辺は、開発者の中でも考えが違う部分も多いので、プロダクトチームで話し合いながら方向性を決めていく必要はありそうですね。

武: ちなみに私は、採用面接時に「好きなフレームワーク」や「どういったフレームワークを経験してきているか」を聞いたりしています。他の言語でも設計思想の似ているフレームワークはたくさんあり、それらを使った経験のある人は弊社に入ってもキャッチアップがスムーズにできると考えています。
また、常に改善していきたいという気持ちを持って、色々な新しいことに取り組んでいる人なら、使ったことがない言語やフレームワークでも上手く使いこなしていけると思っていまます!

武さん、福留さんありがとうございました!

クロスマートでは、技術選定が単なる流行の追随ではなく、チームの特性や市場のトレンド、将来の展望を考慮した慎重な意思決定プロセスと考えています。

また、技術トレンドのキャッチアップ方法として、SNSやYouTube、勉強会など、様々な手段を活用し継続的な学習を心がけることも、エンジニアとしての市場価値・開発チームの価値を高めるために大切なことだと、お二人から話を聞いて感じました。
興味を持ってくださった方は、ぜひ採用ページもご覧ください!

クロスマート株式会社では一緒に働く仲間を募集しています
4 いいね!
4 いいね!

同じタグの記事

今週のランキング