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
54
失敗の話
過去自分が前職で経験したソフトウェア開発に関する失敗の話です。
とある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
200
チームの目標への柔軟な対応
sifue
0
75
並行処理初心者のためのAkka入門
sifue
0
11
2013年末カウントダウン番組におけるAkamai活用事例
sifue
0
62
ソフトウェア設計のすすめ
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
【Findy】「正しく」失敗できる チームの作り方 〜リアルな事例から紐解く失敗を恐れない組織とは〜 / A team that can fail correctly by findy
i35_267
5
860
システム・ML活用を広げるdbtのデータモデリング / Expanding System & ML Use with dbt Modeling
i125
1
320
EDRの検知の仕組みと検知回避について
chayakonanaika
11
4.8k
設計を積み重ねてシステムを刷新する
sansantech
PRO
0
160
Change Managerを活用して本番環境へのセキュアなGUIアクセスを統制する / Control Secure GUI Access to the Production Environment with Change Manager
yuj1osm
0
100
Perlの生きのこり - エンジニアがこの先生きのこるためのカンファレンス2025
kfly8
2
270
Pwned Labsのすゝめ
ken5scal
1
400
Oracle Database Technology Night #87-1 : Exadata Database Service on Exascale Infrastructure(ExaDB-XS)サービス詳細
oracle4engineer
PRO
1
170
Share my, our lessons from the road to re:Invent
naospon
0
140
AIエージェント元年
shukob
0
160
開発組織を進化させる!AWSで実践するチームトポロジー
iwamot
1
340
Ruby on Railsで持続可能な開発を行うために取り組んでいること
am1157154
3
140
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Rails Girls Zürich Keynote
gr2m
94
13k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
Scaling GitHub
holman
459
140k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
The World Runs on Bad Software
bkeepers
PRO
67
11k
The Cost Of JavaScript in 2023
addyosmani
47
7.4k
Optimizing for Happiness
mojombo
376
70k
A better future with KSS
kneath
238
17k
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໊ͷνʔϜͰୀ৬ऀθϩΛ࣮ݱͰ͖·ͨ͠ɻ
ࣦഊʹؔΘΔ͓͢͢Ίͷຊ σεϚʔν γεςϜোͳͥೋى͖͔ͨ
Ҏ্ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠