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
大多数のメンバーがコードを書けるチームにおけるエンジニアの役割 / pixiv TECH SALON
Search
TOYOTA Misaki
March 05, 2019
Technology
2
3.3k
大多数のメンバーがコードを書けるチームにおけるエンジニアの役割 / pixiv TECH SALON
TOYOTA Misaki
March 05, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
株式会社EventHub・エンジニア採用資料
eventhub
0
4.3k
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
Larkご案内資料
customercloud
PRO
0
650
CZII - CryoET Object Identification 参加振り返り・解法共有
tattaka
0
380
君も受託系GISエンジニアにならないか
sudataka
2
440
Moved to https://speakerdeck.com/toshihue/presales-engineer-career-bridging-tech-biz-ja
toshihue
2
750
表現を育てる
kiyou77
1
220
Oracle Cloud Infrastructure:2025年2月度サービス・アップデート
oracle4engineer
PRO
1
220
あれは良かった、あれは苦労したB2B2C型SaaSの新規開発におけるCloud Spanner
hirohito1108
2
630
TAMとre:Capセキュリティ編 〜拡張脅威検出デモを添えて〜
fujiihda
2
250
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
150
ハッキングの世界に迫る~攻撃者の思考で考えるセキュリティ~
nomizone
13
5.2k
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
172
14k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Practical Orchestrator
shlominoach
186
10k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Building Your Own Lightsaber
phodgson
104
6.2k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Documentation Writing (for coders)
carmenintech
67
4.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
How GitHub (no longer) Works
holman
314
140k
Transcript
େଟͷϝϯόʔ͕ ίʔυΛॻ͚ΔνʔϜʹ͓͚Δ ΤϯδχΞͷׂ pixiv.inc misakit
• ๛ా ඒ࡙ (Misaki TOYOTA) • 20164݄ೖࣾ • BOOTH νʔϜͷ
Rails ΤϯδχΞ ࣗݾհ
''࡞׆ಈ͕ΑΓָ͘͠ͳΔ'' γϣοϓ࡞αʔϏε
େଟͷϝϯόʔ͕ίʔυΛॻ͚Δ BOOTHνʔϜͰͷΤϯδχΞͷׂ ࠓ͢͜ͱ
ͷνʔϜߏ ίϛϡχςΟʔϚωʔδϟʔ σΟϨΫλʔ ϓϩμΫτ Ϛωʔδϟʔ αʔόʔ ΞϓϦΤϯδχΞ σβΠφʔ WebϑϩϯτΤϯδχΞ
PR͕Ϛʔδ͞Εͨ͜ͱ͕͋Δਓ ίϛϡχςΟʔϚωʔδϟʔ σΟϨΫλʔ ϓϩμΫτ Ϛωʔδϟʔ αʔόʔ ΞϓϦΤϯδχΞ σβΠφʔ WebϑϩϯτΤϯδχΞ
IssueΛཱͯͨ͜ͱ͕͋Δਓ ίϛϡχςΟʔϚωʔδϟʔ σΟϨΫλʔ ϓϩμΫτ Ϛωʔδϟʔ αʔόʔ ΞϓϦΤϯδχΞ σβΠφʔ WebϑϩϯτΤϯδχΞ
Ϣʔβʔ Ϗδωε৬ ٕज़৬ ίʔυ
BOOTH νʔϜͷಛ Ϣʔβʔ Ϗδωε৬ ٕज़৬ ίʔυ
• ΤϯδχΞ͍߹ΘͤΛݟΔ ‣ ฦ৴ͷ͖ͨͨΛ࡞ͬͨΓ • ෆਖ਼ͳจ͕ͳ͍͔νΣοΫ ‣ ΤϯδχΞ͔ͩΒؾ͚ͮΔෆਖ਼ײ BOOTH νʔϜͷಛ
• ͍߹ΘͤΛݟͨ CM ͕จݴमਖ਼ͷ PR / issueΛ࡞Δ • σΟϨΫλʔ͕ SEO
ͷͨΊͷจݴௐ PR / issue Λ࡞Δ BOOTH νʔϜͷಛ
σΟϨΫλʔ͕LPΛؙʑ࡞ͬͯ͘Δ
• ΤϯδχΞ͕ PR ࡞͔Βຊ൪ڥͷσϓϩΠ·ͰΛαϙʔτ͢ΔจԽ ‣ ਓ͔Βر͕͋ͬͨΒɺ࠷ݶͷ git ͷ͍ํɾPRͷ࡞ΓํΛڭ͑Δ ‣ Ή͔͍ͣ͠ͱ͜Ζॿ͚Δ
- ։ൃڥΛ࡞Δ - git rebase - ίϯϑϦΫτղফ ‣ جຊతʹ࠷ޙ·ͰͬͯΒ͏ νʔϜ͕ৢ͞Εͨഎܠ
• ΤϯδχΞ͕ؾ͚ͮͳ͍վળ͕Ϗδωε৬ଆ͚ͩͰճͤΔ ‣ LP੍࡞ ‣ ͍߹Θ͕ͤଟ͍ϖʔδͷදࣔΛվળ͢Δ ‣ Ϣʔβʔ͕ΜͰ͍Δػೳͷ։ൃ • ίϛϡχέʔγϣϯͷίετ͕ݮΔ
ྑ͍͜ͱ
• GitHub IssueΛஸೡʹॻ͍ͯΒ͑Δ ‣ ٕज़తͳՄ൱Λਪଌͯ͠ఏҊͯ͠Β͑Δ ‣ ߟྀ͖͢ύλʔϯΛͯ͢ྻڍͯ͠ఏҊͯ͠Β͑Δ ྑ͍͜ͱ
• ඇޮͳ࣮ํͰIssuePR ͕ඈΜͰ͘Δ ‣ ྫɿJS͔͔͠Βͳ͍ͷͰશ෦JSͰղܾͯ͘͠Δ • ເΛ٧ΊࠐΜͩϏοάͳIssuePR ͕ඈΜͰ͘Δ ‣ ྫɿϖʔδͷϨΠΞτΛΨϥοͱมߋ
ͪΐͬͱࠔΔ໘
ͪΐͬͱࠔΔ໘ ίʔυαʔϏεͷ࣭͕Լ͍͢͠ • ඇޮͳ࣮ํͰIssuePR ͕ඈΜͰ͘Δ ‣ ྫɿJS͔͔͠Βͳ͍ͷͰશ෦JSͰղܾͯ͘͠Δ • ເΛ٧ΊࠐΜͩϏοάͳIssuePR ͕ඈΜͰ͘Δ
‣ ྫɿϖʔδͷϨΠΞτΛΨϥοͱมߋ
ίʔυαʔϏεͷ࣭͕Լ͍͢͠ ͜ΕΛ͙ͷ͕ΤϯδχΞͷׂ
࣮ࡍʹؾΛ͚͍ͭͯΔ͜ͱ ຊ࣭తͳ՝Λฉ͖ग़͢ 1 খ͘͞ग़͢Α͏ʹ͢Δ 2
ຊ࣭తͳ՝Λฉ͖ग़͢ 1 খ͘͞ग़͢Α͏ʹ͢Δ 2 ࣮ࡍʹؾΛ͚͍ͭͯΔ͜ͱ
• ʮղܾҊʯ͚͕ͩ͑ΒΕΔ͜ͱ͕͋Δ • ຊʹΓ͍ͨ͜ͱ͕ཪʹӅΕ͍ͯΔ ຊ࣭తͳ՝Λฉ͖ग़͢
ຊ࣭తͳ՝Λฉ͖ग़͢ ൃૹεςʔλεΛՃ͍ͯͩ͘͠͞ʂ ͑ͬ ίϛϡχςΟʔ Ϛωʔδϟʔ ΤϯδχΞ
ຊ࣭తͳ՝Λฉ͖ग़͢ ൃૹεςʔλε • ͓·ͱΊத • ४උத • ग़ՙͪ • ൃૹ࡞ۀத
• ग़ՙࡁΈ • Ωϟϯηϧ
ຊ࣭తͳ՝Λฉ͖ग़͢ ൃૹεςʔλε • ͓·ͱΊத • ४උத • ग़ՙͪ • ൃૹ࡞ۀத
• ग़ՙࡁΈ • Ωϟϯηϧ • ೖՙ։࢝த [NEW!]
ຊ࣭తͳ՝Λฉ͖ग़͢ ൃૹεςʔλε • ͓·ͱΊத • ४උத • ग़ՙͪ • ൃૹ࡞ۀத
• ग़ՙࡁΈ • Ωϟϯηϧ • ೖՙ։࢝த [NEW!] • ঢ়ଶΛ૿ͨ͘͠ͳ͍ • දࣔͷϩδοΫ͕૿͑Δ • Өڹൣғ͕େ͖͍ • ϏδωεϩδοΫ্ͷෆ߹ ॏ͍…
ຊ࣭తͳ՝Λฉ͖ग़͢ ൃૹεςʔλεΛՃ͍ͯͩ͘͠͞ʂ ͑ͬ Ͳ͏ͯ͠৽͍͠εςʔλε͕͍ΔΜͰ͔͢ʁ ίϛϡχςΟʔ Ϛωʔδϟʔ ΤϯδχΞ
࣮…… • "४උத"͔Β"ग़ՙͪ"ʹมԽ͢Δ·Ͱͷظ͕͓͍ؒ͘߹Θ͕ͤଟ • ͜ͷظؒBOOTHʹ͍߹ΘͤΛΒͬͯͰ͖Δ͜ͱ͕ͳ͍ • γϣοϓΦʔφʔ͞Μʹ͍߹Θͤͯ΄͍͠ • ͳͷͰதؒతͳεςʔλε૿͢ҊΛఏҊ ͳΔ΄ͲͶ
࣮…… • "४උத"͔Β"ग़ՙͪ"ʹมԽ͢Δ·Ͱͷظ͕͓͍ؒ͘߹Θ͕ͤଟ • ͜ͷظؒBOOTHʹ͍߹ΘͤΛΒͬͯͰ͖Δ͜ͱ͕ͳ͍ • γϣοϓΦʔφʔ͞Μʹ͍߹Θͤͯ΄͍͠ • ͳͷͰதؒతͳεςʔλε૿͢ҊΛఏҊ ͳΔ΄ͲͶ
• 20ߦఔͷมߋͰࡁΜͩ ղܾࡦ
• νʔϜશһ͕༷ʑͳղܾࡦΛఏҊͯ͘͠ΕΔ • ͨ·ʹΤϯδχΞϦϯάతʹඇޮͳղܾࡦ͕ඈΜͰ͘Δ…… • ͕͜͜ΤϯδχΞͷͷݟͤॴ • ΤϯδχΞ͕୲อ͢ΔͷαʔϏεɾίʔυͷ্࣭ • ຊ࣭తͳ՝ΛώΞϦϯάͯ͠ɺҰॹʹ࠷ળࡦΛ୳Δ
ຊ࣭తͳ՝Λฉ͖ग़͢
খ͘͞ग़͢Α͏ʹ͢Δ 2 ຊ࣭తͳ՝Λฉ͖ग़͢ 1 ࣮ࡍʹؾΛ͚͍ͭͯΔ͜ͱ
• ৽ػೳվળΛ࠷খ୯ҐͰϦϦʔε͍ͯ͘͠ • ߴʹԾઆݕূ͕ճͤΔ • ΤϯόάखΓ͕ൃੜ͠ʹ͍͘ • খ͍͞มߋΛଓ͚ͯɺϢʔβʔʹՁΛఏڙ͠ଓ͚Δ͜ͱ͕େ খ͘͞ग़͢ͱ
খ͘͞ग़ࣦ͢ഊྫ จݴΛมߋ͠·ͨ͠ʂ
খ͘͞ग़ࣦ͢ഊྫ ͍ͭͰʹɺϨΠΞτΛมߋ͠·ͨ͠ จݴΛมߋ͠·ͨ͠ʂ
খ͘͞ग़ࣦ͢ഊྫ ͍ͭͰʹɺϨΠΞτΛมߋ͠·ͨ͠ ͍ͭͰʹɺϦϑΝΫλϦϯά͠·ͨ͠ จݴΛมߋ͠·ͨ͠ʂ
খ͘͞ग़ࣦ͢ഊྫ จݴΛมߋ͠·ͨ͠ʂ จݴมߋ͚ͩͳΒ͙͢ϦϦʔεͰ͖ͨͷʹ…… ͍ͭͰʹɺϨΠΞτΛมߋ͠·ͨ͠ ͍ͭͰʹɺϦϑΝΫλϦϯά͠·ͨ͠
• ʮ͍ͭͰʹʯͰ1ͭͷIssue/PRʹ͋Ε͜ΕΓࠐΜͰ͠·͏ • ϢʔβʔʹՁ͕ಧ͘·Ͱʹ͕͔͔࣌ؒΔ • Τϯόά͍͢͠ • खΓ͕ൃੜ͍͢͠ ʮ͍ͭͰʹʯͷঈ
• ͯ͢ͷʮ͍ͭͰʹʯΛੜ·ΕΔલʹࢭΊΔ • ͷࡉԽɾ࠷খԽɾίετͳରԠํ๏Λܒ ‣ ʮ͜ͷIssueจݴมߋ͚ͩઌʹग़ͤ·͢Αʯ ‣ ʮ͜ͷมߋҰ෦ը໘͚ͩͰࢼͯ͠Έ·ͤΜ͔ʁʯ ΤϯδχΞͷׂ
• IssueʮαʔϏεAͷϩΰͱҙจϖʔδͷϦϯΫΛมߋ͍ͯͩ͘͠͞ʯ ྑ͍ύλʔϯ
• IssueʮαʔϏεAͷϩΰͱҙจϖʔδͷϦϯΫΛมߋ͍ͯͩ͘͠͞ʯ ྑ͍ύλʔϯ ઌʹϚʔδͰ͖ͨ
• νʔϜϝϯόʔʹʮখ͘͞ग़͢ʯ͕ਁಁ࢝͠Ίͨ • ϨϏϡʔָ͕ʹͳͬͨ • ϦϦʔε্͕ͨ͠ • ϢʔβʔʹՁΛߴͰಧ͚ΒΕΔΑ͏ʹͳͬͨ ܒΛଓ͚ͨ݁Ռ
• νʔϜશһ͕PRΛ࡞ͬͨΓɺIssueͰٞͯ͠ղܾΛ͍ͯ͠Δ • ΤϯδχΞ͕ؾ͚ͮͳ͍՝ʹؾ͍ͮͯΒ͑ͯͱͯॿ͔Δ • ΤϯδχΞίʔυαʔϏεͷ࣭ΛकΔ • ࣭ΛकΔͨΊʹʮຊ࣭తͳ՝Λฉ͍ͯʯͦΕΛʮখ͘͞ग़͢ʯ ·ͱΊ