나의 노트

켄트 벡(Kent Beck)과 함께 경청하고 협력하여 성공하기

(0:05) Phil Burgess: IT 커리어 에너자이저(IT Career Energizer) 팟캐스트에 오신 것을 환영합니다. [음악] 이 방송은 IT 분야에서 경력을 쌓고 성장하고자 하는 분들, 자신의 강점과 기술을 개발하고 향상시키고 싶은 분들, [음악] 다른 사람들의 성공 사례에서 영감과 동기를 얻고, 경력의 진전을 관리하며, IT 커리어 목표를 달성하고자 하는 모든 분을 위한 방송입니다. 진행자 필 버제스입니다.

(0:31) Phil Burgess: 안녕하세요, 필입니다. 오늘 게스트의 이야기를 듣기 전에, 오늘 에피소드 마지막에 전해드릴 새로운 소식이 있다는 점을 알려드리고 싶습니다. 그러니 끝까지 청취해 주세요. 그동안 바로 시작될 오늘의 에피소드를 즐겨주시길 바랍니다.

(0:48) Phil Burgess: IT 커리어 에너자이저 팟캐스트 80번째 에피소드에 오신 것을 환영합니다. 오늘 쇼의 게스트는 켄트 벡(Kent Beck)입니다. 켄트는 쓰리 리버스 인스티튜트(Three Rivers Institute)의 설립자이자 이사입니다. 그의 경력은 소프트웨어 개발의 실무와 성찰, 혁신, 그리고 커뮤니케이션이 결합되어 있습니다.

그가 소프트웨어 개발에 기여한 내용으로는 소프트웨어 패턴, 테스트 우선 프로그래밍(Test First Programming)의 재발견, 그리고 익스트림 프로그래밍(Extreme Programming) 등이 있습니다. 켄트는 또한 《테스트 주도 개발(Test-Driven Development by Example)》과 《익스트림 프로그래밍(Extreme Programming Explained)》을 포함한 여러 권의 책을 저술했습니다. 켄트, 이 짧은 소개에 덧붙여 자신에 대해 조금 더 말씀해 주시겠습니까?

(1:29) Kent Beck: 음, 그 소개 이후로 저는 2011년부터 올해 2월까지 지난 7년 동안 페이스북(Facebook)에서 일했습니다. 그곳에서 저는 주로 엔지니어링 문화에 집중하며 시간을 보냈습니다. 그래서 많은 교육을 진행했고, 일대일 코칭도 많이 했으며, 글도 많이 썼습니다. 엔지니어를 위한 코스를 만들어 강의하기도 했고, 문화 전체를 조망하려고 노력했습니다.

(2:03) 2월 이후로는 '실속 있는 자발적 실직 상태(gainfully self-unemployed)'로 지내고 있습니다. [웃음]

(2:08) Phil Burgess: 어떤 식으로든 바쁘게 지내고 계실 거라 확신합니다.

(2:11) Kent Beck: 오, 정말 그렇습니다.

(2:14) Phil Burgess: 음, 켄트, IT 커리어 에너자이저 청취자들에게 독특한 경력 팁을 하나 공유해 주시겠습니까? 꼭 알아야 하지만 아마도 모르고 있을 만한 것으로요.

(2:23) Kent Beck: 소프트웨어 개발을 어떤 기능이 있고, 그것을 빨리 생산할수록 더 좋다는 식의 '생산 공정'으로 취급하기 쉽습니다. 저는 그것이 이해할 수 있는 실수이긴 하지만, 꽤 큰 실수라고 생각합니다.

저는 소프트웨어 개발을 "실행 가능한 소프트웨어를 부산물로 만들어내는 학습 과정"으로 보는 것을 더 선호합니다. 그렇게 하면 시간이 지날수록 일을 더 잘하게 되고, 그러한 개선 사항들이 서로 복리로 쌓이게 됩니다. 따라서 아주 작은 학습 궤적의 변화라도 수년간 습관화된다면 생산 능력 등에서 큰 변화를 가져오게 됩니다.

(3:12) Phil Burgess: 그렇군요. 그럼 켄트 님의 최악의 IT 경력 순간과 그 경험에서 무엇을 배웠는지 말씀해 주시겠습니까?

(3:19) Kent Beck: 네, 아마도 처음 해고당했을 때가 정말 밑바닥이었던 것 같습니다. 저는 제 머릿속으로 그 직업이 무엇인지에 대해 나름대로 정의를 내리고 있었어요. 저는 제가 일을 하고 있다고 생각했지만, 실제로 제가 받고 있는 피드백에는 주의를 기울이지 않았습니다. 그래서 제 서비스가 더 이상 필요 없다는 통보를 받았을 때, 그것은 정말 큰 경종을 울리는 계기가 되었습니다.

(3:44) Phil Burgess: 그렇게 된 특별한 이유가 있었나요?

(3:47) Kent Beck: 제 자신의 생각에 갇혀 있었어요. 저는 "이게 내 일이야. 난 이 일을 하고 있어."라고 말했죠. 팀 전체가 달성하려고 하는 목표보다 그게 저한테는 훨씬 더 중요했던 겁니다. 저는 제가 보는 방식대로 제 일을 했습니다. 단지 월급을 주는 사람이 중요하게 생각하는 것과 달랐을 뿐이죠.

(4:05) Phil Burgess: 그 경험에서 특별히 배운 점이 있다고 느끼시나요?

(4:09) Kent Beck: 네. '확인하는 것(Checking in)'입니다. 방금 제가 당신에게 했던 것처럼요. 확인하면서 "좋아요, 제가 이런 일을 했습니다. 저는 이게 올바른 방향이라고 생각했는데, 어떻게 생각하세요?"라고 묻는 것이죠.

(4:20) Phil Burgess: 네.

(4:21) Kent Beck: 저는 그 이후로 그것을 습관으로 만들었습니다. 그래서 제가 질의응답이 포함된 강연을 하는 걸 들어보시면, 제가 답변을 한 후에 거의 항상 "그게 질문에 대한 답이 되었나요?"라고 묻는 걸 들으실 수 있을 겁니다. 왜냐하면 저는 알고 싶거든요. 가끔 저는 완전히 빗나가기도 하고, 때로는 정확히 맞추기도 하니까요.

(4:42) Phil Burgess: 그렇군요. 그러니까 그런 지속적인 피드백 과정이 실제로 올바른 결과를 내는 데 도움이 된다는 말씀이시죠.

(4:50) Kent Beck: 음, 더 낫죠. 그것은 제가 '잘못된 결과'를 내놓는 기간을 짧게 만드는 데 도움이 됩니다.

(4:56) Phil Burgess: 맞습니다. 알겠습니다. 그럼 최악의 순간에서 벗어나서, 경력의 하이라이트나 가장 큰 성공에 대해 말씀해 주시겠습니까?

(5:06) Kent Beck: 제 경력의 아주 초기 단계에, 우연히 워드 커닝햄(Ward Cunningham)과 관계를 맺게 되었습니다. 그는 나중에 '위키(Wiki)'를 발명하게 되는 분이죠. 처음에는 정말 멘토와 학생 관계였습니다.

시간이 지나면서 관계가 발전했고, 저에게 제 능력에 대한 많은 자신감을 심어주었습니다. 그리고 제가 무언가 할 말이 있는 순간들이 있다는 것을 확신시켜 주었습니다. 또한 다른 사람들이 하는 말 중에 제가 귀를 기울여야 할 때가 있다는 것도 확신시켜 주었죠.

우리는 누군가의 중앙집중적인 지시 없이도 매우 창의적이고 흥미로운 프로젝트들을 연달아 수행했습니다. 만약 초기에 그런 일이 없었다면 제 경력이 어떻게 되었을지 모르겠습니다.

(6:02) Phil Burgess: 네, 멘토이자 동료로서 꽤 가까운 관계였던 것 같군요.

(6:08) Kent Beck: 그가 저의 멘토였죠.

(6:10) Phil Burgess: 네.

(6:12) Kent Beck: 그리고 네, 우리는 매우 가까웠습니다. 그런 종류의 관계가 으레 그렇듯, 발전하다 보면 어려워집니다. 제 말은, 똑같은 방식으로 유지하는 게 불가능해진다는 뜻입니다. 그래서 우리는 2~3년 정도 아주 밀접하게 일했고, 그 이후로는 각자의 길을 갔습니다. 가끔 서로 보기는 합니다. 우리 아이들이 라켓볼을 같이 쳤었기 때문에 마주치곤 했지만, 기술적인 경력은 그 이후로 정말 분리되었습니다.

(6:45) Phil Burgess: 그렇군요. 그 경험이 이후에 하신 많은 일들의 기초가 되었다고 느끼시나요?

(6:51) Kent Beck: 네. 예를 들어, '확인하는 습관'은 워드와 함께했던 작업에서 아주 많이 비롯되었습니다. 우리는 몇 시간 동안 프로그래밍을 하고 나서 커피를 마시러 가서 우리가 작업한 내용뿐만 아니라 사용했던 프로세스에 대해서도 이야기를 나눴습니다.

우리는 또한 분 단위 수준에서의 회고적 피드백도 가졌습니다. 예를 들어, "그 변경을 하는 데 키보드를 네 번 쳤어. 세 번만 쳐서 할 수 있는 버전이 있을까? 아, 그렇군." 이런 식으로요. 우리는 동작 하나하나의 시간과 움직임 같은 아주 미세한 수준부터 이것이 사회에 어떻게 적합한지에 대한 거시적 수준까지 모든 것을 끊임없이 최적화했습니다.

(7:39) Phil Burgess: 그럼, IT 산업의 미래와 특히 IT 경력에 대해 어떤 점이 당신을 흥분시키는지 말씀해 주시겠습니까?

(7:47) Kent Beck: 제가 흥분하고 있는지는 잘 모르겠네요. 한번 생각해보죠. 음, 상황은 분명 급격하게 변할 겁니다. 그 원인 중 하나는 제가 중앙 아프리카의 엔지니어들과 일하기 시작했다는 점입니다. 아프리카에는 아직 개발되지 않은 믿을 수 없을 정도로 훌륭한 엔지니어링 인재 풀이 있습니다.

그들이 생산적인 활동을 시작하면, 프로그래밍의 세계는 크게 도약할 것입니다. 10억 명의 인구가 있는데, 그중 프로그래머가 될 기회를 가진 사람의 비율은 상대적으로 매우 적었습니다.

(8:24) Phil Burgess: 네.

(8:24) Kent Beck: 이제 그들은 기회를 얻고 있습니다. 그 점은 확실히 저를 흥분시킵니다. 좀 더 기술적인 측면에서 보자면, 이전에는 불가능했던 방식의 대규모 협업이 가능해질 것이라고 생각합니다. 하지만 기술적으로나 사회적으로 협업에 들어가는 우리의 숨겨진 가정들에 직면해야 할 것입니다.

예를 들어, '풀 리퀘스트(Pull Request) - 코드 리뷰 - 병합(Merge) - 배포' 모델은...

(8:57) Kent Beck: 이제 힘이 빠지기 시작했다고 생각합니다. 우리는 더 세분화된 커밋(commits)과 더 빠른 배포 경로, 그리고 프로덕션에서의 더 나은 피드백을 얻을 방법을 찾아야 할 것입니다.

또한 우리는 프로그래밍 주변에 구축된 사회적 구조의 한계에 직면해야 할 것입니다. 특정 배경이나 특정 유전적 구성을 가진 사람들이 특권 의식을 가지고 있는데, 그것이 실제 능력과는 일치하지 않는 상황 말이죠.

(9:29) Phil Burgess: 그렇군요. 그러니까 우리는 더 다양한 사고 방식과 문화적 배경을 가진 팀을 구성하고 팀워크를 유지하는 방법을 찾아야 한다는 말씀이시군요. 많은 변화의 가능성이 있어 보입니다.

(9:48) Kent Beck: 만약 사람들이 "아, 우린 이미 해결했어"라고 생각한다면 정체될 가능성도 있습니다.

(9:54) Phil Burgess: 네, 정말 맞습니다. 그럼 확실히 다양성의 트렌드가 증가하고 있다고 보시는군요? 그게 계속될 것이라고 보시나요?

(10:04) Kent Beck: 그럴 수도 있고 아닐 수도 있습니다. 창백한 피부의 남성들(Pale males, 백인 남성 중심의 기득권)이 상황에 대한 통제권을 주장하면서 그 모든 것이 무너질 수도 있죠. 그건 제가 원하는 바가 아닙니다.

(10:14) Phil Burgess: 네.

(10:14) Kent Beck: 세상에는 큰 문제들이 있습니다. 엔지니어와 소프트웨어 엔지니어들은 그 문제들을 해결하는 데 일조할 수 있습니다. 단지 여성이거나 피부에 멜라닌 색소가 있다는 이유만으로 전 세계 엔지니어링 재능의 5/6를 버리기에는, 우리에게 엔지니어가 턱없이 부족합니다.

(10:31) Phil Burgess: 알겠습니다. 이제 '리빌 라운드(Reveal Round)'로 넘어가겠습니다. 당신에 대해 좀 더 알아보는 시간이죠. 무엇이 처음에 당신을 IT 경력으로 이끌었나요?

(10:41) Kent Beck: 아버지가 전기 공학자였고 나중에는 프로그래머셨습니다. 아버지가 저에게 베이직(BASIC) 언어에 관한 첫 책을 주셨을 때, 저는 배운다기보다는 기억해내는 것 같았습니다. 그냥 "아, 그래, 그래, 저건 저렇게 작동하는 거지. 맞아. 맞아." 이런 식이었죠. 그래서 저에게는 정말 자연스러운 일이었습니다.

(11:01) Phil Burgess: 그렇군요. 그 이면의 논리가 꽤 직관적이라고 느끼셨군요. 당신의 사고방식과 잘 맞았나 봅니다.

(11:08) Kent Beck: 네. 물론 저도 아주 열심히 했습니다. 저는 마이크로프로세서 매뉴얼을 집에 가져가서 무슨 일이 일어나고 있는지 제대로 이해하지도 못하면서 명령어 인코딩을 외울 때까지 읽고 또 읽는 그런 아이였습니다. 저는 그냥 그 주제에 집착했었어요. 그러니 그중 어느 정도가 타고난 재능이고 어느 정도가 강박증(OCD) 탓인지는 구별하기 어렵습니다.

(11:34) Phil Burgess: 지금까지 받은 최고의 커리어 조언은 무엇인가요?

(11:39) Kent Beck: 흠. 저는 조언을 잘 듣는 편이 아니라서요. [웃음] 그 질문은 넘어가겠습니다.

(11:47) Phil Burgess: 재밌네요. 이 팟캐스트의 거의 첫 번째 게스트였던 존 솜메즈(John Sonmez)라는 분도 자신이 줄 수 있는 최고의 조언은 "당신이 받는 모든 조언을 무시하라"는 것이라고 했거든요. [웃음]

(12:03) Kent Beck: 네. 저도 확실히 그런 쪽에는 타고난 재능이 있습니다. 네. [웃음]

(12:08) Phil Burgess: 만약 지금 당장 IT 경력을 다시 시작하신다면 무엇을 하시겠습니까?

(12:14) Kent Beck: 다시 처음 이야기로 돌아가서, '학습 과정'으로 대하는 것입니다. 아직 학교를 졸업하지 않은 것처럼 행동하세요. 이건 단지 다음 수업일 뿐이고, 학습 과정으로 대하는 겁니다. 수업이 끝나고 교훈을 얻으면 다른 수업을 듣는 거죠.

그러니까 다양한 활동, 다양한 프로그래밍 언어, 프론트엔드, 백엔드, 운영(Ops)이 있는 경우와 없는 경우 등을 시도해보세요. 학습에 다양성을 더 많이 가질수록 배운 교훈들 간의 교차 수분이 일어날 기회가 더 많아집니다. 그리고 그 지점에서 진정한 레버리지(leverage) 효과가 발생합니다.

(12:55) Phil Burgess: 그리고 현재 당신이 집중하고 있는 커리어 목표는 무엇인가요?

(13:02) Kent Beck: 얼마나 개인적인 이야기를 해야 할까요? 음, 이혼 후에 저는 금고를 다시 채워야 합니다. 제가 아는 아프리카 지인에게서 아주 훌륭한 조언을 들었는데, "돈을 쫓지 마라. 돈을 쫓는 건 고양이를 쫓는 것과 같다. 고양이는 잡을 수 없다. 하지만 고양이가 좋아하는 것을 쫓으면 고양이가 너에게 올 것이다."라는 말이었습니다.

그래서 저는 "아, 그냥 돈 버는 걸 최대화해야지"라고 생각하고 싶지 않습니다. 물론 돈이 저에게 중요하긴 합니다. 제 초점은 장기적인 관계, 특히 대규모 소프트웨어 개발과의 관계에 맞춰져 있습니다. 저는 그 부분에 대해 많은 경험을 가지고 있고, 널리 공유되지 않은 아이디어들도 가지고 있다고 생각합니다.

(13:54) 그래서 그게 하나의 초점입니다. 또한 개별 코칭도 할 예정입니다. 왜냐하면 제가 젊은 엔지니어였을 때 그 혜택을 받았기 때문입니다. 그리고 시니어 엔지니어들이 코드만 최대한 많이 생산하려고 하는 생산 모델보다는, 더 나은 엔지니어를 양성하는 것이 코드 몇 줄을 더 쓰는 것보다 훨씬 더 파급력이 크다고 생각합니다.

그래서 저는 그런 일을 하면서 시간을 보낼 것입니다. 하지만 저는 또한 예술, 음악, 그리고 제가 할 말에 대한 다양한 청중을 탐색하는 '경력 탐색 모드'에 있기도 합니다. 아주 괴짜(geeky) 같은 청중에게 말하는 게 더 효과적일지, 아니면 비즈니스 청중에게 말하는 게 더 나을지, 지금 시점에서는 정말 모르겠습니다. 그래서 많은 작은 실험들을 하고 있습니다.

(14:47) Phil Burgess: 지금까지 당신의 경력에 도움이 된 비기술적(non-technical) 기술 1위는 무엇인가요?

(14:55) Kent Beck: 힘든 노력을 통해, 저는 많은 사람들보다 더 빨리 '연민(compassion)'의 상태에 도달하게 되었습니다. 누군가가 저에게 전혀 이해되지 않는 행동을 하면, 저도 다른 사람들과 마찬가지로 짜증이 납니다. 하지만 저는 꽤 빨리 상대방의 관점에서 상황을 보려고 노력하기 시작합니다. 저는 그게 강력한 습관이라고 생각합니다.

방금 힘든 협상을 마쳤는데, 상대방이 도대체 왜 그렇게 행동하는지 이해가 안 됐습니다. 그러다 생각했죠. "아, 그들은 다른 누군가에게 약속을 했구나. 그들은 이미 약속을 했기 때문에 제가 동의하지 않겠다고 한 것에 동의하게 만들려고 하는구나. 그렇다면 말이 되지."

알겠습니다. 그렇다고 제가 입장을 바꿀 필요는 없지만, 상대방의 관점에서 상황을 볼 수 있다는 것은 저에게 매우 도움이 됩니다.

(15:54) Phil Burgess: 켄트, IT 커리어 에너자이저 청취자들에게 마지막으로 커리어 조언 한 마디 부탁드립니다.

(16:01) Kent Beck: 학습은 공동체 안에서 더 효과적입니다. 전형적인 프로그래머들은 혼자 가서 무언가를 작업하기 쉽습니다. 저 또한 그런 충동을 느낍니다. 하지만 저는 많은 경험을 통해 다른 사람과 학습 경험을 공유할 때 더 빨리, 더 잘 배운다는 것을 알고 있습니다.

(16:23) Phil Burgess: 마지막으로, 당신에 대해 더 알아보고 당신과 연결될 수 있는 가장 좋은 방법은 무엇인가요?

(16:29) Kent Beck: kentbeck.com입니다. 드디어 도메인을 얻었습니다. 제가 최근에 무슨 일을 하고 있는지, 최근에 쓴 글, 어디서 강연을 하는지 같은 것들을 알 수 있습니다.

(16:39) Phil Burgess: 좋습니다, 켄트. 오늘 팟캐스트에 참여해 주셔서 정말 감사합니다. 함께 이야기 나눠서 즐거웠습니다.

(16:44) Kent Beck: 오, 제가 영광입니다. 정말 감사합니다.

(16:48) Phil Burgess: 안녕하세요, 다시 필입니다. 오늘 에피소드 시작 부분에서 언급했듯이, 전해드릴 또 다른 업데이트가 있습니다. 하지만 그전에 오늘 에피소드에서 조언과 경험을 공유해 준 켄트에게 짧은 감사를 전합니다. 여느 때와 마찬가지로 오늘 에피소드의 쇼 노트 페이지는 IT 커리어 에너자이저 웹사이트 itcareerenergizer.com/e80에서 확인하실 수 있습니다.

(17:12) 다음 주 쇼의 게스트는 《래피드 소프트웨어 테스팅(Rapid Software Testing)》의 공동 저자인 마이클 볼튼(Michael Bolton)입니다. 또 다른 훌륭한 에피소드가 기다리고 있습니다.

(17:21) 이제 IT 커리어 에너자이저 팟캐스트가 주 3회 에피소드라는 새로운 일정으로 변경되고, 팟캐스트 페이스북 그룹이 공식 런칭되기까지 14일 남았습니다. 이에 대해서는 11월 5일에 더 자세히 알려드리겠습니다.

(17:37) 이전에 공지한 이 두 가지 변경 사항 외에도, 역할, 기술, 방법론, 커리어 기술 등에 더 초점을 맞춘 새로운 유형의 에피소드들도 소개할 예정입니다. 이는 팟캐스트 에피소드의 범위를 넓히고 여러분께 더 많은 가치를 제공하기 위한 것입니다. 이러한 새로운 유형의 에피소드들은 100번째 에피소드 이후부터 소개될 예정입니다.

(18:02) 오늘 에피소드를 끝까지 청취해 주셔서 감사합니다. 다음 주 월요일까지 즐거운 한 주 되세요.

(18:09) Outro: IT 커리어 에너자이저 팟캐스트를 청취해 주셔서 감사합니다. [음악] 성공적인 IT 커리어를 쌓는 방법에 대해 더 알고 싶으시다면 itcareerenergizer.com을 방문하세요.