シェルパ・アンド・カンパニー株式会社 エンジニアブログ

シェルパ・アンド・カンパニー株式会社のエンジニアが技術情報を発信します

NLP2026参加レポート

こんにちは!AI事業部エンジニアリングインターンの浅野です。

弊社は2026年3月9日から13日にかけて開催された「言語処理学会第32回年次大会(NLP2026)」にゴールドスポンサーとして協賛し、2件の学会発表を行いました。本記事では、NLP2026の現地の様子や発表内容を報告します。

続きを読む

Search Engineering Tech Talk 2026 Winterを新オフィスで開催しました

こんにちは。AI事業部ソフトウェアエンジニアの神田です。

先日、弊社にて「Search Engineering Tech Talk 2026 Winter」(以降、検索技術勉強会と表記)を会場スポンサーとして開催いたしました。弊社は最近オフィスを五反田に移転したばかりであり、社外のエンジニアの方々を招いての技術イベントは今回が初の試みとなります。

当日は約40名の検索エンジニアの皆様にお集まりいただき、熱気あふれる勉強会となりました。本記事では、検索・自然言語処理に関心のあるエンジニア向けに、当日の内容を報告します。

続きを読む

第1回: 再現可能なアーキテクチャ入門:なぜ“工学”から始めるのか

シェルパ・アンド・カンパニー株式会社でイネーブリングチームに所属する上野です。

フルスタックエンジニアで、クラウド・ネイティブな構成を積極的に採用しています。

要求分析には、ユースケース駆動開発を体系化したIvar Jacobsonの系譜(OOPSLAの Objectory / “Use-Case Driven”)を基盤に置き、実務レベルでの書き方や粒度調整は Alistair Cockburnに強く影響を受けています。

設計やリファクタリングアーキテクチャ上の判断では、Martin Fowler(martinfowler.com)らの実践知やEric Evansのドメイン駆動設計(DDD)を参照しつつ、データモデルはEdgar F. Coddのリレーショナルモデルと正規化理論(BCNFなど)を基礎として、5NFにまで立脚して検討します。(ウィキペディア - 関係の正規化

 


想定読者

本連載は、次のような方を主な対象として書いています。

  • 要求や仕様を整理し、開発チームに伝える立場の方(PdM / PM / Biz / ドメインエキスパート)
  • 要求を設計・モデル・アーキテクチャへ落とし込む立場の方(テックリード / アーキテクト / シニアエンジニア)

一方で、ソフトウェア開発の属人性や品質の揺れに課題を感じているエンジニア・マネージャーの方にも、問題の構造を捉えるための視点として役立つはずです。

前提

本連載で語るソフトウェア開発とは、主として長期運用(2年以上)・保守していくものを対象としています。研究開発領域で重要視されるPoCなどでは異なるアプローチが必要なので、企業がソフトウェアプロダクトを構築する際の一つの工学的アプローチとなります。


再現可能なアーキテクチャ入門:なぜ“工学”から始めるのか

ソフトウェア開発は、しばしば「個人のセンス」や「経験則」で語られがちです。

しかし、私は要求分析・設計・アーキテクチャ・データモデルに至るまで、一貫してソフトウェア工学に基づく再現可能な方法を好んでいます。

ソフトウェア工学とは、基礎科学に基づいて再現可能なソフトウェアの構造を探究し、構築し、維持・管理するプロセスです。これはまさに「工学」(エンジニアリング)という学問そのものと言えます。

このアプローチによって、属人性を最小化し、品質を最大化することができるからです。

この連載では、私が普段実践していること、例えば、

  • 工学に基づく要求分析
  • モデル駆動の設計
  • アーキテクチャの整合性維持
  • 述語論理に基づくリレーショナルモデル

といった話を、段階的に掘り下げていきたいと思っています。

ただし、これらすべてを一度にお伝えすることはできません。各テーマは非常に深く、一冊の分厚い書籍ができるほどの内容です。そのため、数回に分けてお届けします。

まずは第1回として、「再現可能なアーキテクチャとは何か」「なぜ工学が必要なのか」という導入部分から始めたいと思います。

続きを読む

シリーズB調達後の転換期に挑む。VPoE×テクニカルリード対談:技術組織の今とこれから

なぜ今、この対談なのか

こんにちは。採用担当の多田です。シリーズB・ファーストクローズの資金調達を終えたシェルパは、事業の急成長を支える技術組織も、いま大きな転換点を迎えています。

「組織のフェーズも、事業のフェーズも、これまでとはまったく違うステージに入ってきた」と話すのは、共同創業者VPoEの小川。一般的にシリーズB以降は、プロダクトマーケットフィットをある程度達成したうえで、再現性ある成長が強く求められるフェーズ。シェルパも例外ではなく、T2D3(2年で3倍成長を2回、その後3年で2倍成長を3回)という高い成長目標に向けて、技術組織の役割がますます重要になってきています。

今回は、このタイミングで技術組織として何を考えているのか、どこに向かおうとしているのか。小川とテクニカルリードの上野に、率直に語ってもらいました。

 

現在の技術チームの姿:スクラムをあえて選ばない理由

――現在のチーム体制について教えてください。

小川:我々はチームトポロジーに基づいてチーム体制を組んでいます。開発工程はアジャイル開発を採用していますが、一つの特徴として、スクラムをやっていません。今の時代としては珍しいかもしれませんね。

 

上野:新規サービスを継続的に磨く文脈だと、スクラムの型に入りきらない場面に直面することが多いです。僕らは「ステークホルダーにコミットメントをもらって次のスプリントに進む」より、こちらから提案して価値を実装していくことが多い。そういう文化だと、スクラムを“あえて回す”必然性があまりないと感じています。

一方で、承認ゲートが明確な受託開発や大規模案件では、スクラムがとても機能しやすいです。大きなウォーターフォールで失敗しがちなところを、小さな合意の連続で進められるのが強みです。だからこそ、“状況依存で手法を選ぶ”のが正しいと思っています。

続きを読む

「再現可能性こそ組織の力」—— Enablingチームのテクニカルリードが語る、目指すべきエンジニアの在り方


こんにちは。採用担当の多田です。サステナビリティ経営支援のスタートアップ、シェルパ・アンド・カンパニーは、2025年8月にシリーズBラウンド・ファーストクローズを完了し、大手企業による導入やパートナーシップが次々と決まる成長企業として注目を集めています。


今回は、昨年入社し現在プロダクト開発部・Enablingチームのテクニカルリードとして活躍する上野伸一さんにお話を伺いました。転職活動中は大手コンサルティング企業からの内定も受けていた中で、なぜスタートアップであるシェルパを選んだのか? そして、入社から1年半、一度もオフィスに足を運ぶことなくフルリモートで働く彼が感じる、シェルパの技術組織としての魅力とは?

 

プロフィール

上野伸一(うえの・しんいち) シェルパ Enablingチーム テクニカルリード。2024年6月にシェルパに入社。Microsoft Azure、AWSでの豊富な開発経験を持ち、データモデリングと設計論に精通。現在は基盤刷新プロジェクトのアーキテクティングを担当。

 

 

大手コンサルかスタートアップか——挑戦への想いが決め手

——まずは上野さんのシェルパとの出会いから教えてください。

実は、シェルパに応募する前に大手コンサルティング企業からマネージャーロールで内定をいただいていました。大手企業の安定した環境は魅力的ではあったものの、その時の僕の中には「技術的に面白いことに挑戦したい」という強い想いがありました。

挑戦するなら今だと思って、ベンチャー・スタートアップ領域で活動したいと考えていました。そんな時に週刊東洋経済「すごいベンチャー100 2022年最新版」でシェルパを見つけ、技術的に高い目標に挑戦できそうな企業だと感じて応募したんです。

続きを読む

同じtsconfigでもESMが読み込めないエラーがでたりでなかったり

目的

本記事ではNode.jsとTypeScriptを業務で利用しているエンジニア向けに、同じスクリプトでも実行環境によって動いたり動かなかったりする原因を調査した内容を共有します。

導入

シェルパ・アンド・カンパニー株式会社でプロダクト開発を担当しているkokiです。

このあいだ次のような不思議な現象が報告されました。

  1. もともと以下のコマンドを、各開発者がローカルで必要になったタイミングで実行していた。
    • npx ts-node ./test.ts
  2. ある日、1.のコマンドを実行するとエラーが出て実行できなくなっていた
    • エラーメッセージ(一部): Error [ERR_REQUIRE_ESM]: require() of ES Module
  3. 該当箇所周辺をコミットしていた人はenv-cmd -f ./.env.local npx ts-node ./test.tsというスクリプトで実行していた。この実行は成功する
    1. 補足: env-cmd環境変数を読み込んでコマンドを実行するツールです。環境変数は本筋とは関係ありませんでした。

最初は「ESMとCommonJSの違いについてtsconfigを見てけば良さそう」と思ってたのですがこの予想は外れ、なぜ env-cmd 経由だと動くのか、すぐには原因を突き止められませんでした。(※1)

結論

続きを読む

MUI DataGridPremiumでcolumnとfilterModelのfield型を連携させて型安全にする

シェルパ・アンド・カンパニー株式会社でプロダクト開発を担当しているペトロフです。開発中に抱えていた課題を踏まえ、Tipsを公開します。

補足

  • 使用するTypeScriptのVersionは5.8.3
  • 使用する@mui/x-data-grid-premiumのVersionは^6.18.1
  • 使用するIDEVScode

やりたいこと

以下のソースではcolumnsfilterModelではfieldをstring型で自由に設定できます。しかし、columnsfilterModelfield値が合わなければ、フィルタ機能は正常に動作しません。そもそもstring型で自由に文字列を設定できることに違和感がありました。

続きを読む