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
Soichiro Yoshimura
September 27, 2023
Technology
0
52
失敗の話
過去自分が前職で経験したソフトウェア開発に関する失敗の話です。
とあるLTで発表しようと思ったのですが、機会を失ったので公開することにしました。
----
slideshareより移行
Soichiro Yoshimura
September 27, 2023
Tweet
Share
More Decks by Soichiro Yoshimura
See All by Soichiro Yoshimura
いちソフトウェアエンジニアが プログラミング教育をはじめるのに読んで良かった本
sifue
0
150
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
sifue
0
190
チームの目標への柔軟な対応
sifue
0
75
並行処理初心者のためのAkka入門
sifue
0
11
2013年末カウントダウン番組におけるAkamai活用事例
sifue
0
61
ソフトウェア設計のすすめ
sifue
0
59
6000名以上の高校生に行われた VR教育の実践と課題
sifue
0
5.8k
N高等学校でのSlackの活用
sifue
0
1.1k
N予備校プログラミングコースでのNode.js
sifue
0
980
Other Decks in Technology
See All in Technology
プロセス改善による品質向上事例
tomasagi
2
2.6k
Moved to https://speakerdeck.com/toshihue/presales-engineer-career-bridging-tech-biz-ja
toshihue
2
740
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
210
エンジニアのためのドキュメント力基礎講座〜構造化思考から始めよう〜(2025/02/15jbug広島#15発表資料)
yasuoyasuo
17
6.8k
Developers Summit 2025 浅野卓也(13-B-7 LegalOn Technologies)
legalontechnologies
PRO
0
720
The Future of SEO: The Impact of AI on Search
badams
0
200
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
2
1.5k
Culture Deck
optfit
0
420
自動テストの世界に、この5年間で起きたこと
autifyhq
10
8.5k
なぜ私は自分が使わないサービスを作るのか? / Why would I create a service that I would not use?
aiandrox
0
740
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
1.1k
CZII - CryoET Object Identification 参加振り返り・解法共有
tattaka
0
370
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
9
440
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Unsuck your backbone
ammeep
669
57k
Facilitating Awesome Meetings
lara
52
6.2k
Into the Great Unknown - MozCon
thekraken
35
1.6k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Optimizing for Happiness
mojombo
376
70k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
960
Transcript
ࣦഊͷ ٢ଜ૯Ұ (@sifue)
ࠓɺલ৬Ͱܦݧͨ͠Γฉ͍ࣦͨഊϓϩ δΣΫτͷΛ͠·͢(कൿٛͷൣғͰ)
લ৬ʹ͍ͭͯ ࣗͱ@hinamaru͞Μ͕5Ҏ্Ί͍ͯͨձࣾ ࣄۀ༰ ۚܕՃػͱޫܗػͷΠϯςάϨʔγϣϯ ։ൃϓϩηεվળίϯαϧͱͦͷͨΊͷγεςϜ ͕͍ࣗͨͪͨͷޙऀͷࣄۀͰɺେମ100ਓ͙Β͍ͷJavaͱ C++ͷ։ൃऀ͕͍·ͨ͠
࢈Λܦݧ ͦͷ࣌৽ؙϏϧͷ37F, 31F, 30FΛି͖ͬͯ͠ΠέΠέ ͨͩ࢈࣌ϑϩΞ࿈݁֊ஈ͕͋ͬͯɺͦͷमસඅ͕͔͔ͬͨ͘͢͝ ݪҼɺʹ࡞ͬͨશແਓͷߏஙʹࣦഊͨ͜͠ͱ ߏங͕ͨ͠ॏͳΔγεςϜτϥϒϧɺਖ਼͍͠Ճਫ਼͕ग़ͳ͍ ՃػͷυϥΠόDB·ΘΓͷ࣮ͷίετ͕ߴ͗ͨ͢ ࠷ޙγεςϜ෦ॺਓͳͬͨͷͰɺେͷITاۀʹΓ߹͍͕͍Δ ָఱ,
DeNA, Cookpad, mixi, ϫʔΫεΞϓϦέʔγϣϯζͳͲͳͲ...
ͦͷதͰܦݧͨ͠Γฉ͍ࣦͨഊͨ͠ϓϩ δΣΫτͷΛ͠·͢(कൿٛͷൣғͰ)
ϓϩδΣΫτҰཡ ઃܭࢧԉγεςϜ - ͕ࣗSL ৽Τϯδϯ - ಉظ͕͍ͨྡͷνʔϜ ৽εέδϡʔϥʔ - ྡͷνʔϜ
ϓϩδΣΫτʹ͓͚Δࣦഊͱ ॳ༧ఆ͍࣭ͯͨ͠ɾ༧ࢉɾೲظʢQCD)Λ९कͰ͖ͳ ͔ͬͨ͜ͱɺͱ͜͜Ͱఆٛ͠·͢
ͦͦେମ3ׂ͙Β͍ITϓϩδΣΫ τࣦഊ͠·͢ ग़యɿܦίϯϐϡʔλ201410݄16߸26ท http://d.hatena.ne.jp/redips/20141025/1414202319
·͋ͲΜͳʹؤுͬͯ3ׂ͙Β͍ࣦഊͯ͠͠·͏ͷͰ͢ɻ ͨͩ3ׂΛ͑ͯ͘ΔͱԿ͔͕͋Δ͔͠Εͳ͍ͱٙͬͨ΄͏͕͍͍ɻ ͦΕΛ౿·্͑ͨͰؾܰʹ͓͡͞ΜͷੲΛฉ͍ͯΒ͑Εͱ͓͍·͢ɻ
ઃܭࢧԉγεςϜͷࣦഊ ͕ࣗSLͰ7ਓνʔϜɺΥʔλʔϑΥʔϧͰ1ɺେखेࣾҎ্࠾༻ ࣦഊ༰ ೲظؒʹ߹Θ͕ͤͨɺӡ༻։࢝ޙʹόʔδϣϯΞοϓ࣌ʹக໋తͳDB ίϯόʔτϛε͕ൃ֮ ͓٬༷ͷ৴པΛࣦͬͨɻ৴པΛࣦ͍ূͷఏग़͕ٛ૿Ճɻ ࣾ࠶ϦϦʔεɺ֤͚݄ࣾྫ࣭ձٞͷ։࢝ʹ ॳΊͯͷ2పޙग़ுΛܦݧ
ઃܭࢧԉγεςϜͷࣦഊͷݪҼ Ұ൪࠷ॳʹ࡞ͬͨਓ͕ൈ͚ͯυϝΠϯ͕ࣝେ෯ʹܽଛͨ͠ ίϯαϧͷཁٻมߋΛ࣭Λ६ʹࢭΊΔ͜ͱ͕Ͱ͖ͣɺཁٻΛड ͚ೖΕͯ͠·͍ΥʔλʔϑΥʔϧͷखΓΛڐ༰ͨ͠ SLͰ͋Δ͕ࣗฒϓϩδΣΫτ՝ཧγεςϜ(ɺ3ਓ)ͷ SLΛ͍ͬͯͨ DBͷεΩʔϚ͕ཧআෳ߹ओΩʔϕʔεͷςʔϒϧߏͩͬ ͨ
ઃܭࢧԉγεςϜͷڭ܇ υϝΠϯ͕ෳࡶͳ߹ɺ։ൃٕज़ΑΓυϝΠϯ͕ࣝॏཁͳ߹ ͕͋Γɺ͔ͦ͠Ε͙͢ʹิరͰ͖ͳ͍ ΥʔλʔϑΥʔϧͰ్தͰཁٻมߋΛड͚ೖΕͨ߹ɺக໋తͳ ࣭Լʹͭͳ͕Δ SLͷೳྗΛ͑ͯෳνʔϜͷSLΛ͖͢Ͱͳ͍ɺଞͷਓʹҕ͠ ͨํ͕͍͍ 2छෳ߹ओΩʔ·ͩ͠ɺ6छͱ͔7छෳ߹ओΩʔཧআલఏςʔϒ ϧόάʹܨ͕Γ͍͢
৽Τϯδϯͷࣦഊ ಉظ͕ೖ͍ͬͯΔνʔϜɺ5ਓͰ2ؒ ։ൃϑϩʔͳ͠ (σβΠϯϨϏϡʔͷঝೝϑϩʔͳ͠) ࣦഊ༰ ͓٬༷ͷϦϦʔε͕͞Εͳ͔ͬͨ
৽ΤϯδϯͷݪҼ༧ଌ ٢ଜͷݪҼ༧ଌ ա͗Δࣾ/ࣄۀ෦ͱਐΊΔϓϩτλΠϐϯάϓϨθϯظ ؒͷͨΊ։ൃϓϩηεͷ੍ఆ͕Ͱ͖ͳ͔ͬͨ ༷ʑͳͷʹঢ়ଶΛ࣋ͭ͜ͱ͕Ͱ͖ΔϑϩʔΤϯδϯ?ʢΑ͘ ͔ͬͯͳ͍)ͷྑ͍׆༻͕Ͱ͖ͳ͔ͬͨ ௨৴ॲཧฒߦॲཧͷ࣮ܦݧ͕ͳ͍ϝϯόʔ͕ଟ͘։ൃͨ͠ ͷ͕࣮༻ʹ͑ͳ͔ͬͨ
৽Τϯδϯͷڭ܇ ։ൃϓϩηεΛಋೖͯ͠ɺཁ݅ఆ֤ٛઃܭͷঝೝϑΣʔ ζ͕͋ͬͨ΄͏͕ྑ͍ ඞཁͳ։ൃٕज़͕ͳ͍߹ʹɺແཧͤͣಘҙͳΤϯδχ ΞΛݺΜͩํ͕ྑ͍
৽εέδϡʔϥʔͷࣦഊ ྡͷνʔϜɺ4ਓͰ1ؒɺΥʔλʔϑΥʔϧ ࣦഊ༰ ͓٬༷͕͍ͳ͍தɺ։ൃΛ։͕࢝ͨ͠ɺޙϦϦʔε͞Εͳ͍࣌ظ͕͔ͬͨ ແཧ͓ͯ͠٬༷ʹಋೖͯ͠Β͕ͬͨɺཁ͕݅ѱ͍͘ʹͳΒͳ͔ͬͨ ٢ଜͷݪҼ༧ଌ ۩ମతͳ͓٬༷ͳ͠Ͱͷ։ൃ͍͠ ͓٬༷ʹຏ͔ΕΔͷ͕͗͢Δͱཁ͕݅ѱ͘ͳΔՄೳੑ͕͋Δ
৽εέδϡʔϥʔͷڭ܇ ۩ମతͳ͓٬༷Ϣʔβʔ͕ܾ·͔ͬͯΒ։ൃΛ͖͢ ͓٬༷ʹͬͯຏ͍ͯΒΘͳ͍ͱٻΊΒΕΔػೳͱ࣮ࡍ ͷػೳͱͷဃ͕େ͖͘ͳΔ
աڈͷϓϩδΣΫτશͯΛ௨ͯ͡ ࣦഊޙͲ͏͍͏෩ʹͳ͔ͬͨ ϓϩδΣΫτ͕ࣦഊͨ࣌͠ʹͦͦ͜͜ਓ͕ࣙΊͨ ઃܭࢧԉγεςϜ 7ਓத2ਓୀ৬ɺ৽Τϯδϯ ̑ਓத2ਓୀ৬ɺ ৽εέδϡʔϥʔ ̐ਓத1໊ୀ৬ ΈΜͳ্࢘(ࣗ)৫ʹର͢ΔఘΊɺౖΓɺ͠ΈͷۀՐʹ ম͔Εͳ͕ΒࣙΊ͍ͯͬͨ
ͦͷ݁Ռɺ͍݄Λ͔͚ͯஷΊͨ։ൃٕज़طଘυϝΠϯࣝ ͕ࣦΘΕͨ
·ͱΊ ҎԼํ͕ͳ͍͜ͱͰ͋Δ ϓϩδΣΫτࣦഊ͢ΔՄೳੑ͕͋Δ ࣦഊ͢Δͱࣤᄖड͚Δ͠ϞνϕʔγϣϯԼ͔Βͷୀ৬ʹ ܨ͕Γ͍͢ ϓϩδΣΫτͷࣦഊ͕͋Ζ͏͕ͳ͔Ζ͏͕ɺਓྲྀಈతͳͷͰ Γৗʹ։ൃٕज़ɺυϝΠϯࣝͷҠసΛ͍͖ͯ͠ͳ͕Β։ ൃͨ͠΄͏͕ྑ͍
۩ମతରࡦͱͯ͠ ։ൃٕज़ͱυϝΠϯࣝΛ৫ͷͷʹ͢Δํ๏ 1.νʔϜݟੵΓ 2.υΩϡϝϯςʔγϣϯ 3.ϖΞϓϩ 4.։ൃٕज़ͱυϝΠϯࣝͷษڧձ ͜ΕΒ͕ॱ൪ʹඅ༻ରޮՌͱͯ͠ߴ͍ͷͰͳ͍͔ͱࢥͬͯ ͍·͢ɻ
ͦΕͰୀ৬ΛԼ͍͛ͨ ༗څऔಘͷऔΓ͍͢งғؾΛ࡞Δ ࣌ؒ࿑ಇ(ۀ)Λ͠ͳ͍ಇ͖ํΛਪ͠ਐΊΔ Ϧʔμʔ͕Ҏ্Λઌ࣮ͯ͠ߦ͠ɺΓ͘ΓΛ͢Δ ͨͬͨͦΕ͚ͩͰ͔ͳΓ༗ޮʹޮ͖·͢ɻ աڈ2ؒͰ37໊ͷνʔϜͰୀ৬ऀθϩΛ࣮ݱͰ͖·ͨ͠ɻ
ࣦഊʹؔΘΔ͓͢͢Ίͷຊ σεϚʔν γεςϜোͳͥೋى͖͔ͨ
Ҏ্ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠