D-Day โ ๋ด์ผ 15๋ถ์ ์ ์ฒด ์ง๋
์ธ์ฐ์ง ๋ง๋ผ. ๊ฐ ์นธ์ ๋จธ๋ฆฟ์ ํ๋ฆ(ํ๊ตญ์ด) โ ์ ๋ฐ(์งง์ ์์ด)๋ค. ํ๋ฆ์ ์ดํดํ๋ฉด ๋จ์ด๊ฐ ํ๋ ค๋ ์ ๋ฌด๋์ง๋ค. ์์์๋ถํฐ ํ ์นธ์ฉ: ํ๋ฆ ์ฝ๊ณ โ ๋ง์ดํฌ๋ก ๋งํ๊ณ โ ๋ค์.
์ฒ์ 5๋ถ์ ๋น ๋ฅด๊ฒ ๋ ์์ค๋ ๋น๊ธฐ์ ์ง๋ฌธ. ๋ค #1 ์ฝ์ (๋น ๋ฅธ ๋ง์ freeze)์ด ์ ํํ ์ฌ๊ธฐ์ ํฐ์ง๋ค. [๋๊ดํธ]๋ ๋ค ์ค์ ์ซ์/์ํ๋ก ์ฑ์์ ์ ์ ๋ถ์ฌ๋ผ โ ๋ด๊ฐ ์ง์ด๋ด์ง ์์๋ค. ๊ฑฐ์ง๋ง ๊ธ์ง, ์งง๊ฒ, ๋์ ๋๋ฌป๊ธฐ.
What are your salary expectations?
์ฐ๋ด ์ผ๋ง ์๊ฐํ์ธ์? (์ ์ผ ํํ freeze ์ง์ โ ์ซ์ ๋จผ์ ๋์ง์ง ๋ง ๊ฒ)
๐ง ํ๋ฆ: ์ ์ฐํ๋ค + ํ ์ฐ์ โ ์์ฅ ๊ธฐ์ค ๋ฒ์ โ ๊ทธ์ชฝ ์์ฐ ๋ฒ์ ๋๋ฌป๊ธฐ. ๊ตฌ์ฒด ์ซ์ ๋จผ์ ๋ถ๋ฅด๋ฉด ์ง๋ค.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์I'm flexible โ I care most about the right fit.โ ์ ๋ ์ ์ฐํฉ๋๋ค โ ํ์ด ๊ฐ์ฅ ์ค์ํด์Based on the role and the market, I'm looking in the range of [your range].โ ์ญํ ๊ณผ ์์ฅ์ ๋ณด๋ฉด [๋ฒ์] ์ ๋ ์๊ฐํฉ๋๋คWhat range do you have budgeted for this role?โ ์ด ์ญํ ์ ์ฑ ์ ๋ ๋ฒ์๋ ์ด๋ ์ ๋์ธ๊ฐ์?๐ก [your range]๋ฅผ ๋ค ์ค์ ๋ชฉํ๋ก ๋ฐ๊ฟ์ '์ฐ๋ด' ๋จ์ด ์ ๋ค๋ ค๋ ์ด ๋ฌธ์ฅ์ด ์๋์ผ๋ก ๋์ค๊ฒ. ๋ง์ง๋ง ๋๋ฌป๊ธฐ๊ฐ ํต์ฌ โ ๊ณต์ ๋๊ธด๋ค.
๐ฃ ํต์ฌ ํ ์คโI'm flexible โ I care most about the right fit. Based on the role and the market, I'm looking in the range of [your range]. What range do you have budgeted for this role?โ
checking microphoneโฆ
Are you authorized to work in the US? / What's your work status?
๋ฏธ๊ตญ ์ทจ์ ์๊ฒฉ ์์ด์? (์ ๋ ๊ฑฐ์ง๋ง ๊ธ์ง โ ์์ง + ์ต์ ์ ์)
๐ง ํ๋ฆ: ํ์ฌ ์ํ ์์งํ โ ์ต์ (US ์คํฐ์์ญ / remote-from-Canada) ์ด์ด๋๊ธฐ โ ์ธ๋ถ๋ ๊ธฐ๊บผ์ด.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Right now I'm in Toronto on a [working holiday] visa.โ ์ง๊ธ์ ํ ๋ก ํ ์์ [์ํนํ๋ฆฌ๋ฐ์ด] ๋น์๋ก ์์ต๋๋คFor a US role I'd likely need sponsorship,โ ๋ฏธ๊ตญ ์ญํ ์ด๋ฉด ์คํฐ์์ญ์ด ํ์ํ ๊ฒ๋๋คand I'm also open to working remotely from Canada โโ ์บ๋๋ค์์ ์๊ฒฉ ๊ทผ๋ฌด๋ ์ด๋ ค ์์ต๋๋คwhatever works best for the team.โ ํ์ ๊ฐ์ฅ ๋ง๋ ์ชฝ์ผ๋ก์๐ก [working holiday]์ sponsorship ํ์ ์ฌ๋ถ๋ฅผ ๋ค ์ค์ ์ํ๋ก ํ์ ํด์ ํ ๋ฒ์ ๋งํด๋ผ. ๋๋ฌ์ผ๋ฉด ์์ฌ ์ฐ๋ค โ ์ด๊ฑด ์ธ์๋๋ ๊ฒ ๋ง๋ค.
๐ฃ ํต์ฌ ํ ์คโRight now I'm in Toronto on a [working holiday] visa. For a US role I'd likely need sponsorship, and I'm also open to working remotely from Canada โ whatever works best for the team. Happy to go through the details.โ
checking microphoneโฆ
When could you start?
์ธ์ ์์ ๊ฐ๋ฅํด์?
๐ง ํ๋ฆ: ๊ตฌ์ฒด ๊ธฐ๊ฐ + ๊น๋ํ๊ฒ ๋ง๋ฌด๋ฆฌํ๊ณ ๊ฐ๊ฒ ๋ค(=์ค๋์ญ ์ ํธ).
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์I could start within [2 to 4 weeks].โ [2~4์ฃผ] ์์ ์์ํ ์ ์์ต๋๋คI'd want to wrap up my current commitments cleanly โโ ์ง๊ธ ๋งก์ ๊ฑธ ๊น๋ํ ๋ง๋ฌด๋ฆฌํ๊ณ ์ถ์ด์that's how I'd want to leave any team.โ ์ด๋ ํ์ ๋ ๋๋ ๊ทธ๋ ๊ฒ ํ๊ณ ์ถ๊ฑฐ๋ ์๐ก ๋ง์ง๋ง ์ค์ด ์์ ์ค๋์ญ ์ ์๋ค. ๊ธฐ๊ฐ์ ๋ค ์ค์ ๊ฐ๋ฅ์ผ๋ก.
๐ฃ ํต์ฌ ํ ์คโI could start within [2 to 4 weeks]. I'd want to wrap up my current commitments cleanly โ that's how I'd want to leave any team.โ
checking microphoneโฆ
Why are you looking to leave? / Why Opendoor?
์ ์ฎ๊ธฐ๋ ค ํด์? / ์ Opendoor? (ํ์ฌ ์ ๊ธ์ง โ ์์ผ๋ก ํฅํ๊ธฐ)
๐ง ํ๋ฆ: ๊ณต์ฅ ์์คํ ๊น์ด ํ๋ค โ '๋ฐ์ดํฐ๊ฐ ํ๋ฆฌ๋ฉด ์ ๋๋' ๊ณณ์์ ๊ณ์ํ๊ณ ์ถ๋ค โ ์ค๋ฌผ์์ฐ+AI = Opendoor.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์I've gone deep on factory systems where the data has to be exactly right.โ ๋ฐ์ดํฐ๊ฐ ์ ํํด์ผ๋ง ํ๋ ๊ณต์ฅ ์์คํ ์ ๊น๊ฒ ํด์์ต๋๋คI want to keep working on that โ real assets, real money โโ ๊ทธ๊ฑธ ๊ณ์ํ๊ณ ์ถ์ด์ โ ์ค๋ฌผ ์์ฐ, ์ค์ ๋and I'm all-in on building with AI.โ ๊ทธ๋ฆฌ๊ณ AI๋ก ๋ง๋๋ ๋ฐ ์ง์ฌ์ ๋๋คOpendoor is exactly that direction.โ Opendoor๊ฐ ๋ฑ ๊ทธ ๋ฐฉํฅ์ ๋๋ค๐ก ํ์ฌ ํ์ฌ ๋จ์ ํ ๋ง๋๋ ๊บผ๋ด์ง ๋ง๋ผ. ์ ๋ถ '์์ผ๋ก ๋ญ ํ๊ณ ์ถ๋ค'๋ก.
๐ฃ ํต์ฌ ํ ์คโI've gone deep on factory systems where the data has to be exactly right. I want to keep working on that โ real assets, real money โ and I'm all-in on building with AI. Opendoor is exactly that direction.โ
checking microphoneโฆ
You're in Toronto โ how does that work with the team's hours?
ํ ๋ก ํ ๋ฉด ํ ์๊ฐ์ด๋ ์ด๋ป๊ฒ ๋ง์ถฐ์?
๐ง ํ๋ฆ: ๋๋ถ์๊ฐ์ด๋ผ US์ ์ข ์ผ ๊ฒน์นจ + ์ด๋ฏธ ์๊ฒฉ์ผ๋ก ๋ค๊ตญ๊ฐ ์์คํ ๋๋ ค๋ด(๊ฒ์ฆ๋ ์ฌ์ค).
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์I'm in Toronto on Eastern time, so I overlap with US hours all day.โ ํ ๋ก ํ ๋๋ถ์๊ฐ์ด๋ผ ๋ฏธ๊ตญ ์ ๋ฌด์๊ฐ๊ณผ ์ข ์ผ ๊ฒน์นฉ๋๋คRemote is already how I work โโ ์๊ฒฉ์ ์ด๋ฏธ ์ ์ผํ๋ ๋ฐฉ์์ด๊ณ ์I've kept my own systems running across Korea, China, Hungary, and the US.โ ํ๊ตญยท์ค๊ตญยทํ๊ฐ๋ฆฌยท๋ฏธ๊ตญ์ ๊ฑธ์ณ ์ ์์คํ ์ ์ด์ํด์์ต๋๋ค๐ก ๋ค๊ตญ๊ฐ ์ด์์ ๊ฒ์ฆ๋ ๋ค ์ง์ง ๊ฒฝํ์ด๋ค โ ํ์์กด ์ง๋ฌธ์ ๊ฐ์ ์ผ๋ก ๋๋ฐ์๋ผ.
๐ฃ ํต์ฌ ํ ์คโI'm in Toronto on Eastern time, so I overlap with US hours all day. Remote is already how I work โ I've kept my own systems running across Korea, China, Hungary, and the US.โ
checking microphoneโฆ
(๋น ๋ฅธ ์ง๋ฌธ์ ๋ชป ์์๋ค์์ ๋ โ SOS)
โ freeze ๋ฐฉ์ง์ฉ. ๋ชป ๋ค์ผ๋ฉด ์ผ์ง ๋ง๊ณ ์ด ํ ์ค๋ก ์๊ฐ ๋ฒ๊ธฐ.
๐ง ํ๋ฆ: ์ฌ๊ณผ ๊ธธ๊ฒ X. ํ ๋ฒ ๋, ์ฒ์ฒํ ์์ฒญ โ ๋๋ ๋ด๊ฐ ์ดํดํ ๊ฑธ ๋์ง๊ธฐ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Sorry โ could you say that one more time,โ ์ฃ์กํด์, ํ ๋ฒ๋ง ๋ ๋ง์ํด์ฃผ์ค๋์a little slower?โ ์กฐ๊ธ ์ฒ์ฒํ์?๐ก ์ด๊ฑธ ๋ฐ์ฌ๋ก ๋ง๋ค์ด๋ผ โ ์ผ๋ฉด ๋งํ์ง๋ง ๋๋ฌผ์ผ๋ฉด ์ฐ๋ค.
๐ฃ ํต์ฌ ํ ์คโSorry โ could you say that one more time, a little slower?โ
checking microphoneโฆ
90์ด. ์ธ์ฐ์ง ๋ง๊ณ ํ๋ฆ: ๊ณต์ฅSW 6๋ โ ํ ๊ฐ ๋จ์ ์ถ์ (์ง ๋น์ ) โ ๊ทธ๋์ Opendoor.
โ ํต์ง 60์ด ์๊ธฐ์๊ฐ โ ์ด ๋ฉด์ ๊ด์ฉ (์ค๋์ญ+์ซ์ ์ ์ง๋ฐฐ์น)
์ด๊ฑฐ ํ๋๊ฐ ์๊ธฐ์๊ฐ์ ์์ฑ๋ณธ. ํต์ผ๋ก ์ ์ ๋ถ์ฌ๋ผ. (๋ฐ์ ์กฐ๊ฐ๋ค์ ๋ถํ)
๐ง ํ๋ฆ: ๊ณต์ฅSW 6๋ โ ํ ๊ฐ ๋จ์ ์ถ์ (์ง์ฒ๋ผ) โ 8ํ๋ํธ ๋๊น์ง ์์ โ ์ซ์(12๊ฐ์ ๋ฌด์ฌ๊ณ ยท90%) โ AI ์ง์ฌ(๋ด ์ ํ ์ง์ ) โ ๊ทธ๋์ Opendoor.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์I've built factory software for six years โโ ์ ๋ 6๋ ๊ฐ ๊ณต์ฅ ์ํํธ์จ์ด๋ฅผ ๋ง๋ค์ด์์ต๋๋คtracking every unit like a house: one asset, one history.โ ์ ํ ํ ๊ฐ ํ ๊ฐ๋ฅผ ์ง์ฒ๋ผ ์ถ์ ํ์ฃ โ ์์ฐ ํ๋์ ์ด๋ ฅ ํ๋I owned my systems end to end, across eight plants in four countries โโ 4๊ฐ๊ตญ 8๊ฐ ๊ณต์ฅ์์ ์ ์์คํ ์ ์ฒ์๋ถํฐ ๋๊น์ง ์ฑ ์์ก์ต๋๋คtwelve months zero incidents, one fix cut our worst ticket category by ninety percent.โ 12๊ฐ์ ๋ฌด์ฌ๊ณ ์๊ณ , ์์ ํ๋๋ก ์ต์ ์ ํฐ์ผ ์นดํ ๊ณ ๋ฆฌ๋ฅผ 90% ์ค์์ต๋๋คAnd I'm all-in on AI โ I built my own AI product and use it daily.โ ๊ทธ๋ฆฌ๊ณ ์ ๋ AI์ ์ง์ฌ์ ๋๋ค โ ์ AI ์ ํ์ ์ง์ ๋ง๋ค์ด ๋งค์ผ ์๋๋คOpendoor is the same shape: real assets, real money, data that has to be right.โ Opendoor๋ ๊ฐ์ ๋ชจ์์ ๋๋ค โ ์ค๋ฌผ ์์ฐ, ์ค์ ๋, ํ๋ฆฌ๋ฉด ์ ๋๋ ๋ฐ์ดํฐ๐ก ์ซ์(SIX, EIGHT, TWELVE, NINETY)์ ๊ฐ์ธ๋ฅผ ์ฃผ๊ณ , ๋ง์ง๋ง 'Opendoor' ์์์ / ํ ๋ฐ์ ์ฌ๊ณ ๋ค์ด๊ฐ๋ผ โ ๊ฑฐ๊ธฐ๊ฐ ํ์น๋ผ์ธ์ด๋ค.
๐ฃ ํต์ฌ ํ ์คโI've built factory software for six years โ tracking every unit like a house: one asset, one history. I owned my systems end to end, across eight plants in four countries โ twelve months zero incidents, one fix cut our worst ticket category by ninety percent. And I'm all-in on AI โ I built my own AI product and use it daily. Opendoor is the same shape: real assets, real money, data that has to be right.โ
checking microphoneโฆ
Tell me a bit about yourself.
์๊ธฐ์๊ฐ ํด์ฃผ์ธ์. (์กฐ๊ฐ ๋ฒ์ )
๐ง ํ๋ฆ: ๋ = ๊ณต์ฅ ๋๋ฆฌ๋ ์ํํธ์จ์ด 6๋ . ํต์ฌ์ '์ ํ ํ ๊ฐ ํ ๊ฐ๋ฅผ ์ถ์ ํ๊ณ ๋ฐ์ดํฐ๊ฐ ํ๋ฆฌ๋ฉด ์ ๋๋' ์์คํ .
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์I've built factory software for about six years โโ ์ ๋ ์ฝ 6๋ ๊ฐ ๊ณต์ฅ ์ํํธ์จ์ด๋ฅผ ๋ง๋ค์ด์์ต๋๋คsystems that track every single unitโ ์ ํ ํ ๊ฐ ํ ๊ฐ๋ฅผ ์ถ์ ํ๋ ์์คํ ์ด์ฃand keep its data correct.โ ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ฐ์ดํฐ๊ฐ ํ๋ฆฌ์ง ์๊ฒ ์งํค๋ ์์คํ ์ ๋๋ค๐ก 'EVERY single unit'์ EVERY์ ๊ฐ์ธ / 'six years' ๋ค์์ ์ด์ง ์ฌ์ด๋ผ โ correct๋ '์ปค-๋ ํธ' ๋์งธ ์์ ๊ฐ์ธ.
๐ฃ ํต์ฌ ํ ์คโI've built factory software for about six years โ systems that track every single unit and keep its data correct.โ
checking microphoneโฆ
(์ด์ด์) What kind of products?
์ด๋ค ์ ํ๋ค?
๐ง ํ๋ฆ: ์๋์ฐจ ์ํธํ๋ ์ โ EV ๋ฐฐํฐ๋ฆฌ. ํ์ฌ๋ ๋๋ ์ ๋ณด โ SK AX.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์First automotive parts,โ ์ฒ์์ ์๋์ฐจ ๋ถํ์ด์๊ณthen EV batteries โโ ๊ทธ๋ค์์ EV ๋ฐฐํฐ๋ฆฌ์์ต๋๋คat Dure Info, and then SK AX until recently.โ ๋๋ ์ ๋ณด์์ ์์ํด์, ์ต๊ทผ๊น์ง๋ SK AX์์ ์ผํ์ต๋๋ค๐ก 'EV BATTERIES'์ ๊ฐ์ธ / 'parts' ๋ค์์ ์งง๊ฒ ๋๊ณ โ batteries๋ t๋ฅผ ์ฝํ๊ฒ '๋ฐฐ๋ฌ๋ฆฌ์ฆ'์ฒ๋ผ.
๐ฃ ํต์ฌ ํ ์คโFirst automotive parts, then EV batteries โ at Dure Info, and then SK AX until recently.โ
checking microphoneโฆ
(์ด์ด์, ํต์ฌ ๋ธ๋ฆฟ์ง) Why Opendoor then?
๊ทธ๋ฐ๋ฐ ์ Opendoor?
๐ง ํ๋ฆ: ๊ณต์ฅ์ ์ ํ ํ ๊ฐ = ์ง ํ ์ฑ. ์ํ ์๊ณ , ์ด๋ ฅ ์๊ณ , ๋จ๊ณ ๋ฐ๊ณ , ๋ ๊ฑธ๋ ค์๊ณ . ๋ชจ์์ด ๊ฐ๋ค.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์A home is like the units I tracked โโ ์ง์ ์ ๊ฐ ์ถ์ ํ๋ ์ ํ ํ ๊ฐ์ ๊ฐ์ต๋๋คone asset, one history, real money.โ ์์ฐ ํ๋, ์ด๋ ฅ ํ๋, ๊ทธ๋ฆฌ๊ณ ์ง์ง ๋์ด ๊ฑธ๋ ค์์ฃDifferent industry, same engineering shape.โ ์ฐ์ ์ ๋ค๋ฅด์ง๋ง ์์ง๋์ด๋ง ๋ชจ์์ ๊ฐ์ต๋๋ค๐ก 'SAME engineering shape'์ SAME์ ๊ฐ์ธ / 'real money' ๋ค์์ ํ ๋ฐ์ ์ฌ๊ณ ๋ง์ง๋ง ๋ฌธ์ฅ์ ๋์ ธ๋ผ.
๐ฃ ํต์ฌ ํ ์คโA home is like the units I tracked โ one asset, one history, real money. Different industry, same engineering shape.โ
checking microphoneโฆ
What is MES exactly?
MES๊ฐ ์ ํํ ๋ญ์์?
๐ง ํ๋ฆ: ์ฉ์ด ํ๊ธฐ: ๊ณต์ฅ ์คํ ์์คํ . ์์ ์๊ฐ ์ผ ๋๋ด๋ฉด ๊ธฐ๋กํ๊ณ , ๋ค์ ๋จ๊ณ ์๋ ค์ฃผ๊ณ , ๋ฐ์ดํฐ ๋ชจ์ผ๋ ๊ฒ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์It's the software running the factory floor โโ ๊ณต์ฅ ํ์ฅ์ ๋๋ฆฌ๋ ์ํํธ์จ์ด์ ๋๋คworkers record each step,โ ์์ ์๊ฐ ์์ ๋จ๊ณ๋ฅผ ํ๋ํ๋ ๊ธฐ๋กํ๋ฉดand it keeps every unit's state and history.โ ์์คํ ์ด ์ ํ๋ง๋ค์ ์ํ์ ์ด๋ ฅ์ ๊ด๋ฆฌํฉ๋๋ค๐ก 'factory FLOOR'์ ๊ฐ์ธ / 'state and history'๋ 'state-n-history'์ฒ๋ผ and๋ฅผ ๊ฑฐ์ ์ ๋ค๋ฆฌ๊ฒ ์ฐ๊ฒฐ.
๐ฃ ํต์ฌ ํ ์คโIt's the software running the factory floor โ workers record each step, and it keeps every unit's state and history.โ
checking microphoneโฆ
What did YOU do, versus your team?
ํ ๋ง๊ณ '๋ณธ์ธ'์ด ํ ๊ฒ ๋ญ์์?
๐ง ํ๋ฆ: ๋๋ ์คํ ๋ฐ๋ ์ฌ๋ ์๋์๋ค. ๋๋ฉ์ธ ์ง์ ํ๊ณ , ํ์ ์ด๋ ๋ถ๋ชํ๊ณ , ๋ง๋ค๊ณ , ๊ต์ก๊น์ง.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์I owned my domains end to end โโ ์ ๋ ์ ๋๋ฉ์ธ์ ์ฒ์๋ถํฐ ๋๊น์ง ์ฑ ์์ก์ต๋๋คunderstood the business myself,โ ๋น์ฆ๋์ค๋ฅผ ์ง์ ์ดํดํ๊ณbuilt it,โ ์ง์ ๋ง๋ค๊ณand trained the users.โ ์ฌ์ฉ์ ๊ต์ก๊น์ง ํ์ต๋๋คNot just coding specs.โ ์คํ๋๋ก ์ฝ๋ฉ๋ง ํ ๊ฒ ์๋๋๋ค๐ก 'OWNED'์ ๊ฐ์ธ / 'Not just coding specs'๋ ํ ๋ฐ์ ์ฌ๊ณ ๋จํธํ๊ฒ โ specs ๋์ 's' ์๋ฆฌ๋ฅผ ๋ถ๋ช ํ.
๐ฃ ํต์ฌ ํ ์คโI owned my domains end to end โ understood the business myself, built it, and trained the users. Not just coding specs.โ
checking microphoneโฆ
์ด๊ฒ 15๋ถ์ ์ฌ์ฅ. ๋นํธ 5๊ฐ ๋จผ์ , ๊ทธ ์๋๊ฐ ๊ฑ๋ค๊ฐ ํ๋ ์ง๋ฌธ๋ค.
Tell me about a problem you're proud of solving.
์๋ํ ๋งํ ๋ฌธ์ ํ๋ ๋งํด๋ณด์ธ์. (๋นํธ โ โก)
๐ง ํ๋ฆ: ์ธ๋ถ ์์คํ (ERP) ํธ์ถ์ด '์ฐ๋ฆฌ ํธ๋์ญ์ ์'์ ์์๋ค. ๊ทธ๊ฒ ๋ฌธ์ ์ ์จ์.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์My favorite one โโ ์ ์ผ ์๋ํ๊ณ ์ถ์ ๋ฌธ์ ๋์ โan external system callโ ์ธ๋ถ ์์คํ ํธ์ถ์ดwas sitting insideโ ๋กํ๋ ๋ค์ด๊ฐ ์์์ด์our own database transaction.โ ์ฐ๋ฆฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํธ๋์ญ์ ์์์๐ก 'favorite one' ๋ค์์ / ํ ๋ฐ์ ์ฌ๊ณ , INSIDE๋ฅผ ๊ฐ์ฅ ์ธ๊ฒ โ ๋ฌธ์ ์ ํต์ฌ์ด '์์ ์์๋ค'๋ ๊ฒ.
๐ฃ ํต์ฌ ํ ์คโMy favorite one โ an external system call was sitting inside our own database transaction.โ
checking microphoneโฆ
(๋นํธ โข) So what happened?
๊ทธ๋์ ๋ฌด์จ ์ผ์ด?
๐ง ํ๋ฆ: ๊ฑ๊ฐ ํ์์์๋๋ฉด โ ์ ๋ถ ๋กค๋ฐฑ โ ์ฐ๋ฆฌ ๊ธฐ๋ก๊น์ง ์ฆ๋ฐ. ํ์ฅ: ์ผ ๋๋จ. ์์คํ : ์๋ฌด๊ฒ๋ ์์. ๋ฏธ๊ตญ ์์ ์๋ค ์ ๊ณ .
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์When it timed out,โ ๊ทธ๊ฒ ํ์์์์ด ๋๋ฉดeverything rolled back โโ ์ ๋ถ ๋กค๋ฐฑ๋ผ ๋ฒ๋ ธ์ด์our record too.โ ์ฐ๋ฆฌ ๊ธฐ๋ก๊น์ง์The work was done,โ ํ์ฅ์์๋ ์ผ์ด ๋ค ๋๋ฌ๋๋ฐbut we had nothing saved.โ ์์คํ ์๋ ์๋ฌด๊ฒ๋ ์ ๋จ์ ๊ฑฐ์ฃUS operators kept reporting it.โ ๋ฏธ๊ตญ ์์ ์๋ค์ด ๊ณ์ ์ ๊ณ ํ์ด์๐ก NOTHING์ ๊ฐ์ฅ ์ธ๊ฒ ๊ฐ์กฐํ๊ณ , rolled back์ 'd' ๊ฑฐ์ ์ ๋ค๋ฆฌ๊ฒ 'roll-back'์ฒ๋ผ ์ฐ๊ฒฐ.
๐ฃ ํต์ฌ ํ ์คโWhen it timed out, everything rolled back โ our record too. The work was done, but we had nothing saved. US operators kept reporting it.โ
checking microphoneโฆ
(๋นํธ โฃ) How did you fix it?
์ด๋ป๊ฒ ๊ณ ์ณค์ด์?
๐ง ํ๋ฆ: ์ชผ๊ฐฐ๋ค. โ ์ฐ๋ฆฌ ์ ์ฅ + 'ํ ์ผ ํ ์ค'์ ๊ฐ์ ํธ๋์ญ์ ์ โ ๋ฌด์กฐ๊ฑด ๋จ์. โก์ธ๋ถ ํธ์ถ์ ์์ปค๊ฐ 1๋ถ๋ง๋ค ๋ฐ๋ก.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์I split it.โ ์ ๋ ๊ทธ๊ฑธ ๋๋ก ์ชผ๊ฐฐ์ด์We save our stateโ ์ฐ๋ฆฌ ์ํ๋ฅผ ์ ์ฅํ๋ฉด์plus a small to-do rowโ 'ํ ์ผ' ํ ์ค์ ๊ฐ์ดin one transaction โโ ๊ฐ์ ํธ๋์ญ์ ์ ๋ฃ์ด์then a worker drains those rows every minuteโ ๊ทธ๋ค์ ์์ปค๊ฐ 1๋ถ๋ง๋ค ๊ทธ ํ๋ค์ ๊บผ๋ด์and calls the external system.โ ์ธ๋ถ ์์คํ ์ ํธ์ถํ๋ ๊ฑฐ์ฃ๐ก SPLIT์ ๊ฐํ๊ฒ ์น๊ณ ๋ฐ๋ก / ๋ฉ์ถค โ ํด๋ฒ์ด ํ ๋จ์ด๋ก ์์ฝ๋๋ ์๊ฐ.
๐ฃ ํต์ฌ ํ ์คโI split it. We save our state plus a small to-do row in one transaction โ then a worker drains those rows every minute and calls the external system.โ
checking microphoneโฆ
(๋นํธ โค) What was the result?
๊ฒฐ๊ณผ๋?
๐ง ํ๋ฆ: ๊ทธ ์ ๊ณ ๊ฑฐ์ 0. ๊ทธ ์นดํ ๊ณ ๋ฆฌ ์ ์ฒด๋ก ์ฝ 90% ๊ฐ์. ์ถ์ฒ๋ ์ง๋ผ ํฐ์ผ ์ถ์ด.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Those specific ticketsโ ๊ทธ ํน์ ์ ๊ณ ๋ค์dropped to near zero โโ ๊ฑฐ์ 0์ผ๋ก ๋จ์ด์ก์ด์about ninety percent offโ ์ฝ 90%๊ฐ ์ค์๊ณ ์the whole category,โ ๊ทธ ์นดํ ๊ณ ๋ฆฌ ์ ์ฒด ๊ธฐ์ค์ผ๋ก์from our ticket trends.โ ํฐ์ผ ์ถ์ด๋ก ํ์ธํ ์์น์์๐ก ZERO๋ฅผ ๋๋ ทํ๊ฒ ๊ฐ์กฐ / ninety๋ NINE์ ๊ฐ์ธ โ 'nineteen'์ผ๋ก ๋ค๋ฆฌ์ง ์๊ฒ ์ฃผ์.
๐ฃ ํต์ฌ ํ ์คโThose specific tickets dropped to near zero โ about ninety percent off the whole category, from our ticket trends.โ
checking microphoneโฆ
Why was the external call inside your transaction in the first place?
์ ์ด์ ์ ์ธ๋ถ ํธ์ถ์ด ํธ๋์ญ์ ์์ ์์๋๋ฐ์?
๐ง ํ๋ฆ: ์ ์ง: '๋ ๋ค ๋๊ฑฐ๋ ๋ ๋ค ์ ๋๊ฑฐ๋'๊ฐ ๊น๋ํด ๋ณด์๋ ๊ฒ. ํจ์ ์ '๋ด๊ฐ ํต์ ๋ชป ํ๋ ์์คํ '์ด ๋ฌถ์ ์์ ์๋ ๊ฒ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์It looked clean โโ ์ฒ์์ ๊น๋ํด ๋ณด์์ด์all or nothing.โ '๋ ๋ค ๋๊ฑฐ๋ ๋ ๋ค ์ ๋๊ฑฐ๋'๋๊น์The trap wasโ ํจ์ ์์that one half of 'all'โ ๊ทธ '๋ ๋ค' ์ค ํ์ชฝ์ดwas a system we don't control.โ ์ฐ๋ฆฌ๊ฐ ํต์ ๋ชป ํ๋ ์์คํ ์ด์๋ค๋ ๊ฑฐ์์๐ก TRAP์ ๊ฐ์ฅ ์ธ๊ฒ / 'all or nothing'์ ํ ๋ฉ์ด๋ฆฌ๋ก ๋น ๋ฅด๊ฒ โ or๋ ์ฝํ๊ฒ 'all-er-nothing'์ฒ๋ผ.
๐ฃ ํต์ฌ ํ ์คโIt looked clean โ all or nothing. The trap was that one half of 'all' was a system we don't control.โ
checking microphoneโฆ
Now the external system lags by a minute. Was that okay?
๊ทธ๋ผ ์ธ๋ถ ์์คํ ์ด 1๋ถ ๋ฆ์์์. ๊ด์ฐฎ์์?
๐ง ํ๋ฆ: ๊ณต์ฅ ๊ธฐ๋ก์์ 1๋ถ์ ๋ฌธ์ ์ ๋จ. ์ง์ง ๊ฑฑ์ ์ '๋ ์ง'์๋ค โ ์ฒ๋ฆฌ ์์ ๋ง๊ณ ์ ์ฅ ์์ ์ ๋์ฅ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์A minute's delay was fine.โ 1๋ถ ์ง์ฐ์ ๋ฌธ์ ์์์ด์The real risk was the business date โโ ์ง์ง ์ํ์ ์ ๋ฌด ๋ ์ง์์ด์so I stamp it at save time,โ ๊ทธ๋์ ์ ์ฅ ์์ ์ ๋ ์ง๋ฅผ ์ฐ์ด์not when it's processed.โ ์ฒ๋ฆฌ๋๋ ์์ ์ด ์๋๋ผ์๐ก SAVE time๊ณผ PROCESSED๋ฅผ ๋๋น์์ผ ๋ ๋ค ๊ฐํ๊ฒ / 'real risk' ์์์ ํ ๋ฐ์ ์ฌ๊ธฐ.
๐ฃ ํต์ฌ ํ ์คโA minute's delay was fine. The real risk was the business date โ so I stamp it at save time, not when it's processed.โ
checking microphoneโฆ
What if your worker fails?
์์ปค๊ฐ ์คํจํ๋ฉด์?
๐ง ํ๋ฆ: ํ๋ง๋ค ์ํ: ๋๊ธฐ/์ฑ๊ณต/์คํจ. ์คํจ๋ ๋ค์ ์ฌ์ดํด ์ฌ์๋. ๊ธฐ๋ก ์์ฒด๋ ์ ๋ ์ ์ฌ๋ผ์ง.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Each row has a status โโ ํ๋ง๋ค ์ํ ๊ฐ์ด ์์ด์pending, success, failed.โ ๋๊ธฐ, ์ฑ๊ณต, ์คํจFailures retry on the next cycle,โ ์คํจํ ๊ฑด ๋ค์ ์ฌ์ดํด์ ์ฌ์๋๋๊ณ ์and our record is never lost.โ ์ฐ๋ฆฌ ๊ธฐ๋ก ์์ฒด๋ ์ ๋ ์ ์ฌ๋ผ์ ธ์๐ก NEVER๋ฅผ ๊ฐ์ฅ ์ธ๊ฒ โ ์ด ๋ฌธ์ฅ์ ํต์ฌ ๋ณด์ฆ. pendingยทsuccessยทfailed๋ ์ฌ์ด๋ง๋ค ์ด์ง ์ฌ๋ฉฐ ๋๋ฐ๋๋ฐ.
๐ฃ ํต์ฌ ํ ์คโEach row has a status โ pending, success, failed. Failures retry on the next cycle, and our record is never lost.โ
checking microphoneโฆ
Did you decide this alone? You changed how two systems talk.
๊ทธ๊ฑธ ํผ์ ๊ฒฐ์ ํ์ด์? ๋ ์์คํ ๊ณ์ฝ์ ๋ฐ๊พผ ๊ฑด๋ฐ.
๐ง ํ๋ฆ: ํผ์ ์๋. ERP ํ ๋งค๋์ ๋จผ์ ์ฐพ์๊ฐ์ 30๋ถ ์ค๋ช , ๋ด ๋งค๋์ ๋ ๊ด๊ณ์ ์ฐธ์กฐ. ํฉ์๋ฐ๊ณ ์งํ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์No โโ ์๋์I went to the ERP team's manager first,โ ERP ํ ๋งค๋์ ๋ฅผ ๋จผ์ ์ฐพ์๊ฐ์ด์walked him through it,โ ์ง์ ์ฐจ๊ทผ์ฐจ๊ทผ ์ค๋ช ํ๊ณ ์kept my manager in the loop.โ ์ ๋งค๋์ ํํ ๋ ๊ณ์ ๊ณต์ ํ์ด์Thirty minutes, and we agreed.โ 30๋ถ ๋ง์ ํฉ์๊ฐ ๋์ฃ๐ก ์ฒซ ๋จ์ด NO๋ฅผ ์งง๊ณ ๋ถ๋ช ํ๊ฒ ์น๊ณ / ํ ๋ฐ์ โ 'walked him through'๋ '์-ํ-์ฐ๋ฃจ'์ฒ๋ผ ์ฐ๊ฒฐ.
๐ฃ ํต์ฌ ํ ์คโNo โ I went to the ERP team's manager first, walked him through it, kept my manager in the loop. Thirty minutes, and we agreed.โ
checking microphoneโฆ
Looking back, what would you do differently?
๋์๋ณด๋ฉด ๋ญ ๋ค๋ฅด๊ฒ?
๐ง ํ๋ฆ: ์ฒ์๋ถํฐ ๋น๋๊ธฐ๋ก ๊ฐ์ด์ผ. ๋๊ธฐ์ ํ ๋ฐ ๊ฑธ์น 1์ฐจ ์์ ์ด ์ด์ค๊ฐํ๋ค.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์I'd go asynchronous from day one.โ ์ฒ์๋ถํฐ ๋น๋๊ธฐ๋ก ๊ฐ์ ๊ฑฐ์์My first fixโ ์ ์ฒซ ๋ฒ์งธ ์์ ์kept one foot in the synchronous world โโ ๋๊ธฐ ๋ฐฉ์์ ํ ๋ฐ์ ๊ฑธ์น๊ณ ์์๋๋ฐthat was the mistake.โ ๊ทธ๊ฒ ์ค์์์ด์๐ก asynchronous ๋ฐ์ ํจ์ : '์์ด-SIN-ํฌ๋ฌ๋์ค', SIN์ ๊ฐ์ธ / DAY ONE์ ๊ฐ์กฐ.
๐ฃ ํต์ฌ ํ ์คโI'd go asynchronous from day one. My first fix kept one foot in the synchronous world โ that was the mistake.โ
checking microphoneโฆ
How would you measure that 90%?
90%๋ ์ด๋ป๊ฒ ์ฐ ๊ฑฐ์์?
๐ง ํ๋ฆ: ์ง๋ผ์ ํด๋น ์๋ฌ ์นดํ ๊ณ ๋ฆฌ ์ถ์ด ์ ํ ๋น๊ต. ํน์ ์ด์๋ ๊ฑฐ์ 0, 90%๋ ์นดํ ๊ณ ๋ฆฌ ์ ์ฒด. ๋ถํ๋ฆฌ์ง ๋ง๊ธฐ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Ticket trends,โ ํฐ์ผ ์ถ์ด๋ก์before and after.โ ์ ํ๋ฅผ ๋น๊ตํ์ด์The specific issue went to near zero;โ ๊ทธ ํน์ ์ด์๋ ๊ฑฐ์ 0์ด ๋๊ณ ์the ninety percent is the whole category โโ 90%๋ ์นดํ ๊ณ ๋ฆฌ ์ ์ฒด ๊ธฐ์ค์ด์์roughly.โ ๋๋ต์ ์ธ ์์น๊ณ ์๐ก ๋ง์ง๋ง ROUGHLY๋ฅผ ๋ถ๋ช ํ๊ฒ โ ๋ถํ๋ฆฌ์ง ์๋๋ค๋ ์ ํธ. 'before and after'๋ 'before-n-after'๋ก ์ฐ๊ฒฐ.
๐ฃ ํต์ฌ ํ ์คโTicket trends, before and after. The specific issue went to near zero; the ninety percent is the whole category โ roughly.โ
checking microphoneโฆ
์ ๋ ์ ํ์ฌ ์ ๊ธ์ง. '๋ ๋๋' ๊ฒ ์๋๋ผ 'AI ์ค์ฌ์ผ๋ก ๊ฐ๋' ํ๋ ์.
Why are you leaving? Why now?
์ ๋ ๋์? ์ ์ง๊ธ?
๐ง ํ๋ฆ: ๊ฐ์ฌํ ํ์ฌ + ์ข์ ์ฑ๊ณผ. ๊ทผ๋ฐ ๋๋ AI์ ์ง์ฌ์ด๊ณ , ๋ถ๋ฏธ๊ฐ ์ ์ผ ์ธ๊ฒ ์ด๋ค. ๊ทธ ํ๊ฐ์ด๋ฐ์ ๋ฐฐ์ฐ๊ณ ์ฑ์ฅํ๋ฌ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์I'm grateful for my time there โโ ๊ทธ ํ์ฌ์์ ๋ณด๋ธ ์๊ฐ์ ๊ฐ์ฌํ๊ณ ์I did good work.โ ์ข์ ์ฑ๊ณผ๋ ๋์ต๋๋คBut I'm all-in on AI,โ ํ์ง๋ง ์ ๋ AI์ ์ง์ฌ์ด๊ณand North America leans into it hardest.โ ๋ถ๋ฏธ๊ฐ AI๋ฅผ ๊ฐ์ฅ ๊ฐํ๊ฒ ๋ฐ์ด๋ถ์ด๊ณ ์์ฃI came to be in the middle of that.โ ๊ทธ ํ๊ฐ์ด๋ฐ์ ์์ผ๋ ค๊ณ ์จ ๊ฒ๋๋ค๐ก 'But' ์์์ / ํ ๋ฐ์ ์ฌ๊ณ ํค์ ์ฌ๋ ค๋ผ โ ALL-IN์ ๊ฐ์ธ๋ฅผ ์ค์ผ '๋ ๋๋ ์ฌ๋'์ด ์๋๋ผ 'ํฅํด ๊ฐ๋ ์ฌ๋'์ผ๋ก ๋ค๋ฆฐ๋ค.
๐ฃ ํต์ฌ ํ ์คโI'm grateful for my time there โ I did good work. But I'm all-in on AI, and North America leans into it hardest. I came to be in the middle of that.โ
checking microphoneโฆ
How do you actually use AI day to day?
AI๋ฅผ ์ค์ ๋ก ์ด๋ป๊ฒ ์จ์?
๐ง ํ๋ฆ: ๋งค์ผ ๊ฐ์ด ๋น๋. ๋จ, ์ถ๋ ฅ์ ์ด์ ์ทจ๊ธ โ ์ปดํ์ผ/ํ ์คํธ๋ก ๊ฒ์ฆํ๊ณ ์ต์ข ํ๋จ์ ๋. (์ด ํธ๋ ์ด๋๊ฐ ์ฆ๊ฑฐ)
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์I build with AI every day โโ ์ ๋ ๋งค์ผ AI์ ํจ๊ป ๋ง๋ญ๋๋คI even built my own interview trainer with it.โ ์ฌ์ง์ด ์ ๋ฉด์ ํธ๋ ์ด๋๋ AI๋ก ์ง์ ๋ง๋ค์์ด์But I treat its output as a draftโ ํ์ง๋ง AI์ ์ถ๋ ฅ๋ฌผ์ ์ด์์ผ๋ก ์ทจ๊ธํ๊ณand verify everything before it ships.โ ๋ด๋ณด๋ด๊ธฐ ์ ์ ์ ๋ถ ์ง์ ๊ฒ์ฆํฉ๋๋ค๐ก DRAFT์ ๊ฐ์ธ โ 'treat its output as a DRAFT' / ๊ทธ๋ฆฌ๊ณ 'built'์ 'build' ๊ตฌ๋ถ: built๋ '๋นํธ'๋ก ์งง๊ฒ ๋์ด๋ผ.
๐ฃ ํต์ฌ ํ ์คโI build with AI every day โ I even built my own interview trainer with it. But I treat its output as a draft and verify everything before it ships.โ
checking microphoneโฆ
Isn't that a crutch?
๊ทธ๊ฑฐ ์์กด ์๋์์?
๐ง ํ๋ฆ: ๋๊ตฌ๋ ๋น ๋ฅด๊ฒ ํด์ฃผ๊ณ , ํ๋จ์ ๋ด ๊ฒ. ์ธ์๋ก ์คํ๋ ค ์ง์์ด ๋ ํ์ํด์ง๋ค โ ์ฆ์ ๊ฒ์ฆํ๋ ค๋ฉด.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์It makes me faster;โ AI๋ ์ ๋ฅผ ๋น ๋ฅด๊ฒ ํด์ฃผ๊ณthe judgment stays mine.โ ํ๋จ์ ์ฌ์ ํ ์ ๋ชซ์ ๋๋คHonestly, the more I use AI,โ ์์งํ AI๋ฅผ ์ฐ๋ฉด ์ธ์๋กthe more my own knowledge matters โโ ์ ์์ ์ ์ง์์ด ๋ ์ค์ํด์ง๋๋คI have to vet it instantly.โ ์ถ๋ ฅ์ ๊ทธ ์๋ฆฌ์์ ๋ฐ๋ก ๊ฒ์ฆํด์ผ ํ๋๊น์๐ก MINE์ ๊ฐ์ธ ('the judgment stays MINE') / 'vet'์ v๋ ์๋๋ก ์๋ซ์ ์ ์ ์ด์ง ๋ฌผ์ด์ โ 'bet'์ผ๋ก ๋ค๋ฆฌ๋ฉด ์ ๋๋ค.
๐ฃ ํต์ฌ ํ ์คโIt makes me faster; the judgment stays mine. Honestly, the more I use AI, the more my own knowledge matters โ I have to vet it instantly.โ
checking microphoneโฆ
What's your weakness for this role?
์ด ์ญํ ๊ธฐ์ค์ผ๋ก ์ฝ์ ์?
๐ง ํ๋ฆ: ์ ์ง: ๋๊ท๋ชจ ํธ๋ํฝ ๊ฒฝํ์ ๊ฐ๋ฒผ์. ๋์ ๋ฐ์ดํฐ ์ ํฉ์ฑยทํธ๋์ญ์ ๊ฒฝ๊ณ๋ ํ๊ทธ๋ผ์ด๋. ๊ทธ๋ฆฌ๊ณ ์์ด โ ์ฒ์ฒํ ๊ฐ์ง๋ง ์ ํํ๊ฒ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Two honest ones.โ ์์งํ๊ฒ ๋ ๊ฐ์ง์I'm lighter on high-scale traffic โโ ๋๊ท๋ชจ ํธ๋ํฝ ๊ฒฝํ์ ์๋์ ์ผ๋ก ๊ฐ๋ณ์ต๋๋คmy depth is data correctness and transaction boundaries.โ ๋์ ์ ๊น์ด๋ ๋ฐ์ดํฐ ์ ํฉ์ฑ๊ณผ ํธ๋์ญ์ ๊ฒฝ๊ณ์ ์์ด์And my English is slower โโ ๊ทธ๋ฆฌ๊ณ ์ ์์ด๋ ๋๋ฆฐ ํธ์ธ๋ฐbut I'd rather be slow and clear than fast and wrong.โ ๋น ๋ฅด๊ณ ํ๋ฆฌ๋๋ ์ฒ์ฒํ ์ ํํ๊ฒ ๋งํ๋ ์ชฝ์ ํํฉ๋๋ค๐ก ๋ง์ง๋ง ๋๊ตฌ๊ฐ ์๋ช : SLOW and CLEAR โ fast and wrong โ SLOW์ CLEAR๋ฅผ ๋๋ฐ๋๋ฐ ๊ฐ์ธ ์ฃผ๊ณ ๊ทธ ์ฌ์ด๋ ์ค์ ๋ก ์ฒ์ฒํ ๋งํด๋ผ(๋ง ์์ฒด๊ฐ ์ฆ๊ฑฐ๊ฐ ๋๋ค).
๐ฃ ํต์ฌ ํ ์คโTwo honest ones. I'm lighter on high-scale traffic โ my depth is data correctness and transaction boundaries. And my English is slower โ but I'd rather be slow and clear than fast and wrong.โ
checking microphoneโฆ
Your background is .NET/manufacturing. We're not that.
์คํ๋ ๋๋ฉ์ธ๋ ๋ค๋ฅธ๋ฐ์?
๐ง ํ๋ฆ: ํจํด์ ์ธ์ด ์ ๊ฐ๋ฆฐ๋ค โ outbox, ๋ฉฑ๋ฑ์ฑ, ๋ฝ. ์ค์ ๋ก ์ ๋ถ Java๋ก ๋ค์ ์ง๋ดค๋ค.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์The patterns don't care about the language โโ ํจํด์ ์ธ์ด๋ฅผ ๊ฐ๋ฆฌ์ง ์์ต๋๋คoutbox, idempotency, locking.โ ์์๋ฐ์ค, ๋ฉฑ๋ฑ์ฑ, ๋ฝ ๊ฐ์ ๊ฒ๋ค์ด์I've rebuilt all of mine in Javaโ ์ ํจํด๋ค์ ์ ๋ถ ์๋ฐ๋ก ๋ค์ ๊ตฌํํด๋ดค์ต๋๋คto prove that to myself.โ ๊ทธ๊ฑธ ์ค์ค๋ก์๊ฒ ์ฆ๋ช ํ๋ ค๊ณ ์๐ก 'idempotency'๋ ์์ด-๋-POH-ํผ-์ โ PO์ ๊ฐ์ธ, ํ๊ตญ์ '์ด๋ํฌํด์'๋ก ํํํ๊ฒ ์ฝ์ง ๋ง ๊ฒ / ์ธ ๋จ์ด(outbox, idempotency, locking)๋ ํ๋์ฉ ๋์ด์.
๐ฃ ํต์ฌ ํ ์คโThe patterns don't care about the language โ outbox, idempotency, locking. I've rebuilt all of mine in Java to prove that to myself.โ
checking microphoneโฆ
๊ทธ์ ๊ธ ๊ธฐ๋ฐ ์ฌ๊ตฌ์ฑ. โ ์ ๊ทธ์ ํ๋ ์์ํฌ๋ฅผ ์ง์ ํธ๋ช โ '๋ค ๊ธ ์ฝ์๋ค'๋ ์ต๊ณ ์ ์ค๋์ญ ์ ํธ๋ค.
(๋ค๊ฐ ๋ฌป๊ธฐ โ โ ํธ๋ฌ์คํธ ๋ฐฐํฐ๋ฆฌ ์ง๊ฒฉ)
๊ทธ๊ฐ ๋ง๋ ์ฉ์ด๋ฅผ ๊ทธ๋๋ก โ ์์ ํด์จ ํ๋ณด. ๊ทธ๊ฐ ์ ์ผ ์ข์ํ ์ง๋ฌธ.
๐ง ํ๋ฆ: ๋น์ ๊ธ์์ ํธ๋ฌ์คํธ ๋ฐฐํฐ๋ฆฌ ๋ดค๋ค. ์ ์์ง๋์ด๊ฐ ๋นจ๋ฆฌ 100%๊น์ง ๊ฐ๊ฒ ๋ง๋๋ ๊ฑด ๋ญ๋?
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์I actually read your postโ ์ ์ค์ ๋ก ๋น์ ์ด ์ด ๊ธ์ ์ฝ์์ด์about the trust battery.โ ํธ๋ฌ์คํธ ๋ฐฐํฐ๋ฆฌ์ ๊ดํ ๊ทธ ๊ธ์ด์For a new engineer โโ ์๋ก ๋ค์ด์จ ์์ง๋์ด ์ ์ฅ์์์what gets someone to a hundred percent fast?โ ๋ญ๊ฐ ์ฌ๋์ ๋นจ๋ฆฌ 100%๊น์ง ์ฑ์์ฃผ๋์?๐ก READ๋ฅผ ๊ฐ์ธ โ 'I actually READ your post' / trust battery ๋ค์ ์ ๊น ๋๊ณ ์ง๋ฌธ ์์; battery๋ '๋ฐฐ๋ฌ๋ฆฌ'์ฒ๋ผ t๊ฐ ์ฝํ๋จ.
๐ฃ ํต์ฌ ํ ์คโI actually read your post about the trust battery. For a new engineer โ what gets someone to a hundred percent fast?โ
checking microphoneโฆ
(๋ค๊ฐ ๋ฌป๊ธฐ โก โ ์ค๋์ญ ๊ฐญ ์ค๊ธฐ)
'์๋ฌด๋ ์ ์ก๋ ๊ทธ ์ผ์ด ๋ญ๋' = ๋ด๊ฐ ์ค๊ฒ ๋ค๋ ์ ํธ. ๊ทธ์ #1 ๊ฐ์น ์ง๊ฒฉ.
๐ง ํ๋ฆ: ์ง๊ธ ํ์์ ์ฃผ์ธ ์๋ ๊ฐญ โ ๋๊ฐ ๊ทธ๋ฅ ์ข ์ก์์คฌ์ผ๋ฉด ํ๋ ๊ทธ ์ผ์ด ๋ญ๊ฐ?
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์What's a gap on the team right nowโ ์ง๊ธ ํ์ ์๋ ๋นํ์ด ๋ญ๊ฐ์that nobody really owns โโ ์๋ฌด๋ ์ง์ง ์ฃผ์ธ์ด ์๋ ์ผ์ด์the thing you wish someone would just grab?โ ๋๊ฐ ๊ทธ๋ฅ ์ข ์ก์์คฌ์ผ๋ฉด ํ๊ณ ๋ฐ๋ผ๋ ๋ฐ๋ก ๊ทธ ์ผ์ด์๐ก GRAB์ ๊ฐํ๊ฒ โ 'would just GRAB' / owns ๋ค์์ ํ ๋ฐ์ ์ฌ๊ธฐ; owns๋ '์ค์ด์ฆ'๋ก z ๋ฐ์ ์ด๋ฆฌ๊ธฐ.
๐ฃ ํต์ฌ ํ ์คโWhat's a gap on the team right now that nobody really owns โ the thing you wish someone would just grab?โ
checking microphoneโฆ
(์๋น โข โ AI ๋น์ / 1์ธ ํ๋ก๋ํธ ์์ง๋์ด)
์๊ฐ ๋จ์ผ๋ฉด.
๐ง ํ๋ฆ: AI๋ก ์ด๋๊น์ง ๊ฐ๋ ค ํ๋ โ ์ ํ์ ๋๊น์ง ์์ ํ๋ ์์ง๋์ด๋ฅผ ์ํ๋?
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Where's the company going with AI?โ ํ์ฌ๊ฐ AI๋ก ์ด๋๊น์ง ๊ฐ๋ ค๊ณ ํ๋์?Are you looking for engineersโ ๊ทธ๋ฐ ์์ง๋์ด๋ฅผ ์ฐพ๊ณ ๊ณ์ ๊ฐ์who own a product end to end?โ ์ ํ์ ์ฒ์๋ถํฐ ๋๊น์ง ์์ ํ๋ ์์ง๋์ด์๐ก AI์ END๋ฅผ ๊ฐ์ธ โ ์ฒซ ์ง๋ฌธ ๋๋๊ณ / ํ์คํ ๋์ ๋ค ๋ ๋ฒ์งธ ์ง๋ฌธ; 'end to end'๋ '์ํฌ์๋'์ฒ๋ผ ํ ๋ฉ์ด๋ฆฌ๋ก ์ฐ๊ฒฐ.
๐ฃ ํต์ฌ ํ ์คโWhere's the company going with AI? Are you looking for engineers who own a product end to end?โ
checking microphoneโฆ
๊ทธ์ ๊ฐ์น: โ ์ค๋์ญ(์๊ทธ๋์ฒ ์ง๋ฌธ ๊ทธ๋๋ก ๋ณด์ ) โกํฌ๋ช ์ฑ/๋ ธ์ํ๋ผ์ด์ฆ(ํธ๋ฌ์คํธ ๋ฐฐํฐ๋ฆฌ) โข์๋ฅ์ ๋๋์ด ๋ถ์ โ ๊ฒฐ๊ณผ ์ซ์๋ก โฃ๋นจ๋ฆฌ ์ธ์ ํ๋ ์ฌ๋. ์๋ 4๊ฐ๋ ๋์ฌ ํ๋ฅ ์ต์.
Tell me about a time you went way out of your way to make a project succeed.
โ ๊ทธ์ ์๊ทธ๋์ฒ ์ง๋ฌธ (๋ณธ์ธ ๊ธ์ ๊ทธ๋๋ก ์์). ์ ๋ต ๋ชจ์ = '์์ผ์'๊ฐ ์๋๋ผ '๋ด๊ฐ ๊ทธ๋ฅ'.
๐ง ํ๋ฆ: validation ๊ฑด: ์๋ฌด๋ ์ ์์ผฐ๋ค. PC/๋ชจ๋ฐ์ผ ๊ฒฐ๊ณผ ๋ถ์ผ์น๋ก ์ด์์ด ๊ณ์ ๋ฐ์๊ณ , PCํ์ '๋ค ๋ฌธ์ '๋ผ ํ๋ค โ ๋ณด์ผ๋ฌํ๋ ์ดํธ๋ฅผ ๋ด๊ฐ ์ ๋ถ ์จ์ ๊ฑ๋จ ๊ณต์ง๊ฐ ๋๊ฒ ํจ โ ๊ทธ ๋ฒ๊ทธ๋ฅ 0.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Nobody asked me to.โ ์๋ฌด๋ ์ ํํ ์ํค์ง ์์์ด์.Our two surfaces kept giving different results,โ ์ฐ๋ฆฌ ๋ ํ๋ฉด์ด ๊ณ์ ์๋ก ๋ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋ด๊ณ ์์๊ณ ,and the other team said 'that's your problem.'โ ๋ค๋ฅธ ํ์ '๊ทธ๊ฑด ๋ค ๋ฌธ์ ์ผ'๋ผ๊ณ ํ์ฃ .So I wrote all the shared code myself โโ ๊ทธ๋์ ๊ณต์ ์ฝ๋๋ฅผ ์ ๊ฐ ์ ๋ถ ์ง์ ์ผ์ด์ โfor them it was free.โ ๊ทธ ํ ์ ์ฅ์์ ์์ ํ ๊ณต์ง์์ฃ .That whole bug class went to zero.โ ๊ทธ ์ข ๋ฅ์ ๋ฒ๊ทธ๊ฐ ํต์งธ๋ก 0์ด ๋์ต๋๋ค.๐ก ์ฒซ ๋ฌธ์ฅ NOBODY์ ๊ฐ์ธ๋ฅผ ์ฃผ๊ณ ์งง๊ฒ ๋์ด๋ผ / 'that's your problem'์ ๋จ์ ๋ง ์ธ์ฉ์ด๋ ํค์ ์ด์ง ๋ฐ๊พธ๊ณ , ๋ง์ง๋ง ZERO์์ ๋๋ฐ๋๋ฐ ๋ง๋ฌด๋ฆฌ.
๐ฃ ํต์ฌ ํ ์คโNobody asked me to. Our two surfaces kept giving different results, and the other team said 'that's your problem.' So I wrote all the shared code myself โ for them it was free. That whole bug class went to zero.โ
checking microphoneโฆ
(๋ณด๋์ค โ ๊ฐ์ ์ง๋ฌธ์ ์น๊ธฐ) Anything more recent?
์ต๊ทผ ๊ฒ๋? โ ์ด ํธ๋ ์ด๋. ๊ทธ์ '๋ ธ ํฐ์ผ, ๋ ธ ์คํ๋ฆฐํธ' ๋ชจ์ ๊ทธ๋๋ก.
๐ง ํ๋ฆ: ์ต๊ทผ ๋ช ์ฃผ, ์ ๋ ๋ง๋ค AI๋ ๋ด ๋ฉด์ ํธ๋ ์ด๋๋ฅผ ์ง์ ๋น๋ โ ๋๊ฐ ์ํจ ๊ฒ ์๋. ๊ทธ๊ฒ ๋ด๊ฐ ์ผํ๋ ๋ฐฉ์.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Honestly โโ ์์งํ ๋ง์๋๋ฆฌ๋ฉด โthese past weeks I built my own interview trainer with AI,โ ์ต๊ทผ ๋ช ์ฃผ ๋์ AI๋ ๊ฐ์ด ์ ๋ฉด์ ํธ๋ ์ด๋๋ฅผ ์ง์ ๋ง๋ค์์ด์,evenings, no ticket.โ ์ ๋ ์๊ฐ์์, ๋๊ฐ ์ํจ ์ผ๋ ์๋๊ณ ์.That's just how I work on problems I care about.โ ์ ๊ฐ ์ ๊ฒฝ ์ฐ๋ ๋ฌธ์ ๋ ์๋ ์ด๋ ๊ฒ ์ผํฉ๋๋ค.๐ก TRAINER์ ๊ฐ์ธ / 'evenings, no ticket'์ ์ผ๋ถ๋ฌ ์งง๊ฒ ๋ ๋ฐ์๋ก ๋์ด ๋งํ๋ฉด ํ์ด ์ค๋ฆฐ๋ค โ ticket์ t๋ ๊ฐ๋ณ๊ฒ.
๐ฃ ํต์ฌ ํ ์คโHonestly โ these past weeks I built my own interview trainer with AI, evenings, no ticket. That's just how I work on problems I care about.โ
checking microphoneโฆ
How do you keep your manager in the loop? / How do you work with a new team?
ํธ๋ฌ์คํธ ๋ฐฐํฐ๋ฆฌ ๊ธ ๋์ โ ๊ทธ๋ '์กฐ๊ธฐ ๊ณผ์ํต + ๋ ธ์ํ๋ผ์ด์ฆ'์ ํ์ฅํ๋ค.
๐ง ํ๋ฆ: ์ ๋ขฐ๋ ์ฒ์๋ถํฐ 100์ด ์๋๋ค. ์ด๋ฐ์ ๊ณผํ๊ฒ ๊ณต์ ํ๊ณ , ๋ฌธ์ ๋ 1์ฃผ์ฐจ์ ๋จผ์ ๊น๋ค โ 6์ฃผ์ฐจ์ ์ํ๋ผ์ด์ฆ ์ฃผ๋ ๊ฒ ์ต์ .
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Early on, I over-communicate on purpose.โ ์ด๋ฐ์๋ ์ผ๋ถ๋ฌ ๊ณผํ๊ฒ ๊ณต์ ํฉ๋๋ค.I'd rather surface a problem in week oneโ ๋ฌธ์ ๊ฐ ์์ผ๋ฉด 1์ฃผ์ฐจ์ ๋จผ์ ๊บผ๋ด๋ ๊ฒ ๋ซ์ง,than surprise you in week six.โ 6์ฃผ์ฐจ์ ์ํ๋ผ์ด์ฆ๋ฅผ ๋๋ฆฌ๋ ๊ฒ๋ณด๋จ์.Trust gets built by showing, not claiming.โ ์ ๋ขฐ๋ ๋ง๋ก ์ฃผ์ฅํ๋ ๊ฒ ์๋๋ผ ๋ณด์ฌ์ค์ ์์ด๋ ๊ฑฐ๋๊น์.๐ก week ONE / week SIX์ ๋๋น์ ๊ฐ์ธ๋ฅผ ์ค๋ผ โ ONE ๋ค์ ์ด์ง ๋ฉ์ถ๊ณ (/) SIX๋ฅผ ์ฌ๋ฆฌ๋ฉด ๋ฌธ์ฅ์ด ์ฐ๋ค. surface๋ '์จ-rํผ์ค', '์ํจ์ด์ค' ์๋.
๐ฃ ํต์ฌ ํ ์คโEarly on, I over-communicate on purpose. I'd rather surface a problem in week one than surprise you in week six. Trust gets built by showing, not claiming.โ
checking microphoneโฆ
Tell me about a time you were behind / underperforming.
'ํ์ ์ด๋ฏธ ์๋ค' ๊ธ ๋์ โ ์จ๊ธฐ์ง ์๊ณ ๋นจ๋ฆฌ ์ธ์ ํ๋ ์ฌ๋์ธ๊ฐ.
๐ง ํ๋ฆ: DBFail: ๋ด ์ฟผ๋ฆฌ๊ฐ ์ฅ๋น๋ฅผ ๋ฉ์ท์ ๋, ์ฒ์ 15๋ถ์ ๋จ ํํ๋ค๊ฐ โ ์ธ์ ํ๊ณ ์์ง ์ ๊ณ โ 1์๊ฐ ๋ณต๊ตฌ. ๋นจ๋ฆฌ ๋ค ์๋ฐ์ ์๋ ์.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์When my query froze our equipment,โ ์ ์ฟผ๋ฆฌ๊ฐ ์ฐ๋ฆฌ ์ฅ๋น๋ฅผ ๋ฉ์ถ๊ฒ ํ์ ๋,I blamed everything else for fifteen minutes โโ ์ฒ์ 15๋ถ ๋์์ ๋ค๋ฅธ ๋ชจ๋ ๊ฑธ ํํ์ด์ โthen I owned it and reported myself.โ ๊ทธ๋ฌ๋ค ์ ์๋ชป์์ ์ธ์ ํ๊ณ ์ค์ค๋ก ์ ๊ณ ํ์ต๋๋ค.Since then I raise my hand early, always.โ ๊ทธ ๋ค๋ก๋ ํญ์ ์์ ์ผ์ฐ ๋ญ๋๋ค.๐ก FIFTEEN minutes ๋ค์์ ํ ๋ฐ์ ์ฌ๊ณ (/) 'owned it'์ '์ค์ด๋ง'์ฒ๋ผ ๋ถ์ฌ์ โ OWNED์ ๊ฐ์ธ, ๋ง์ง๋ง always๋ ์ฒ์ฒํ ๋ฐ๋ก ๋จ์ด๋จ๋ ค ๋งํ๋ฉด ์ง์ฌ์ด ์ฐ๋ค.
๐ฃ ํต์ฌ ํ ์คโWhen my query froze our equipment, I blamed everything else for fifteen minutes โ then I owned it and reported myself. Since then I raise my hand early, always.โ
checking microphoneโฆ
๋ค๊ฐ ์ด 6๊ฐ ์ ๋ ์ ์ ์ ๋ถ๋ ์ฒญํฌ๋ก. ๋ฃจํ: ์ฒญํฌ๋น 5๋ฒ ์๋ฆฌ๋ด๊ธฐ โ ํ ๋ง ํต์ผ๋ก 1๋ฒ โ ์ง๋ฌธ๋ง ๋ณด๊ณ ์ ํ ํด์ฆ. ์ ๋ถ ๋๋ฉด ์ฒ์๋ถํฐ.
1a. What's a redesign YOU proposed?
๋ค๊ฐ ๋จผ์ ์ ์ํ ์ฌ์ค๊ณ?
๐ง ํ๋ฆ: ๊ฐ๋ง๋๋ฉด ๋ฏธ๋ค์จ์ด๊ฐ ๋ฐ๋ ๋๋ง๋ค ๋ฐฐํฌ ๋น์ฉ. 30๊ฐ ๋ฏธ๋ฌ ์๋ํฌ์ธํธ โ ๋์คํจ์ฒ 1๊ฐ ์ ์, ์น์ธ๋ฐ์.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์I saw every change costing us a deploy.โ ๋ณ๊ฒฝ์ด ์์ ๋๋ง๋ค ๋ฐฐํฌ ๋น์ฉ์ด ๋๋ ๊ฒ ๋ณด์์ด์I proposed collapsing thirty mirrored endpoints into one dispatcher โโ ๋ฏธ๋ฌ ์๋ํฌ์ธํธ 30๊ฐ๋ฅผ ๋์คํจ์ฒ ํ๋๋ก ํฉ์น์๊ณ ์ ์ํ๊ณand got it approved.โ ์น์ธ๊น์ง ๋ฐ์๋์ด์๐ก THIRTY์ ONE์ ๋๋น์์ผ ๊ฐ์กฐํ๊ณ / 'dispatcher'๋ ๋์ค-PAE-์ฒ, ๋์งธ ์์ ์ ๊ฐ์ธ.
๐ฃ ํต์ฌ ํ ์คโI saw every change costing us a deploy. I proposed collapsing thirty mirrored endpoints into one dispatcher โ and got it approved.โ
checking microphoneโฆ
1b. And the result?
๊ฒฐ๊ณผ๋?
๐ง ํ๋ฆ: ํฌ์๋ 1๊ฐ. 12๊ฐ์ ๋ฌด์ฌ๊ณ . ์์ง๋์ด 3๋ช ๊ทธ๋๋ก (์ฆ์ ์์ด).
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์One forwarder instead of thirty endpoints.โ ์๋ํฌ์ธํธ 30๊ฐ ๋์ ํฌ์๋ 1๊ฐZero incidents in twelve months โโ 12๊ฐ์ ๋์ ๋ฌด์ฌ๊ณand we stayed at three engineers.โ ๊ทธ๋ฆฌ๊ณ ์ฆ์ ์์ด ์์ง๋์ด 3๋ช ๊ทธ๋๋ก์์ด์๐ก ZERO๋ฅผ ๊ฐ์ฅ ์ธ๊ฒ / 'twelve months'๋ 'ํธ์ฐ๋ธ๋จผ์ฐ'์ฒ๋ผ ํ ๋ฉ์ด๋ฆฌ๋ก ๋ถ์ฌ์.
๐ฃ ํต์ฌ ํ ์คโOne forwarder instead of thirty endpoints. Zero incidents in twelve months โ and we stayed at three engineers.โ
checking microphoneโฆ
1c. At what scale?
๊ท๋ชจ๋?
๐ง ํ๋ฆ: 8๊ฐ ํ๋ํธ โ ํ๊ตญยท์ค๊ตญยทํ๊ฐ๋ฆฌยท๋ฏธ๊ตญ. ๊ฐ์ ํ๋ซํผ, ์ฌ์ดํธ๋ ์ฐจ์ด๋ง ์ค๋ฒ๋ผ์ด๋.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์That platform ran across eight plants โโ ๊ทธ ํ๋ซํผ์ 8๊ฐ ํ๋ํธ์์ ๋์์ด์Korea, China, Hungary, the US โโ ํ๊ตญ, ์ค๊ตญ, ํ๊ฐ๋ฆฌ, ๋ฏธ๊ตญ์ด์each site overriding only its differences.โ ๊ฐ ์ฌ์ดํธ๋ ์๊ธฐ๊ฐ ๋ค๋ฅธ ๋ถ๋ถ๋ง ์ค๋ฒ๋ผ์ด๋ํ์ฃ๐ก EIGHT ๊ฐ์กฐ / ๋๋ผ ๋์ด์ ๋๋ฐ๋๋ฐ ๋ฆฌ๋ฌ ํ๊ณ , 'Hungary'๋ HUNG-๊ฑฐ๋ฆฌ ์ฒซ์์ ๊ฐ์ธ.
๐ฃ ํต์ฌ ํ ์คโThat platform ran across eight plants โ Korea, China, Hungary, the US โ each site overriding only its differences.โ
checking microphoneโฆ
1d. โ๏ธ 'You ran it ALONE? Isn't that a single point of failure?'
๋ฐฉ์ดโ โ 'ํผ์'๋ SPOF๋ก ๋ค๋ฆฐ๋ค. ์์คํ ์ผ๋ก ๋ฐ์์ณ.
๐ง ํ๋ฆ: ํผ์ ๊ฐ์๋ฃ์ ๊ฒ ์๋๋ผ, ๋ด๊ฐ ์์ด๋ ๋๊ฒ ์ค๊ณ: ์ฌ์ดํธ ํ์ด ์๊ธฐ ์ค๋ฒ๋ผ์ด๋ ์์ , ๋๋ ๋ฆฌ๋ทฐ+๋จธ์ง.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์I ran it solo,โ ์ด์์ ํผ์ ํ์ง๋งbut I designed it so I wasn't the bottleneck โโ ์ ๊ฐ ๋ณ๋ชฉ์ด ๋์ง ์๊ฒ ์ค๊ณํ์ด์site teams owned their overrides,โ ์ฌ์ดํธ ํ๋ค์ด ์๊ธฐ ์ค๋ฒ๋ผ์ด๋๋ฅผ ์ง์ ์์ ํ๊ณI just reviewed and merged.โ ์ ๋ ๋ฆฌ๋ทฐํ๊ณ ๋จธ์ง๋ง ํ์ด์๐ก 'solo' ๋ค์ ์ด์ง ๋ฉ์ถฐ ๋ฐ์ ํจ๊ณผ๋ฅผ ์ฃผ๊ณ / BOTTLENECK์ ๊ฐํ๊ฒ โ '๋ฐํ๋ฅ', t๋ ๊ฑฐ์ ์ ๋ค๋ฆฌ๊ฒ.
๐ฃ ํต์ฌ ํ ์คโI ran it solo, but I designed it so I wasn't the bottleneck โ site teams owned their overrides, I just reviewed and merged.โ
checking microphoneโฆ
1e. โ๏ธ 'A reflection dispatcher? Client sends class names? That's dangerous.'
๋ฐฉ์ดโก โ ๋ฆฌํ๋ ์ ๊ณต๊ฒฉ(ํ์ ์์ ์ฑยท๋ณด์). ์ธ์ +์ธํ๋ฆฌ+๊ฐ์ .
๐ง ํ๋ฆ: ๋ง๋ ์ง์ . ์ปดํ์ผ ์์ ์ฑ์ ๋ณ๊ฒฝ ์๋์ ๋ฐ๊พผ ๊ฒ. ์ธํ๋ฆฌ = ํ์ฉ๋ชฉ๋ก + ํ์๋ง. ๋ฐ์ด๋ผ๋ฉด ๊ณ์ฝ ํ ์คํธ ์ถ๊ฐ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Fair pushback โโ ๋ง๋ ์ง์ ์ด์์reflection trades compile-time safety for change speed.โ ๋ฆฌํ๋ ์ ์ ์ปดํ์ผ ํ์ ์์ ์ฑ์ ๋ณ๊ฒฝ ์๋์ ๋ง๋ฐ๊พผ ๊ฑฐ์ฃWe fenced it with an allowlistโ ํ์ฉ ๋ชฉ๋ก์ผ๋ก ์ธํ๋ฆฌ๋ฅผ ์ณค๊ณ ์inside a closed network.โ ๊ทธ๊ฒ๋ ํ์๋ง ์์์์Outside, I'd add contract tests.โ ์ธ๋ถ๋ง์ด๋ผ๋ฉด ๊ณ์ฝ ํ ์คํธ๋ฅผ ์ถ๊ฐํ ๊ฑฐ์์๐ก ALLOWLIST๋ฅผ ๊ฐ์กฐํ๊ณ / 'fenced'๋ 'ํ์คํธ'์ฒ๋ผ d๊ฐ ๊ฑฐ์ ์ ๋ค๋ฆฌ๊ฒ ์ฐ๊ฒฐ.
๐ฃ ํต์ฌ ํ ์คโFair pushback โ reflection trades compile-time safety for change speed. We fenced it with an allowlist inside a closed network. Outside, I'd add contract tests.โ
checking microphoneโฆ
2a. Why no Kafka / modern stack?
์ ์นดํ์นด ์ ์ผ์ด? โ ๋ณ๋ช ๊ธ์ง, ํ๋จ์ผ๋ก.
๐ง ํ๋ฆ: ํ์๋ง โ ํด๋ผ์ฐ๋๋ ์นดํ์นด๋ ์์. ๊ทธ๋์ ์๋ ์์์์ ์ง๋๋ค.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์My network was closed โโ ์ฐ๋ฆฌ ๋คํธ์ํฌ๋ ํ์๋ง์ด์์ด์no cloud, no Kafka.โ ํด๋ผ์ฐ๋๋ ์๊ณ ์นดํ์นด๋ ์์์ฃSo I squeezed everything out of what we had.โ ๊ทธ๋์ ์๋ ์์์์ ๋ชจ๋ ๊ฑธ ์ง๋์ด์๐ก NO cloud / NO Kafka โ ๋ NO๋ฅผ ๋๊ฐ์ด ์ธ๊ฒ, ์ฌ์ด์ ์งง์ ๋ฉ์ถค / 'squeezed'๋ '์คํด-์ฆ๋' d ๊ฐ๋ณ๊ฒ.
๐ฃ ํต์ฌ ํ ์คโMy network was closed โ no cloud, no Kafka. So I squeezed everything out of what we had.โ
checking microphoneโฆ
2b. So what did you use instead?
๊ทธ๋ผ ๋ญ๋ก?
๐ง ํ๋ฆ: ๊ธฐ์กด DB์ ์คํ ์ด์ง ํ ์ด๋ธ์ด ๊ณง ๋ด ํ. ๊ฐ์ ํจํด, ์ ์ธํ๋ผ 0.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์A staging table on the database we already ran โโ ์ด๋ฏธ ์ด์ํ๋ DB ์์ ์คํ ์ด์ง ํ ์ด๋ธthat WAS my queue.โ ๊ทธ๊ฒ ๋ฐ๋ก ์ ํ์์ด์Same pattern, zero new infrastructure.โ ํจํด์ ๊ฐ๊ณ , ์ ์ธํ๋ผ๋ 0์ด์์ฃ๐ก WAS๋ฅผ ๊ฐ์ฅ ์ธ๊ฒ โ '๊ทธ๊ฒ ๋ฐ๋ก ๋ด ํ์๋ค'๋ ๋์์ค / 'queue'๋ ๊ทธ๋ฅ 'ํ' ํ ์์ ๋ก.
๐ฃ ํต์ฌ ํ ์คโA staging table on the database we already ran โ that WAS my queue. Same pattern, zero new infrastructure.โ
checking microphoneโฆ
2c. How do you pick technology?
๊ธฐ์ ๊ณ ๋ฅด๋ ๊ธฐ์ค?
๐ง ํ๋ฆ: ๋ฐ์ง์ด๋ ๊ฑฐ ์ ์ซ๋๋ค. ๋ญ๊ฐ ๊นจ์ง๋, ๋๊ฐ ์ด์ํ๋, ๋น์ฉ์ด ๋ญ๊ฐ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์I don't chase shiny tech.โ ๋ฐ์ง์ด๋ ๊ธฐ์ ์ ์ ์ซ์์I ask three things:โ ์ธ ๊ฐ์ง๋ฅผ ๋ฌป์ต๋๋คwhat breaks,โ ๋ญ๊ฐ ๊นจ์ง๋who operates it,โ ๋๊ฐ ์ด์ํ๋and what it costs us.โ ๊ทธ๋ฆฌ๊ณ ๋น์ฉ์ด ์ผ๋ง๋ ๋๋๐ก ์ธ ํญ๋ชฉ ์๋ง๋ค ์งง๊ฒ ๋ฉ์ถ๊ธฐ: what breaks / who operates it / what it costs โ ์ด ๋ฆฌ๋ฌ์ด ์๋ช .
๐ฃ ํต์ฌ ํ ์คโI don't chase shiny tech. I ask three things: what breaks, who operates it, and what it costs us.โ
checking microphoneโฆ
2d. โ๏ธ 'But wouldn't Kafka have been better?'
๋ฐฉ์ด โ ํธ๋ฆฝ์์ด์ด๋ก ๋ฐ์์ณ.
๐ง ํ๋ฆ: ๊ทธ ๊ท๋ชจ์์ ์ค๋ฒ์์ง๋์ด๋ง. ์ซ์๊ฐ ํ๊ณ๋ฅผ ๋งํ๋ฉด(๋ ์ฆ๊ฐ, p99 ์์น) ๊ทธ๋ ์ง์ง๋ฅผ ๋ค์ธ๋ค.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์At our volumeโ ์ฐ๋ฆฌ ๋ณผ๋ฅจ์์๋it would've been over-engineering.โ ์ค๋ฒ์์ง๋์ด๋ง์ด์์ ๊ฑฐ์์The moment the numbers said we'd outgrown it,โ ์ซ์๊ฐ ํ๊ณ๋ฅผ ๋์๋ค๊ณ ๋งํ๋ ์๊ฐI'd bring in the real thing.โ ๊ทธ๋ ์ง์ง๋ฅผ ๋ค์ฌ์ฌ ๊ฒ๋๋ค๐ก NUMBERS๋ฅผ ๊ฐ์กฐ / 'would've been'์ '์ฐ๋๋ธ๋น'์ผ๋ก ํ ๋ฉ์ด๋ฆฌ๋ก ๋ญ์ณ์.
๐ฃ ํต์ฌ ํ ์คโAt our volume it would've been over-engineering. The moment the numbers said we'd outgrown it, I'd bring in the real thing.โ
checking microphoneโฆ
3a. What's your core strength?
ํต์ฌ ๊ฐ์ ? ('๊ธฐ์ ์ด ๋ถ์กฑํ์ง๋ง' ์ ๋ ๊ธ์ง)
๐ง ํ๋ฆ: ์์จ์ฑ โ ์ค๊ณ๋ถํฐ ๊ธ๋ก๋ฒ ๋กค์์๊น์ง ํผ์ ๋๊น์ง.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Autonomy.โ ์์จ์ฑ์ ๋๋คI take a system from designโ ์์คํ ์ ์ค๊ณ ๋จ๊ณ๋ถํฐall the way to global rollout,โ ๊ธ๋ก๋ฒ ๋กค์์๊น์ง ๋๊น์ง ๊ฐ์ ธ๊ฐ์end to end.โ ์ฒ์๋ถํฐ ๋๊น์ง์๐ก ์ฒซ ๋จ์ด AUTONOMY ํ๋ ๋์ง๊ณ 1์ด ๋ฉ์ถ๊ธฐ โ ์ด-TA-๋๋ฏธ, ๋์งธ ์์ ๊ฐ์ธ.
๐ฃ ํต์ฌ ํ ์คโAutonomy. I take a system from design all the way to global rollout, end to end.โ
checking microphoneโฆ
3b. Proof?
์ฆ๊ฑฐ?
๐ง ํ๋ฆ: ์ด์ ํฐ์ง ํ๋ก์ ํธ์ ํฌ์ โ ์ด๋ ค๋ โ ๊ณ ๊ฐ์ด ๋ก์ค๋ ํฐ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์I was dropped into a struggling project,โ ๋ฌธ์ ๊ฐ ํฐ์ง ํ๋ก์ ํธ์ ํฌ์ ๋๋๋ฐturned it around โโ ๊ทธ๊ฑธ ์ด๋ ค๋์ด์and the customer sent a thank-you letter.โ ๊ทธ๋ฆฌ๊ณ ๊ณ ๊ฐ์ด ๊ฐ์ฌ ํธ์ง๋ฅผ ๋ณด๋ด์์ฃ๐ก TURNED it AROUND์ ๊ฐ์กฐ / 'dropped into'๋ '๋๋ํดํฌ'์ฒ๋ผ ์ด์ด์ ๋ฐ์.
๐ฃ ํต์ฌ ํ ์คโI was dropped into a struggling project, turned it around โ and the customer sent a thank-you letter.โ
checking microphoneโฆ
3c. Why does ownership matter MORE in the AI era?
AI ์๋์ ์ค๋์ญ์ด ์ ๋ ์ค์? (๋ค ํต์ฌ ๋ ผ์ง)
๐ง ํ๋ฆ: AI๋ ๊ธฐ๋ฅ์ ๊ธฐ๊ฐ ๋งํ๊ฒ ๋ง๋๋๋ฐ, ๋ญ ์ ๋ง๋ค์ง๋ ๋ชจ๋ฅธ๋ค. ๊ทธ๊ฑด ์ค๋์ญ ๊ฐ์ง ์ฌ๋๋ง ์๋ค.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์AI writes great code,โ AI๋ ์ฝ๋๋ฅผ ์ ๋ง ์ ์ง์but it doesn't know what to build or why.โ ํ์ง๋ง ๋ญ, ์ ๋ง๋ค์ด์ผ ํ๋์ง๋ ๋ชฐ๋ผ์That part is ownership โโ ๊ทธ ๋ถ๋ถ์ด ๋ฐ๋ก ์ค๋์ญ์ด๊ณand that's the human job.โ ๊ทธ๊ฒ ์ฌ๋์ ์ผ์ด์ฃ๐ก 'but' ๋ค์์ ์ด์ง ๋ฉ์ถ๊ณ / WHAT๊ณผ WHY๋ฅผ ๊ฐ์ฅ ๋๋ ทํ๊ฒ ๊ฐ์กฐ.
๐ฃ ํต์ฌ ํ ์คโAI writes great code, but it doesn't know what to build or why. That part is ownership โ and that's the human job.โ
checking microphoneโฆ
3d. Ownership of yourself?
์๊ธฐ ์์ ์ ๋ํ ์ค๋์ญ?
๐ง ํ๋ฆ: ๋ด ์ฑ์ฅ๋ ๋ด ์์ โ ๋ด AI ์ ํ์ ์ง์ ๋ง๋ค์ด ๋งค์ผ ์ด๋ค.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์I even own my own growth โโ ์ ์ฑ์ฅ๊น์ง๋ ์ ๊ฐ ์์ ํด์I built my own AI product,โ ์ AI ์ ํ์ ์ง์ ๋ง๋ค์๊ณand I use it every single day.โ ํ๋ฃจ๋ ๋น ์ง์์ด ์๋๋ค๐ก OWN์ด ๋ ๋ฒ ๋์ค๋ ๋ ๋ค ๋๋ ทํ๊ฒ / 'every single day'๋ ํ ๋จ์ด์ฉ ๋์ด ๊ฐ์กฐ.
๐ฃ ํต์ฌ ํ ์คโI even own my own growth โ I built my own AI product, and I use it every single day.โ
checking microphoneโฆ
4a. Have you led delivery?
๋๋ฆฌ๋ฒ๋ฆฌ ๋ฆฌ๋ ๊ฒฝํ?
๐ง ํ๋ฆ: 7๋ช ์ ๋์ ์ผ๊ฐ ์์ดํ๋ฉฐ ์ ์ฒด ์์คํ ๋๋ฆฌ๋ฒ๋ฆฌ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์I led delivery with about seven people โโ 7๋ช ์ ๋์ ํจ๊ป ๋๋ฆฌ๋ฒ๋ฆฌ๋ฅผ ๋ฆฌ๋ํ์ด์sharing out the workโ ์ผ๊ฐ์ ๋๋ ์ฃผ๋ฉด์and owning the whole system's outcome.โ ์์คํ ์ ์ฒด์ ๊ฒฐ๊ณผ๋ฅผ ์ฑ ์์ก์ฃ๐ก SEVEN์ ๊ฐ์กฐ / 'system's outcome'์ '์์คํ ์ฆ-์์์ปด'์ผ๋ก s๋ฅผ ์ด์ด์.
๐ฃ ํต์ฌ ํ ์คโI led delivery with about seven people โ sharing out the work and owning the whole system's outcome.โ
checking microphoneโฆ
4b. Best and worst teammate you've seen?
์ต๊ณ /์ต์ ์ ํ์?
๐ง ํ๋ฆ: ์ต๊ณ = ์ค์๋ ๋ฐ๋ผ ์ฆ์ ๊ณต์ . ์ต์ = ์กฐ์ฉํ ์๋ค๊ฐ ๋ง์ง๋ง์ ๊ฒฐ๊ณผ๋ฌผ๋ก ์ํ๋ผ์ด์ฆ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์The best teammate raises an issueโ ์ต๊ณ ์ ํ์์ ์ด์๋ฅผ ๋ฐ๋ก ์ฌ๋ ค์the moment it matters.โ ์ค์ํด์ง๋ ๋ฐ๋ก ๊ทธ ์๊ฐ์์The worst goes quietโ ์ต์ ์ ์กฐ์ฉํ ์๋ค๊ฐand surprises you at the end.โ ๋ง์ง๋ง์ ์ํ๋ผ์ด์ฆ๋ฅผ ์ฃผ์ฃ๐ก BEST์ WORST๋ฅผ ๋๋น์์ผ ๊ฐ์กฐํ๊ณ / 'goes quiet' ๋ค์ ์งง๊ฒ ๋ฉ์ถฐ ๊ธด์ฅ๊ฐ ์ฃผ๊ธฐ.
๐ฃ ํต์ฌ ํ ์คโThe best teammate raises an issue the moment it matters. The worst goes quiet and surprises you at the end.โ
checking microphoneโฆ
4c. Your own gap as a lead? (์ ์ง โ ๊ทธ๊ฐ ์ข์ํ ํฌ์ธํธ)
๋ฆฌ๋๋ก์ ๋ค ์ฝ์ ? ์ ์งํ๊ฒ + ๊ตํ.
๐ง ํ๋ฆ: ์ฃผ๊ธฐ์ ์ฒดํฌ๊ฐ ์ฝํ๋ค โ ์์จ์ ๋๋ฌด ๋ฏฟ์์. ์ง๊ธ์ ์์จ + ์ ๊ธฐ ํ์ค๋ฅผ ๊ฐ์ด ๊ฐ๋ค.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Honestly, my gap was regular check-ins โโ ์์งํ ์ ์ฝ์ ์ ์ฃผ๊ธฐ์ ์ธ ์ฒดํฌ์ธ์ด์์ด์I trusted autonomy a bit too much.โ ์์จ์ ์ข ๊ณผํ๊ฒ ๋ฏฟ์์ฃNow I pair freedom with a steady pulse.โ ์ง๊ธ์ ์์ ์ ๊พธ์คํ ํ์ค๋ฅผ ๊ฐ์ด ๊ฐ๋๋ค๐ก HONESTLY๋ก ๋ถ๋๋ฝ๊ฒ ์ด๊ณ / 'pulse'๋ 'ํ์ค' ํ ํธํก, l ๋ฐ์ ์ด๋ฆฌ๊ธฐ.
๐ฃ ํต์ฌ ํ ์คโHonestly, my gap was regular check-ins โ I trusted autonomy a bit too much. Now I pair freedom with a steady pulse.โ
checking microphoneโฆ
4d. Your one collaboration rule?
ํ์ ์์ ํํ ๋ชป ํ๋ ํ ๊ฐ์ง?
๐ง ํ๋ฆ: ๋ธ๋ก์ปค ์จ๊ธฐ๊ธฐ = ์ต์ ์ ์ํฐํจํด. ์ผ์ฐ ๊ณต์ ํ๋ ๊ฑด ๊ณต์ง๋ค.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Hiding a blockerโ ๋ธ๋ก์ปค๋ฅผ ์จ๊ธฐ๋ ๊ฑดis the worst anti-pattern I know.โ ์ ๊ฐ ์๋ ์ต์ ์ ์ํฐํจํด์ด์์Sharing one early costs nothing.โ ์ผ์ฐ ๊ณต์ ํ๋ ๊ฑด ๋น์ฉ์ด ์ ํ ์ ๋ค์ฃ๐ก WORST๋ฅผ ๊ฐ์กฐ / 'costs nothing'์ '์ฝ์ค์ธ ๋์ฝ' โ ts๋ฅผ ๋๋ ทํ๊ฒ.
๐ฃ ํต์ฌ ํ ์คโHiding a blocker is the worst anti-pattern I know. Sharing one early costs nothing.โ
checking microphoneโฆ
5a. Where did your rรฉsumรฉ wins come from?
์ด๋ ฅ์ ์ฑ๊ณผ๋ค, ์ด๋์ ๋์๋?
๐ง ํ๋ฆ: ํฐ์ผ์ด ์๋๋ผ โ ๋๊ณ ๋ณผ ์ ์๋ ๊ฒ๋ค์์. ๋ฐ๋ณตยท๋ฌด์๋ฏธ์ ์๊ฐ ํ๋ ๊ฒ ๊ผด๋ณด๊ธฐ ์ซ์๋ค.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Most of my rรฉsumรฉ didn't come from tickets.โ ์ ์ด๋ ฅ์ ๋๋ถ๋ถ์ ํฐ์ผ์์ ๋์จ ๊ฒ ์๋์์It came from things I couldn't stand watching.โ ๋๊ณ ๋ณผ ์ ์๋ ๊ฒ๋ค์์ ๋์์ฃ๐ก DIDN'T์ COULDN'T STAND๋ฅผ ๊ฐ์กฐ / 'rรฉsumรฉ'๋ '๋ ์ฃผ๋ฉ์ด' 3์์ , ๋ง์ง๋ง์ '๋ฉ์ด'๋ก.
๐ฃ ํต์ฌ ํ ์คโMost of my rรฉsumรฉ didn't come from tickets. It came from things I couldn't stand watching.โ
checking microphoneโฆ
5b. Example?
์์? (LLM ์ฑ๋ด โ ๊ทธ์ ์๊ทธ๋์ฒ ์ง๋ฌธ ๋ชจ์ ๊ทธ๋๋ก)
๐ง ํ๋ฆ: LLM ๋์ ๋์ ์ง์ ๊ฐ์ ํด๋ก๋๋ก ์ฑ๋ด ๋ง๋ค์ด ํ์๋ง์ ๋ฃ๊ณ ํ์ ๊ณต์ . ์๋ฌด๋ ์ ์ํด.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์When LLMs arrived,โ LLM์ด ๋ฑ์ฅํ์ ๋I went home, built a chatbot,โ ์ง์ ๊ฐ์ ์ฑ๋ด์ ๋ง๋ค์๊ณand shipped it inside our closed network for my team.โ ํ์๋ง ์์ ๋ฃ์ด์ ํ์ ๋ฐฐํฌํ์ด์Nobody asked me to.โ ์๋ฌด๋ ์ํค์ง ์์์ด์๐ก ๋ง์ง๋ง ๋ฌธ์ฅ์ ์ฒ์ฒํ, NOBODY๋ฅผ ๊ฐ์กฐ / 'LLMs'๋ '์์์ ์ฆ' โ ๋์ z๋ก.
๐ฃ ํต์ฌ ํ ์คโWhen LLMs arrived, I went home, built a chatbot, and shipped it inside our closed network for my team. Nobody asked me to.โ
checking microphoneโฆ
5c. Your instinct when you see a broken process?
๋ง๊ฐ์ง ํ๋ก์ธ์ค๋ฅผ ๋ณด๋ฉด?
๐ง ํ๋ฆ: ๋๊ฐ ๊ณ ์น๊ธธ ๊ธฐ๋ค๋ฆฌ์ง ์๋๋ค. ๋ด๊ฐ ๊ณ ์น๋ค.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์I don't wait for someone to fix it.โ ๋๊ฐ ๊ณ ์ณ์ฃผ๊ธธ ๊ธฐ๋ค๋ฆฌ์ง ์์์I fix it.โ ์ ๊ฐ ๊ณ ์นฉ๋๋ค๐ก ๋ ๋ฒ์งธ ๋ฌธ์ฅ์ I๋ฅผ ๊ฐํ๊ฒ โ 'I FIX it' / ์ ๋ฌธ์ฅ ๋๋๊ณ ํ ๋ฐ์ ์ฐ ๋ค ์งง๊ฒ ๋๋ด๊ธฐ.
๐ฃ ํต์ฌ ํ ์คโI don't wait for someone to fix it. I fix it.โ
checking microphoneโฆ
6a. How will you onboard?
์จ๋ณด๋ฉ์ ์ด๋ป๊ฒ? (์์กด ์ ํ๋ค ์ ์ธ)
๐ง ํ๋ฆ: ์๋์ด ์๊ฐ ๋นจ์๋จน๋ ์ฌ๋ ์ ๋๋ค. ํ ๋ฒ ๋ฌผ์ ๊ฑด ๋ด ๊ฒ์ผ๋ก ๋ง๋ค์ด ๋ค์ ์ ์ฉ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์I won't be the engineerโ ๊ทธ๋ฐ ์์ง๋์ด๋ ๋์ง ์์ ๊ฑฐ์์who drains a senior's time.โ ์๋์ด์ ์๊ฐ์ ๋นจ์๋จน๋ ์ฌ๋์ด์What I ask once,โ ํ ๋ฒ ๋ฌผ์ด๋ณธ ๊ฑดI make mine.โ ์ ๊ฒ์ผ๋ก ๋ง๋ญ๋๋ค๐ก ONCE์ MINE์ ๊ฐ์กฐ / 'drains'๋ '๋๋ ์ธ์ฆ' โ ๋์ z ๋ฐ์ ์ด๋ฆฌ๊ธฐ.
๐ฃ ํต์ฌ ํ ์คโI won't be the engineer who drains a senior's time. What I ask once, I make mine.โ
checking microphoneโฆ
6b. But you'll still learn from colleagues?
๋๋ฃ์๊ฒ ์ ๋ฐฐ์ด๋ค๋ ๊ฑด ์๋์ง?
๐ง ํ๋ฆ: ํ๋ฅญํ ๋๋ฃ์ ์ง์ยท์ธ์ฌ์ดํธ๋ ๋ค ํก์ โ ๋จ ์์กด์ ์ ํ๋ค.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์I'll absorb everythingโ ์ ๋ถ ํก์ํ ๊ฑฐ์์great colleagues share โโ ํ๋ฅญํ ๋๋ฃ๋ค์ด ๋๋ ์ฃผ๋ ๊ฒ๋ค์์I just won't depend on it.โ ๋ค๋ง ๊ฑฐ๊ธฐ์ ์์กดํ์ง ์์ ๊ฒ๋๋ค๐ก ABSORB์ DEPEND๋ฅผ ๋๋น์์ผ ๊ฐ์กฐ / 'won't'๋ '์์ดํธ' โ o๋ฅผ ๊ธธ๊ฒ ํด์ don't์ ๊ตฌ๋ถ.
๐ฃ ํต์ฌ ํ ์คโI'll absorb everything great colleagues share โ I just won't depend on it.โ
checking microphoneโฆ
6c. Your goal for the first months?
์ด๋ฐ ๋ช ๋ฌ์ ๋ชฉํ ํ ์ค?
๐ง ํ๋ฆ: 1์ฃผ์ฐจ๋ถํฐ ํ ์๋์ ์๊ธฐ์ฌ(net-positive).
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Simple โโ ๊ฐ๋จํด์be net-positive to the team's speedโ ํ ์๋์ ์๊ธฐ์ฌํ๋ ๊ฒfrom week one.โ 1์ฃผ์ฐจ๋ถํฐ์๐ก 'Simple' ๋ค์ ํ์คํ ๋ฉ์ถ๊ณ / NET-POSITIVE๋ '๋ทํ์ ํฐ๋ธ'๋ก ๋ถ์ฌ์ ๊ฐ์กฐ.
๐ฃ ํต์ฌ ํ ์คโSimple โ be net-positive to the team's speed from week one.โ
checking microphoneโฆ
ํ๋ฆ ๋๊ฐ์ด: ์ธ์ ๊บผ๋ด๋ โ ํ ์ค ํผ์น. ๊น์ด ํ๋ฉด /story ํด๋น ์นด๋๋ก ์ด์ด์ง๋ค.
Tell me about a failure / a mistake you made.
์คํจ ์ง๋ฌธ โ ํค๋์ฝ ๋จ๊ณจ. DBFail ๊บผ๋ด๋ผ.
๐ง ํ๋ฆ: ์ ์ ๋ ๊ฒ์ฆ ์ ํ ํฐ ์ฟผ๋ฆฌ๋ฅผ ์ด์ DB์ โ ๋ฝ ๊ฑธ๋ ค ๋ฏธ๊ตญ ๊ณต์ฅ ์ฅ๋น ๋ฉ์ถค โ ์์ง ์ ๊ณ โ 1์๊ฐ ๋ณต๊ตฌ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์In my first yearโ ์ ์ ์ฒซ ํด์I ran a big unvetted query on production.โ ๊ฒ์ฆ ์ ๋ ํฐ ์ฟผ๋ฆฌ๋ฅผ ์ด์ DB์ ๋๋ ธ์ด์.It locked a shared resourceโ ๊ทธ๊ฒ ๊ณต์ ์์์ ๋ฝ์ ๊ฑธ์ด์and froze factory equipment.โ ๊ณต์ฅ ์ฅ๋น๊ฐ ๋ฉ์ท์ฃ .I owned it, reported it myself,โ ์ ์๋ชป์ผ๋ก ์ธ์ ํ๊ณ ์ง์ ๋ณด๊ณ ํ๊ณand we recovered in an hour.โ ํ ์๊ฐ ๋ง์ ๋ณต๊ตฌํ์ต๋๋ค.๐ก ๊ฐ์ธ๋ OWNED โ 'froze factory equipment' ๋ค์์ ํ ๋ฐ์ ์ฌ๊ณ (/) 'I OWNED it'์ ๋๋ฐ๋๋ฐ ๋งํ๋ฉด ์ฑ ์์ง๋ ํค์ด ์ฐ๋ค.
๐ฃ ํต์ฌ ํ ์คโIn my first year I ran a big unvetted query on production. It locked a shared resource and froze factory equipment. I owned it, reported it myself, and we recovered in an hour.โ
checking microphoneโฆ
(ํ๊ณ ๋ค๊ธฐ) What did you learn from that?
๊ฑฐ๊ธฐ์ ๋ญ ๋ฐฐ์ ์ด์?
๐ง ํ๋ฆ: ์ด์์ ์ฐ์ต์ฅ์ด ์๋๋ค + ๋ฌธ์ ์๊ธฐ๋ฉด ๋จ ๋ง๊ณ ๋๋ถํฐ ์์ฌ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Two things โโ ๋ ๊ฐ์ง์ธ๋ฐ์I don't treat production as a sandbox anymore,โ ์ด์ ์ด์ ํ๊ฒฝ์ ์ฐ์ต์ฅ์ฒ๋ผ ๋ค๋ฃจ์ง ์๊ณ ์and when something breaks,โ ๊ทธ๋ฆฌ๊ณ ๋ญ๊ฐ ํฐ์ง๋ฉดI suspect myself first.โ ๋จ๋ณด๋ค ์ ๋ถํฐ ๋จผ์ ์์ฌํฉ๋๋ค.๐ก ๊ฐ์ธ๋ MYSELF โ 'sandbox'๋ '์๋๋ฐ์ค'๊ฐ ์๋๋ผ 'SAND๋ฐ์ค'์์ d๊ฐ ๊ฑฐ์ ์ ๋ค๋ฆฌ๊ฒ '์๋ฐ์ค'์ฒ๋ผ.
๐ฃ ํต์ฌ ํ ์คโTwo things โ I don't treat production as a sandbox anymore, and when something breaks, I suspect myself first.โ
checking microphoneโฆ
Have you worked across different teams or regions?
์ฌ๋ฌ ์ง์ญ/ํ ๊ฒฝํ? โ multi-plant.
๐ง ํ๋ฆ: ๊ณต์ฅ 8๊ณณ(ํ๊ตญยท์ค๊ตญยทํ๊ฐ๋ฆฌยท๋ฏธ๊ตญ), ๊ฐ์ ํ๋ฉด์ธ๋ฐ ์ฌ์ดํธ๋ง๋ค ํ๋ฆ ๋ค๋ฆ โ ๋ถ๋ชจ๋ ๊ณตํต, ์์์ ์ฐจ์ด๋ง ์ค๋ฒ๋ผ์ด๋.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Our eight factories โโ ์ ํฌ ๊ณต์ฅ ์ฌ๋ ๊ณณ์ดKorea, China, Hungary, the US โโ ํ๊ตญ, ์ค๊ตญ, ํ๊ฐ๋ฆฌ, ๋ฏธ๊ตญ์ ์๋๋ฐran the same screens differently.โ ๊ฐ์ ํ๋ฉด์ ์ฌ์ดํธ๋ง๋ค ๋ค๋ฅด๊ฒ ์ผ์ด์.I kept the core sharedโ ์ ๋ ํต์ฌ ๊ณตํต ๋ถ๋ถ์ ํ๋๋ก ์ ์งํ๊ณand let each site override only its differences.โ ๊ฐ ์ฌ์ดํธ๋ ์๊ธฐ ์ฐจ์ด์ ๋ง ์ค๋ฒ๋ผ์ด๋ํ๊ฒ ํ์ต๋๋ค.๐ก ๊ฐ์ธ๋ DIFFERENTLY โ ๋๋ผ ์ด๋ฆ ๋์ด ๋ค์ ์ด์ง ์ฌ๊ณ (/), 'Hungary'๋ 'ํ๊ฐ๋ฆฌ'๊ฐ ์๋๋ผ 'HANG-gษ-ri'์ ๊ฐ๊น๊ฒ.
๐ฃ ํต์ฌ ํ ์คโOur eight factories โ Korea, China, Hungary, the US โ ran the same screens differently. I kept the core shared and let each site override only its differences.โ
checking microphoneโฆ
Tell me about influencing people without authority.
๊ถํ ์์ด ์ค๋ โ validation.
๐ง ํ๋ฆ: PCํ์ด '๋ค ๋ฌธ์ ์ง ์ฐ๋ฆฌ ๋ฌธ์ ์๋' โ ๋ณด์ผ๋ฌํ๋ ์ดํธ ๋ด๊ฐ ๋ค ์ฐ๊ฒ ๋ค๊ณ ํด์ ๊ฑ๋จ ๊ณต์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋๊ฒ ํจ โ ๋ถ์ผ์น ๋ฒ๊ทธ 0.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์The other team saidโ ์๋ ํ์ด ์ด๋ ๊ฒ ๋งํ์ด์'that's your problem, not ours.'โ '๊ทธ๊ฑด ๋๋ค ๋ฌธ์ ์ง ์ฐ๋ฆฌ ๋ฌธ์ ์๋์ผ.'So I wrote all the boilerplate myself โโ ๊ทธ๋์ ๋ณด์ผ๋ฌํ๋ ์ดํธ๋ฅผ ์ ๊ฐ ์ ๋ถ ์ง์ ์ผ์ด์for them it became a free shared library.โ ๊ฑ๋ค ์ ์ฅ์์ ๊ณต์ง ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ ๊ฑฐ์ฃ .That bug class went to zero.โ ๊ทธ ์ข ๋ฅ์ ๋ฒ๊ทธ๊ฐ 0์ด ๋์ต๋๋ค.๐ก ๊ฐ์ธ๋ FREE โ 'not OURS'๋ ์๋ ํ ํ๋ด์ฒ๋ผ ํค์ ์ด์ง ๋ฐ๊พธ๊ณ , ๋ค์์ ํ ๋ฐ์ ์ฌ๊ณ (/) 'So I...'๋ก ๋ค์ด๊ฐ๋ผ.
๐ฃ ํต์ฌ ํ ์คโThe other team said 'that's your problem, not ours.' So I wrote all the boilerplate myself โ for them it became a free shared library. That bug class went to zero.โ
checking microphoneโฆ
Tell me about learning something hard on your own.
์ค์ค๋ก ์ด๋ ค์ด ๊ฑฐ ๋ฐฐ์ด ๊ฒฝํ โ Dure TCP.
๐ง ํ๋ฆ: ํ์๊ฐ ๊ฐ๋๋ง ๊นจ์ง โ ํ๊ณ ๋ค์ด์ 'TCP๋ ์คํธ๋ฆผ์ด์ง ๋ฉ์์ง๊ฐ ์๋๋ค' ๊นจ๋ฌ์ โ ๋ค ๋ชจ์ผ ๋๊น์ง ๋ฒํผ๋ง.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Our parser failed only sometimes.โ ํ์๊ฐ ๊ฐ๋์ฉ๋ง ๊นจ์ก์ด์.I dug inโ ํ๊ณ ๋ค์ด ๋ดค๋๋and learned TCP is a stream, not messages โโ TCP๋ ๋ฉ์์ง ๋จ์๊ฐ ์๋๋ผ ์คํธ๋ฆผ์ด๋ผ๋ ๊ฑธ ์๊ฒ ๋์ฃso I buffered until the whole message arrived.โ ๊ทธ๋์ ๋ฉ์์ง๊ฐ ๋ค ๋ชจ์ผ ๋๊น์ง ๋ฒํผ๋งํ์ด์.That fixed it.โ ๊ทธ๊ฑธ๋ก ํด๊ฒฐ๋์ต๋๋ค.๐ก ๊ฐ์ธ๋ STREAM โ 'not messages' ์์์ ์ด์ง ๋๊ณ (/), 'dug in'์ '๋๊ทธ์ธ'์ฒ๋ผ ๋ถ์ฌ์ ๋ฐ์.
๐ฃ ํต์ฌ ํ ์คโOur parser failed only sometimes. I dug in and learned TCP is a stream, not messages โ so I buffered until the whole message arrived. That fixed it.โ
checking microphoneโฆ
Tell me about a tricky bug you debugged.
๊น๋ค๋ก์ด ๋ฒ๊ทธ โ ์ค๊ตญ/ํ๊ฐ๋ฆฌ ๋ฝ.
๐ง ํ๋ฆ: ํ๊ฐ๋ฆฌ ์ก์ด ์์ ์ ๋ โ ๋ ์ก์ด ๊ฐ์ ๋ฝ ์ด๋ฆ ๊ณต์ โ ์ค๊ตญ์ด ์ก์ผ๋ฉด ํ๊ฐ๋ฆฌ๋ ์คํต โ ๊ณต์ฅ๋ณ ๋ฝ์ผ๋ก ๋ถ๋ฆฌ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์A new job for one factory never ran.โ ํ ๊ณต์ฅ์ ์ ์ก์ด ์์ ์ ๋์์ด์.Both jobs shared one lock name,โ ๋ ์ก์ด ๊ฐ์ ๋ฝ ์ด๋ฆ์ ์ฐ๊ณ ์์ด์so the first one always wonโ ๋จผ์ ์ก๋ ์ชฝ์ด ํญ์ ์ด๊ธฐ๊ณand the other silently skipped.โ ๋ค๋ฅธ ์ชฝ์ ์กฐ์ฉํ ์คํต๋์ฃ .I split the lock per factory.โ ๊ทธ๋์ ๋ฝ์ ๊ณต์ฅ๋ณ๋ก ๋ถ๋ฆฌํ์ต๋๋ค.๐ก ๊ฐ์ธ๋ SILENTLY โ 'never ran' ๋ค์์ ํ ๋ฐ์ ์ฌ๊ณ (/), 'won'์ 'want'๊ฐ ์๋๋ผ ์งง๊ฒ '์'์ผ๋ก.
๐ฃ ํต์ฌ ํ ์คโA new job for one factory never ran. Both jobs shared one lock name, so the first one always won and the other silently skipped. I split the lock per factory.โ
checking microphoneโฆ
ERP-MES ๋ฐฉ์ด๋ 2๋ฒ ์น์ ์. ์ฌ๊ธฐ๋ ๋๋จธ์ง ์คํ ๋ฆฌ๊ฐ ๊ณต๊ฒฉ๋นํ ๋. ํจํด: ์ธ์ ํ ๊ฑด ์ธ์ โ ์ธํ๋ฆฌ/์ด์ โ (์์ผ๋ฉด) ๊ฐ์ .
โ๏ธ 'Eight plants with inheritance? Config files would've been simpler.'
multi-plant ๊ณต๊ฒฉ โ ์ ์์์ด๋, ์ค์ ํ์ผ์ด ๋ซ์ง ์๋.
๐ง ํ๋ฆ: ์ค์ ์ '๊ฐ'๋ง ๋ด์ง 'ํธ์ถ ์์'๋ฅผ ๋ชป ๋ด๋๋ค. ์ ๋ต ํจํด์ ํ๋ฉด ์๋ฐฑ ๊ฐ ๋ฑ๋ก ๋น์ฉ. ๊ทธ๋์ ๋ถ๋ชจ=๊ณตํต ํ๋ฆ, ์์=์ฐจ์ด๋ง.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Config can hold values,โ ์ค์ ํ์ผ์ '๊ฐ'์ ๋ด์ ์ ์์ด์,but not the order steps run in.โ ํ์ง๋ง ๋จ๊ณ๊ฐ ์คํ๋๋ '์์'๋ ๋ชป ๋ด์์.So the parent owns the shared flow,โ ๊ทธ๋์ ๋ถ๋ชจ๊ฐ ๊ณตํต ํ๋ฆ์ ์์ ํ๊ณ ,and each site overrides only its difference.โ ๊ฐ ์ฌ์ดํธ๋ ์๊ธฐ ์ฐจ์ด๋ง ์ค๋ฒ๋ผ์ด๋ํด์.๐ก ORDER๋ฅผ ๊ฐํ๊ฒ โ values์์ ๋๋น๊ฐ ์ด ๋ต์ ํต์ฌ / 'values' ๋ค์ ์ด์ง ๋ฉ์ถฐ๋ผ.
๐ฃ ํต์ฌ ํ ์คโConfig can hold values, but not the order steps run in. So the parent owns the shared flow, and each site overrides only its difference.โ
checking microphoneโฆ
โ๏ธ 'One parent, eight children โ a core change breaks all eight, no?'
multi-plant ๊ณต๊ฒฉโก โ ๋ถ๋ชจ ๋ฐ๊พธ๋ฉด 8๊ฐ ๋ค ๊นจ์ง์์.
๐ง ํ๋ฆ: ๋ง๋ ๋ฆฌ์คํฌ. ๊ทธ๋์ ๊ณต์ง + ํ ์คํธ๋ก ๋ง์๊ณ , ๋ค์ ํ๋ค๋ฉด ์ฌ์ดํธ๋ณ ๊ณ์ฝ ํ ์คํธ๋ฅผ CI์ ๊ฑด๋ค.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์That's a real risk.โ ๋ง์์, ์ค์ ๋ก ์กด์ฌํ๋ ๋ฆฌ์คํฌ์์.We managed it with announcements and tests โโ ๋น์์ ๊ณต์ง์ ํ ์คํธ๋ก ๊ด๋ฆฌํ๊ณ ์ โtoday I'd gate parent changesโ ์ง๊ธ์ด๋ผ๋ฉด ๋ถ๋ชจ ๋ณ๊ฒฝ์ ๊ฒ์ดํธ๋ฅผ ๊ฑธ๊ฒ ์ด์,with per-site contract tests in CI.โ CI์ ์ฌ์ดํธ๋ณ ๊ณ์ฝ ํ ์คํธ๋ฅผ ๋ฃ์ด์์.๐ก REAL์ ๊ฐ์กฐํด ๋จผ์ ์ธ์ ํ๋ ํค / 'tests' ๋ค์ ๋ฉ์ถ๊ณ 'today'๋ถํฐ ๊ฐ์ ์ ๋ชจ๋๋ก ์ ํ.
๐ฃ ํต์ฌ ํ ์คโThat's a real risk. We managed it with announcements and tests โ today I'd gate parent changes with per-site contract tests in CI.โ
checking microphoneโฆ
โ๏ธ 'Why centralize validation? Each surface could just validate itself.'
validation ๊ณต๊ฒฉ โ ๊ฐ์ ๊ฒ์ฆํ๋ฉด ๋์ง ์ ๊ณต์ ๋ ์ด์ด๋.
๐ง ํ๋ฆ: ๊ฐ์ ํ๋ฉด ๊ฐ์ ์ ๋ ฅ์ ๋ค๋ฅธ ๊ฒฐ๊ณผ โ ์๋ ๋ฒ๊ทธ๋ณด๋ค ๋์๋ค. ์ด์์๊ฐ ๋ ๋ค ๋ชป ๋ฏฟ๊ฒ ๋จ. ํ ํจ์, ์ต์ DB ์ํ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Two copies drift โโ ๊ฒ์ฆ ๋ก์ง์ด ๋ ๋ฒ์ด๋ฉด ์๋ก ์ด๊ธ๋์ โsame input, different answers,โ ๊ฐ์ ์ ๋ ฅ์ธ๋ฐ ๋ต์ด ๋ฌ๋ผ์ง๊ณ ,and then nobody trusts either screen.โ ๊ทธ๋ฌ๋ฉด ์๋ฌด๋ ๋ ํ๋ฉด ๋ค ๋ชป ๋ฏฟ๊ฒ ๋ผ์.One function reading fresh stateโ ์ต์ ์ํ๋ฅผ ์ฝ๋ ํจ์ ํ๋๊ฐended that bug class.โ ๊ทธ ๋ฒ๊ทธ ๋ถ๋ฅ๋ฅผ ๋๋์ด์.๐ก DRIFT๋ฅผ ๊ฐ์กฐ / 'same input, different answers'๋ ๋๊ตฌ๋ผ์ ๋๋ฐ๋๋ฐ ๊ฐ์ ๋ฆฌ๋ฌ์ผ๋ก.
๐ฃ ํต์ฌ ํ ์คโTwo copies drift โ same input, different answers, and then nobody trusts either screen. One function reading fresh state ended that bug class.โ
checking microphoneโฆ
โ๏ธ 'TCP framing โ how did it actually work?'
dure-tcp ๋ํ ์ผ ๊ณต๊ฒฉ โ ์ง์ง ์๋์ง ์ฐ๋ฅด๊ธฐ.
๐ง ํ๋ฆ: TCP๋ ์คํธ๋ฆผ. ํ send โ ํ recv. 4๋ฐ์ดํธ ๊ธธ์ด ํค๋ ๋จผ์ , ๊ทธ ๊ธธ์ด๋งํผ readFully๋ก ์ฑ์ธ ๋๊น์ง ๋ฒํผ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์TCP gives you a stream,โ TCP๋ ์คํธ๋ฆผ์ ์ฃผ๋ ๊ฑฐ์ง,not messages.โ ๋ฉ์์ง๋ฅผ ์ฃผ๋ ๊ฒ ์๋์์.So: four-byte length header first,โ ๊ทธ๋์ ๋จผ์ 4๋ฐ์ดํธ ๊ธธ์ด ํค๋๋ฅผ ์ฝ๊ณ ,then read until exactly that many bytes arrive โโ ๋ฑ ๊ทธ ๊ธธ์ด๋งํผ ๋ฐ์ดํธ๊ฐ ๋ค ๋์ฐฉํ ๋๊น์ง ์ฝ์ด์ โbuffer the partials.โ ๋ ์จ ์กฐ๊ฐ์ ๋ฒํผ์ ๋ชจ์๋๊ณ ์.๐ก STREAM์ ์ธ๊ฒ, 'not messages' ์์ ์งง์ ๋ฉ์ถค / length๋ '๋ ์ฐ' โ '๋ ์ค'๋ก ๋ญ๊ฐ์ง ๋ง ๊ฒ.
๐ฃ ํต์ฌ ํ ์คโTCP gives you a stream, not messages. So: four-byte length header first, then read until exactly that many bytes arrive โ buffer the partials.โ
checking microphoneโฆ
โ๏ธ 'ID generation โ why not just a database sequence?'
row-lock ๊ณต๊ฒฉ โ ์ํ์ค ์ฐ๋ฉด ๋์์.
๐ง ํ๋ฆ: ์ํ์ค๋ ์์์ ์ด์ง๋ง '๋ ์ง ๋ฆฌ์ + ํฌ๋งท'์ ๋ชป ๋ง๋ ๋ค. ๊ทธ๋์ ์นด์ดํฐ ํ + FOR UPDATE. ๋ ๋ฐฐ์ด ๊ฒ: scope๋ณด๋ค duration โ ๋จ์ผ UPDATE๋ก ๋ฝ ์๊ฐ ์ค์ด๊ธฐ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์A sequence can't do our daily reset and format.โ ์ํ์ค๋ก๋ ์ฐ๋ฆฌ๊ฐ ํ์ํ ๋ ์ง๋ณ ๋ฆฌ์ ๊ณผ ํฌ๋งท์ ๋ชป ๋ง๋ค์ด์.So I locked a counter row โโ ๊ทธ๋์ ์นด์ดํฐ ํ์ ๋ฝ์ ๊ฑธ์๊ณ โand the real lesson was lock duration:โ ์ง์ง ๋ฐฐ์ด ๊ฑด ๋ฝ์ '์ผ๋ง๋ ์ค๋' ์ก๋๋์์ด์:a single update statement holds it way shorter.โ UPDATE ํ ๋ฌธ์ฅ์ผ๋ก ํ๋ฉด ๋ฝ ์ก๋ ์๊ฐ์ด ํจ์ฌ ์งง์์ ธ์.๐ก DURATION์ ์ ์ผ ์ธ๊ฒ โ scope๊ฐ ์๋๋ผ duration์ด๋ผ๋ ๋๋น๊ฐ ํฌ์ธํธ / 'way shorter'๋ '์จ์ด์ผ-๋ฌ'์ฒ๋ผ ๋ถ์ฌ์.
๐ฃ ํต์ฌ ํ ์คโA sequence can't do our daily reset and format. So I locked a counter row โ and the real lesson was lock duration: a single update statement holds it way shorter.โ
checking microphoneโฆ
โ๏ธ 'You refactored a 7,000-line query? How did you not break it?'
costing ๊ณต๊ฒฉ โ ๊ทธ๊ฑธ ์ด๋ป๊ฒ ์ ๊นจ๊ณ ๋ฐ๊ฟจ๋.
๐ง ํ๋ฆ: ๋์์ ๊ณ ์ ํ๋ ํ๊ท ๋น๊ต๊ฐ ๋จผ์ โ ์ ํ ๊ฒฐ๊ณผ๋ฅผ ๋ง์ถฐ๋๊ณ ํ๋ก์ธ์ค๋ณ CTE๋ก ์ชผ๊ฐฌ. ํ ๊ณณ ์์ ์ด ์ ์ฒด๋ก ๋ฒ์ง์ง ์๊ฒ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Regression first โโ ํ๊ท ๋น๊ต๋ถํฐ ๋จผ์ ํ์ด์ โI pinned the old outputs,โ ๊ธฐ์กด ๊ฒฐ๊ณผ๊ฐ์ ๊ธฐ์ค์ผ๋ก ๊ณ ์ ํด ๋๊ณ ,then split it into per-process pieces.โ ๊ทธ๋ค์ ํ๋ก์ธ์ค ๋จ์ ์กฐ๊ฐ์ผ๋ก ์ชผ๊ฐฐ์ด์.After that, changing one partโ ๊ทธ๋ฌ๊ณ ๋๋ ํ ๋ถ๋ถ์ ๊ณ ์ณ๋stopped breaking the others.โ ๋ค๋ฅธ ๋ถ๋ถ์ด ๊นจ์ง์ง ์๊ฒ ๋์ด์.๐ก FIRST๋ฅผ ๊ฐ์กฐํ๊ณ ๊ทธ ๋ค์ ๋ฉ์ถค / pinned๋ p๋ฅผ ํฐ๋จ๋ ค 'ํ๋' โ 'pin it'๊ณผ ํท๊ฐ๋ฆฌ์ง ์๊ฒ.
๐ฃ ํต์ฌ ํ ์คโRegression first โ I pinned the old outputs, then split it into per-process pieces. After that, changing one part stopped breaking the others.โ
checking microphoneโฆ
โ๏ธ 'Clients sending only IDs โ what if the server data is stale instead?'
payload-413 ๊ณต๊ฒฉ โ ์๋ฒ๊ฐ ๊ตฌ๋ฆด ์๋ ์์์.
๐ง ํ๋ฆ: ์ง์ค์ ์์ฒ์ ์๋ฒ DB๋ค โ ํด๋ผ์ด์ธํธ ํ๋ฉด์ด์ผ๋ง๋ก ์ค๋๋ ์ํ. ์ ์ฅ ์์ ์ ์๋ฒ๊ฐ ์ ์ ํ๊ฒ ๋ค์ ์ฝ๋ ๊ฒ ์ ํฉ์ฑ์ ํต์ฌ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์The database is the source of truth โโ ์ง์ค์ ์์ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ โthe client's screen is the stale one.โ ์คํ๋ ค ํด๋ผ์ด์ธํธ ํ๋ฉด์ด์ผ๋ง๋ก ์ค๋๋ ์ํ์ฃ .Sending just IDsโ ID๋ง ๋ณด๋ด๊ฒ ํ๋ฉดforces a fresh read at save time.โ ์ ์ฅ ์์ ์ ์๋ฒ๊ฐ ์ต์ ์ํ๋ฅผ ๊ฐ์ ๋ก ๋ค์ ์ฝ๊ฒ ๋ผ์.๐ก DATABASE๋ฅผ ๊ฐ์กฐํด ์ ์ ๋ฅผ ๋ค์ง์ด๋ผ / stale์ '์คํ ์ผ' โ '์คํ' ์๋.
๐ฃ ํต์ฌ ํ ์คโThe database is the source of truth โ the client's screen is the stale one. Sending just IDs forces a fresh read at save time.โ
checking microphoneโฆ
โ๏ธ 'Your query froze equipment โ what was the ACTUAL mechanism?'
DBFail ๊ธฐ์ ๊ณต๊ฒฉ โ ์ง์ง ์์ธ ์๋์ง.
๐ง ํ๋ฆ: ๋ฆฌํฐ๋ด 2๋ง ๊ฐ = DB๊ฐ 2๋ง ๊ฐ์ '์ ์ฟผ๋ฆฌ'๋ก ์ธ์ โ hard parse ํญ์ฃผ โ ๊ณต์ฉ ์บ์(library cache) ์ ๊ธ ๊ฒฝํฉ โ ๊ฐ์ ์บ์ ์ฐ๋ ์ฅ๋น ์ธ์ ๊น์ง ์ ์ง. ํด๋ฒ: ๋ฐ์ธ๋ ๋ณ์(๋ชจ์ 1๊ฐ) ๋๋ ์์ํ ์ด๋ธ+์กฐ์ธ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Twenty thousand literal valuesโ ๋ฆฌํฐ๋ด ๊ฐ 2๋ง ๊ฐ๋meant twenty thousand brand-new queries โโ DB ์ ์ฅ์์ ์์ ํ ์๋ก์ด ์ฟผ๋ฆฌ 2๋ง ๊ฐ๋ผ๋ ๋ป์ด์์ด์ โa hard-parse stormโ ํ๋ ํ์ค๊ฐ ํญ์ฃผํด์that locked the shared query cache.โ ๊ณต์ ์ฟผ๋ฆฌ ์บ์๋ฅผ ์ ๊ฐ๋ฒ๋ฆฐ ๊ฑฐ์ฃ .Bind variables make it ONE query shape,โ ๋ฐ์ธ๋ ๋ณ์๋ฅผ ์ฐ๋ฉด ์ฟผ๋ฆฌ ๋ชจ์์ด 'ํ๋'๊ฐ ๋๊ณ ,parsed once.โ ํ์ฑ๋ ๋ฑ ํ ๋ฒ๋ง ํด์.๐ก ONE์ ์ ์ผ ์ธ๊ฒ โ 2๋ง ๋ 1์ ๋๋น๊ฐ ๋ต์ ์ ๋ถ / hard-parse๋ 'ํ๋ํ์ค' ํ ๋จ์ด์ฒ๋ผ ์ฐ๊ฒฐ.
๐ฃ ํต์ฌ ํ ์คโTwenty thousand literal values meant twenty thousand brand-new queries โ a hard-parse storm that locked the shared query cache. Bind variables make it ONE query shape, parsed once.โ
checking microphoneโฆ
โ๏ธ 'The Hungary job bug โ what was the root cause, precisely?'
๋ถ์ฐ๋ฝ ๊ธฐ์ ๊ณต๊ฒฉ โ ์ ํํ ๊ทผ๋ณธ ์์ธ.
๐ง ํ๋ฆ: ๋ ์ก์ด ๊ฐ์ ๋ฝ ์ด๋ฆ = ์๋ชป๋ ์ํธ๋ฐฐ์ ๋จ์. ๋ฝ์ '๋ณดํธํ ์์' ๋จ์๋ก. + ๊ธฐ๋ณธ ์ค์ผ์ค๋ฌ๋ ๋จ์ผ ์ค๋ ๋๋ผ ํ โฅ2๋ ํ์ํ๋ค.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Two jobs shared one lock name โโ ๋ ์ก์ด ๊ฐ์ ๋ฝ ์ด๋ฆ์ ์ฐ๊ณ ์์์ด์ โfalse mutual exclusion.โ ์๋ฑํ ๊ฒ๋ผ๋ฆฌ ์ํธ๋ฐฐ์ ๊ฐ ๊ฑธ๋ฆฐ ๊ฑฐ์ฃ .A lock should guard the resource,โ ๋ฝ์ '๋ณดํธํ ์์' ๋จ์๋ก ์ก์์ผ ํ๋๊น,so I split it per factory.โ ๊ณต์ฅ๋ณ ๋ฝ์ผ๋ก ๋ถ๋ฆฌํ์ด์.And the default scheduler is single-threaded,โ ๊ทธ๋ฆฌ๊ณ ๊ธฐ๋ณธ ์ค์ผ์ค๋ฌ๋ ๋จ์ผ ์ค๋ ๋๋ผ,so I also raised the pool.โ ์ค๋ ๋ ํ๋ ๊ฐ์ด ๋๋ ธ์ด์.๐ก RESOURCE๋ฅผ ๊ฐ์กฐ โ '์์ ๋จ์'๊ฐ ๊ทผ๋ณธ ์์ธ์ ํต์ฌ / mutual exclusion์ '๋ฎค-์ถ์ผ ์ต์คํด๋ฃจ-์ ' ์ฒ์ฒํ.
๐ฃ ํต์ฌ ํ ์คโTwo jobs shared one lock name โ false mutual exclusion. A lock should guard the resource, so I split it per factory. And the default scheduler is single-threaded, so I also raised the pool.โ
checking microphoneโฆ
์ด 4๊ฐ๋ ๋ฌด์กฐ๊ฑด ์๋์ผ๋ก ๋์์ผ ํจ. ์ ์ผ ๋ง์ด ์ฐ์ตํด.
๋นจ๋ผ์ ๋ชป ์์๋ค์์ ๋
(๋งค ํตํ ์ต์ 1๋ฒ์ ์ด๋ค โ ์ ์)
๐ง ํ๋ฆ: ๋ชป ์์๋ค์ ์ฒ ๋์ด๊ฐ๋ ๊ฒ ํ๋ฝ. ๋ค์ ๋ฌป๋ ๊ฒ ๊ฐ์ .
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Sorry,โ ์ฃ์กํ๋ฐ์,could you say that again?โ ๋ค์ ํ ๋ฒ ๋ง์ํด ์ฃผ์๊ฒ ์ด์?I want to make sureโ ํ์คํ ํ๊ณ ์ถ์ด์์I get it right.โ ์ ๊ฐ ์ ๋๋ก ์ดํดํ๋์ง์.๐ก AGAIN์ ๊ฐ์ธ, 'again?' ๋ค์์ ์ ๊น ๋ฉ์ถค(/) โ 'could you'๋ '์ฟ ์ฅฌ'์ฒ๋ผ ๋ถ๋๋ฝ๊ฒ ์ฐ๊ฒฐ.
๐ฃ ํต์ฌ ํ ์คโSorry, could you say that again? I want to make sure I get it right.โ
checking microphoneโฆ
์๊ฐํ ์๊ฐ์ด ํ์ํ ๋
์นจ๋ฌต์ด ๋ฌด์์ธ ๋.
๐ง ํ๋ฆ: ์นจ๋ฌต 3์ด๋ ๊ธธ๊ฒ ๋๊ปด์ ธ๋ ์ ์์ผ๋ก ๋ณด์ธ๋ค. ์ ์ธํ๋ฉด ๋ ์์ฐ์ค๋ฝ๋ค.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Good question โโ ์ข์ ์ง๋ฌธ์ด๋ค์ โlet me thinkโ ์ ๊น ์๊ฐ ์ข ํด๋ณผ๊ฒ์for a second.โ ๋ช ์ด๋ง์.๐ก GOOD์ ๊ฐ์ธ, 'question' ๋ค์์ ํ์คํ ๋ฉ์ถค(/) โ 'let me think'๋ '๋ ๋ฏธ๋ตํฌ' ํ ํธํก์ผ๋ก.
๐ฃ ํต์ฌ ํ ์คโGood question โ let me think for a second.โ
checking microphoneโฆ
๋ชจ๋ฅด๋ ๊ฑธ ๋ฌผ์์ ๋
์๋ ์ฒ์ด ์ต์ .
๐ง ํ๋ฆ: ๋ชจ๋ฆ + ์ด๋ป๊ฒ ์์๋ผ์ง. ์ด๊ฒ ์๋์ด ๋ต.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Honestly,โ ์์งํ ๋ง์๋๋ฆฌ๋ฉด,I don't know that one โโ ๊ทธ๊ฑด ์ ๊ฐ ๋ชจ๋ฆ ๋๋ค โbut here's howโ ํ์ง๋ง ์ด๋ ๊ฒI'd find out.โ ์์๋ด๊ฒ ์ต๋๋ค.๐ก Honestly๋ h ๋ฌต์ '์๋์คํ๋ฆฌ' โ DON'T KNOW์ ๊ฐ์ธ, ๋์(โ) ์๋ฆฌ์์ ๋ฉ์ท๋ค๊ฐ(/) 'but'์์ ํค์ ์ฌ๋ ค์.
๐ฃ ํต์ฌ ํ ์คโHonestly, I don't know that one โ but here's how I'd find out.โ
checking microphoneโฆ
๋ง์ด ๊ผฌ์์ ๋
๋ฆฌ์ ์ ์ธํ๊ณ ๋ค์.
๐ง ํ๋ฆ: ๊ผฌ์ธ ์ฑ ๋ฐ๊ณ ๊ฐ์ง ๋ง๊ณ ๋ฉ์ถ๊ณ ๋ค์. ์๋ฌด๋ ๊ฐ์ ์ ํจ.
๐ฌ ํด๋ถ โ ๋ฉ์ด๋ฆฌ๋ก ์ธ์Sorry,โ ์ฃ์กํด์,let me say that againโ ๋ค์ ๋ง์๋๋ฆด๊ฒ์more simply.โ ๋ ๊ฐ๋จํ๊ฒ์.๐ก SIMPLY์ ๊ฐ์ธ โ 'say that again'์ '์ธ์ด๋๋ฌ๊ฒ'์ฒ๋ผ ๋น ๋ฅด๊ฒ ์ฐ๊ฒฐํ๊ณ , 'again' ๋ค ์ด์ง ๋ฉ์ถค(/).
๐ฃ ํต์ฌ ํ ์คโSorry, let me say that again more simply.โ
checking microphoneโฆ
๊ธฐ์ตํด: ์ฒ์ฒํ = ์๋์ด. ๋ชป ์์๋ค์ผ๋ฉด ๋น์ ๋ฌธ์ฅ 1๋ฒ. ๋ชจ๋ฅด๋ฉด ์ ์ง. 15๋ถ์ ์ํ์ด ์๋๋ผ โ ๋ค๊ฐ 6๋ ํ ์ผ์ ์๋ ์ฌ๋ ๋์ ๋ํ๋ค. ๋๋ ๊ทธ ์ผ์ ์ง์ง๋ก ํ๋ค.