Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
コードの考古学 〜労務システムから発掘した成長の糧〜
Search
Kenta SEKINE
May 30, 2025
Technology
3.5k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
コードの考古学 〜労務システムから発掘した成長の糧〜
Kenta SEKINE
May 30, 2025
Other Decks in Technology
See All in Technology
【データ横丁主催】AI エージェント時代のTranslytical Data Platform
shisyu_gaku
0
290
BacklogのRAG 今ならこう作る - S3 Vectorsと自前パイプラインの勘所
revsystem
0
130
AWS DevOps Agentはどこまで任せられるか 〜機能の現在地と、機能拡張の実践〜
nyankotaro
0
220
[FECONF-2026] 신대륙을 향한 카카오페이증권 프론트엔드 항해기 (이주승)
l1ghthouse
0
130
Microsoft のサポート ライフサイクルを理解する
murachiakira
PRO
0
160
クラウドエージェントの先駆け Devin。今も最先端を走る、他との違い
kinopeee
0
250
Claude for Google Workspaces ポン出し/claude-for-google-workspace-slide-conversion
emiki
0
12k
AI時代のGraphQL
joere
3
390
AWS Continuum for Penetration Testing に Deep Dive してみる
asanoharuki
1
1.2k
アカウント統制の健康診断
kenichinakamura
1
170
国際カードブランドルール変更に伴うクレジットカード決済取引仕様変更について
k1style
0
210
Devin プロモコードの受け取りと適用(2026.10.27)
kinopeee
0
140
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5.2k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
580
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
Product Roadmaps are Hard
iamctodd
55
13k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
Exploring anti-patterns in Rails
aemeredith
4
540
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Transcript
コードの考古学 〜労務システムから発掘した成長の糧〜 2025.05.29 Thu. 若手エンジニアが語るリアルな実例 「技術負債」との戦い方・「技術資産の活かし方」 @株式会社プレイドオフィス 関根 健太 SmartHR
プロダクトエンジニア
関根 健太(@Kenta) 株式会社 SmartHR プロダクトエンジニア 新卒で入社した SIer企業では、サーバーサイド・フロントエンド・ インフラなど幅広い領域を経験。 2024年に株式会社 SmartHRへ入社。現
在は労務プロダクトの開発に携わっている。趣味はバイク。
SmartHRの紹介
None
None
None
今日話すこと 1. 労務プロダクトで出会った複雑データモデルの謎 2. 実際に直面した 3つの技術的課題 3. 歴史的遺産から得た若手エンジニアの気づき 4. 困難な状況を成長機会に変える実践方法
1. 労務プロダクトで出会った 複雑データモデルの謎
開発に参画してから “バイテン” というワードをよく耳にするようになりました。
「バイテン …?」「売店 …?」
BiTemporal Data Model 有効時間 (データが現実世界で有効である期間) システム時間 (データがデータベースに格納された時間)
ID 役職 開始 終了 追加 削除 1 - 03/01 ∞
03/01 04/01 1 - 03/01 04/01 04/01 ∞ 1 部長 04/01 ∞ 04/01 ∞ id bitemporal_id position valid_from valid_to transaction_from transaction_to 1 1 - 03/01 ∞ 03/01 04/01 2 1 - 03/01 04/01 04/01 ∞ 3 1 部長 04/01 ∞ 04/01 ∞ 例)03/01に登録された従業員が、 04/01に「部長」になった場合
むずい…🤯
なぜこんな複雑な構造なんだ …? 本当に必要 …?
履歴を管理するためには必要! 理解するしかない!
2. 実際に直面した 3つの 技術的課題
2-1. 複雑な履歴管理システム • BiTemporal Data Model • 複雑性が増し、上記を使っていない開発よりも時間 がかかる
2-2. コードの意図を読み解く考古学的作業 • 複雑な条件分岐が存在するも、その意図は表面か らは読み取れない • 過去のドキュメントを掘り起こすことで、当時の意思 決定の背景が明らかに
2-3. フロントエンドの技術スタック混在 • FIXME/TODOコメントが示す「一時的」なはずの解 決策が恒久的実装となる現象 • jQuery/haml(過去)と React(現在)という異なる時 代の技術が共存する状態
3. 歴史的遺産から得た 若手エンジニアの気づき
3-1. 「悪いコード」ではなく「進化の証」 • 複雑なコードは最適だった過去の判断の結晶 • 制約に見える部分もプロダクト成功の証拠 • 批判より理解と尊重が次の進化を生む
3-2. 小さな改善の積み重ね • 1度の完璧な作り直しは幻想、現実的でない • 小さな範囲の確実な改善が着実な前進を生む • 「今できる最善のこと」の積み重ねが持続可能な改 善への道
3-3. ドキュメント化と知識共有の重要性 • 解読した複雑コードの知識を独占せず共有 • 実装背景の記録が将来の疑問解消に貢献 • 知識共有でチーム全体の対応力が向上
3-4. 拡張性を意識した設計 • 「一時的対応」が定着する現実を直視 • 短期実装も「 5年後の視点」で設計 • 将来への理解しやすさが持続可能な設計の鍵
4. 困難な状況を成長機会に変 える実践方法
4-1. 歴史的コードを批判せず「考古学者」のよ うに分析する • 実装の背景を様々な角度から発掘 • 技術とビジネス両面の文脈を理解 • 探求する姿勢が意思決定力を鍛える
4-2. 発見した知識を積極的に共有・文書化す る • 複雑な実装の背景をすぐにドキュメント化 • PRには「なぜこの実装か」の背景を明記 • 知識格差を減らし将来のエンジニアを助ける
4-3. 小さな改善を継続的に行う習慣をつける • ファイル編集時に「ついでの改善」を実践 • レビュー時も建設的な改善提案を積極的に • 頻繁に触れるコードから品質向上の好循環へ
最後に伝えたいこと • 古いコードの修正ではなく、プロダクトの歴史と未来 を理解する貴重な学びの場
最後に伝えたいこと • 過去の意思決定を理解することで、より良い判断が できるエンジニアに成長できる
最後に伝えたいこと • 未来の自分や仲間に感謝されるコードを目指し、 日々の小さな実践を積み重ねよう
共に未来のプロダクトを 築いていきましょう!