Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
~ 秘伝のタレ化した『神スプシ』と戦う ~ 関数型パラダイムで壊れない仕組みへ
Search
ほりしょー
May 18, 2026
Programming
150
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
~ 秘伝のタレ化した『神スプシ』と戦う ~ 関数型パラダイムで壊れない仕組みへ
めぐろLT #36 「オペレーションに立ち向かった話」@麻布台
https://meguro-lt.connpass.com/event/379339/
ほりしょー
May 18, 2026
More Decks by ほりしょー
See All by ほりしょー
Hello_LT_world_新年度前に振り返ろう_失敗から学んだ教訓_LT_Night___1_.pdf
h0r15h0
1
21
開発プロセスを継続的に改善する仕組み作り ~ 強いスクラムをいかに維持するか ~
h0r15h0
0
130
ドメインイベント増えすぎ問題
h0r15h0
2
870
LLM(Copilot)を最大限活用するための取り組みとその副産物
h0r15h0
1
230
現実世界の事象から学ぶSOLID原則
h0r15h0
30
22k
集団意思決定の落とし穴と誰も望まない技術的負債
h0r15h0
1
5.3k
Goのパーサ作ってvscode拡張作ってみた!
h0r15h0
0
230
デザインパターンを学んだら世界が広がった話
h0r15h0
2
440
Other Decks in Programming
See All in Programming
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
330
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5k
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
390
3Dシーンの圧縮
fadis
1
760
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
140
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
160
AIで効率化できた業務・日常
ochtum
0
130
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
240
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
240
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
320
A2UI という光を覗いてみる
satohjohn
1
130
OSもどきOS
arkw
0
550
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
170
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
770
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
Accessibility Awareness
sabderemane
1
140
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Google's AI Overviews - The New Search
badams
0
1k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
So, you think you're a good person
axbom
PRO
2
2.1k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
410
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Transcript
2026/05/18 めぐろLT #36 「オペレーションに立ち向かった話」@麻布台 ~ 秘伝のタレ化した『神スプシ』と戦う ~ 関数型パラダイムで壊れない仕組みへ
ほりしょー プロダクトエンジニア @ハコベル 去年1年間、CSを兼務 @H0R15H0 https://youtu.be/ZFTW6Ete9eE?feature=shared https://zenn.dev/hacobell_dev/articles/131cbcb873e8ba https://zenn.dev/hacobell_dev/articles/4bf484a360d343 2
CSの現場で見つけた課題 ▶︎ 去年1年間、CS(カスタマーサクセス)を担当 ▶︎ そこで立ちはだかったのは、業務を支える「神スプレッドシート」 ▶︎ オペレーション上、コアなシステムだが裏側には肥大化したGAS。 ▶︎ メンテが苦しい、 、
、 3
誰もメンテナンスでき ない状態 ブラックボックス化 業務のボトルネック 「動けばいい」からの限界 圧倒的な属人化 clasp(GASのローカル 開発ツール)の導入や TS化はされている 👍
アーキテクチャはない 管理の形骸化 非エンジニアの努力の 結晶であることにはリ スペクト 👏 さらなる機能拡張や引 き継ぎは不可能 拡張性の限界 4
誰でも高速に、この業務基盤を構築・メンテできるアーキテクチャの導入 「AI親和性」×「脱・属人化」 「AI親和性」×「脱・属人化」 「AI親和性」×「脱・属人化」 「AI親和性」×「脱・属人化」 5
GASに関数型エラーハンドリングを導入 「データの集計」や「フォーマットのマッピング」をスプシが担う ▶︎ エンジニア視点では、バリデーション・型変換・エラーハンドリングの連続 Railway Oriented Programming (鉄道志向プログラミング) をアーキテクチャに ▶︎
処理の流れを「正常系のレール」と「異常系のレール」に綺麗に分離 パイプラインのようにつなぎ合わせる設計手法 ▶︎ 複雑な条件分岐に依存しない、バリデーション・型変換・エラーハンドリングを実現 https://fsharpforfunandprofit.com/rop/ 6
try-catchベースの エラーハンドリング 7
try-catchベースの エラーハンドリング 処理が煩雑になりhappy-pathが追いづらい 8
関数型エラーハンドリングの場合 エラーハンドリングを強制しつつ 終端に寄せることができる (詳細は割愛 💦) 正 常 系 9
自己文書化とAIコスト低下 型によるガードレール 処理が上から下へ一本道で読めるコード に 人間だけでなく、AIにとっても読みやす いコードに 高速な開発を実現 関数型エラーハンドリングで得られた効果 TypeScriptの型安全性をフル活用 AIがコードを変更しても壊れないガード
レールを設置 業務を止める復帰不能エラーを未然に防 ぎ、心理的安全性を向上 10
まとめ 神スプシ(Excel)はどこにでも存在 AIの発展によりエンジニアリングが民主化している今、スケールさせるアーキテクチ ャ選定がエンジニアリングの鍵に 関数型のパラダイムはAI時代の壊れないガードレールとなる その他(コードベースのテンプレ化・SDDの導入)改善も ぜひ懇親会でお話しできれば 👋 https://zenn.dev/hacobell_dev/articles/typescript-neverthrow-csv-error-handling 11