[책] 어떤 언어를 배우는 가장 멋진 방법 - 함께 자라기를 읽고

sue·2022년 3월 10일
0

etc

목록 보기
5/5

이 책은 혼자 잘하는 게 아니라, 함께 자랄 수 있는 방법을 이야기합니다.
- 『함께 자라기』 일러두기 中

잠시 잊고 있던 어떤 단어들

대학 시절, 사회학 전공 수업에서 귀에 못이 박히게 들었던 말들이 있다. 바로 '연대'와 '공동체'의 중요성이다. 시험 기간이면 유명한 사상가들의 이론을 달달 외우고, 때로는 우리 사회의 정책에 대해, 때로는 어떤 사회 현상들에 대해, 고령화, 불평등, 인구와 가족, 다문화 등등 온갖 것을 공부하다 보면 결론은 하나로 이어졌다. 우리 사회에서 발생하는 개인의 문제는 필연적으로 사회와 연결되어 있고, 이 거대한 사회의 소용돌이에 휩쓸려 자신을 잃지 않기 위해서는 반드시 함께해야 된다고.

어찌됐든 나는 나의 전공을 좋아했고, 그것이 뜬구름 속의 말이 아닌 통계로 증명되는 것을 보았기에(나의 길은 아니었지만 우리를 거짓말쟁이가 되지 않게 해준 숫자들에 감사하며) 자연스레 내가 세상을 보는 방식으로 체화됐다. 그리고 우리는 어느날 갑자기 지구에 뚝 떨어지는 것이 아니라 사회적 환경 속에 살아가면서 한 사람 한 사람으로 자라난다는 것은 사람에 대한 관심을 잃지 않게 도와 주었다.

프로젝트가 끝나고 취업을 준비하던 중 번아웃이 찾아온 적 있다. 이런 저런 이야기는 잠시 아끼고, 아무튼 한동안 인생 최고의 암흑기를 보내다 SNS를 통해 나와 같은 시기를 경험한 다른 개발자분들의 이야기에 조언을 얻어 조금씩 내가 할 수 있는 일을 찾아가다 이 책을 찾게 되었다. '함께 자라기', 앗 어디에서 많이 들어 본 말인데. 어쩐지 친숙함을 느끼며 읽어 나갔고 책을 덮었을 때, 나의 불안과 의문들에 대한 해답을 어느 정도 찾았다. 그것을 도와준 내용의 일부를 정리해 보았다.

1. 자라기

자라기 파트에서는 먼저 '개발자들이 할 수 있는 것'에 대한 이야기가 나온다. 그 첫 번째로 의도적 수련은 기량 향상을 목적으로 자신의 약점을 개선하려고 애쓰는 수련인데 피드백을 짧은 주기로 얻는 것, 실수를 교정할 기회가 있는 것 이 두 가지가 학습에 불러 일으키는 차이를 만들기 때문에 이러한 방법으로 의도적 수련을 해야 한다는 이야기다. 그리고 애자일 프로젝트에서 이런 학습이 가능하다는 것이다. 또한 회고의 중요성을 언급하며, 우리는 회고를 통해 나 자신에 대해 얼마나 투자를 했는지를 되짚어 봐야 하는데 이는 현재 나에게 무엇을 투자했느냐가 1년, 혹은 2년 후의 나를 결정한다고 느끼기 때문이다.

'가장 학습하기 힘든 직업이 살아남는다'에서는 컴퓨터로 대체되기 힘든 일의 특징을 이야기한다. 정리하자면 독창성, 사회적 민감성, 협상, 설득, 타인을 돕고 돌보기 같은 것들이 요구되는 수준이 높을수록 그 작업은 컴퓨터화하기 힘들다는 말이다. 사용자의 요구사항을 분석하고 그에 대한 솔루션을 설계하는 것까지 포함하는 소프트웨어 개발자는 소프트웨어를 고민하고 설계하는 그 과정에서 타인과 상호작용하는 업무가 많다. 흔히 개발자는 컴퓨터하고 대화를 하기 때문에 다른 사람들과 상호작용할 일이 부족하다는 이미지가 있는데, 정말 이건 큰 오해가 아닐까? 오히려 컴퓨터와 사람과의 대화 스킬이 모두 필요하고 어느 한쪽이 부족할 수는 있지만 둘 다 무시할 수 없는 역량이라고 생각한다.

저자는 '나홀로 전문가에 대한 미신'이라고 말하며, 뛰어난 소프트웨어 개발자일 수록 타인과 인터렉션에 더 많은 시간을 쓰고, 초보개발자들에게 조언을 할 때 기술적인 조언만이 아니라 사회적인 측면이 포함된다고 한다. 특히 경력있는 개발자들에게 특정 문제를 해결할 때 초보 개발자에게 해줄 조언을 적어보라고 할 때, 뛰어난 개발자들은 약 70%가 동료와의 협력을 언급하는 반면, 실력이 그저 그런 개발자들은 20%도 안되는 사람들만이 동료와의 협력을 언급했다는 것이다.

2. 함께

이어서 함께 파트에서는 협력에 대한 이야기를 중점적으로 다룬다.

워드 커닝햄이 개발한 위키위키의 중요성은 그 기술에 있지 않고, 기술이 만들어낼 사회 구조의 변화와 기술이 이끌어 낼 사람들 간의 대화에 있다. 그리고 그 대화는 우리가 혼자서는 생각하지 못했던 것들을 만들게 해줄 것이다.

여기에서 인상 깊었던 부분은 '심리적 안전감'에 대한 이야기인데 구글이 밝힌 탁원한 팀의 비밀에는 팀에 누가 있는지(전문가, 내향/외향, 지능 등) 보다 팀원들이 서로 어떻게 상호작용하고 자신의 일을 어떻게 바라보는지가 훨씬 중요했다고 한다. 5가지 성공적 팀의 특징을 찾았는데, 그 중 압도적으로 높은 예측력을 보인 변수는 팀의 심리적 안전감(Psychological Safety)이었다는 것이다.

여기서 말하는 심리적 안전감이란, 내 생각이나 의견, 질문, 걱정, 혹은 실수가 드러났을 때 처벌받거나 놀림받지 않을 거라는 믿음이다.
이러한 심리적 안전감을 쌓기 위한 일을 하기 전에 우선적으로 중요한 것은 리더와 관리자가 매일매일 팀원들과 갖는 마이크로 인터랙션이다. 일상에서의 변화가 생기고, 이런 것으로 신뢰를 조금씩 쌓아가는 것이 중요하다고 한다.

이는 곧 애자일에 대한 이야기로 연결되는데 고전적 방법에서는 내가 일을 빨리 끝내는 것이 프로젝트에 큰 도움이 되지 않았다는 것이다. 내 일은 내 일이고 다른 사람 일은 다른 사람 일이기 때문에 마감 시간에 맞춰 끝나도록 일부러 일을 늘리는 경향도 생기지만, 애자일에서는 내가 일이 빨리 끝나면 다른 사람의 일을 도와준다. 가장 일이 밀려 있는 사람이 누구인지가 확연히 보이기 때문에 프로젝트에서 병목이 되는 사람을 도와주기 쉽다.

게다가 애자일에서는 지식을 공유하기 때문에 좋은 정보는 모두가 곧 알게되며, 그 좋은 정보는 각자의 일에 모두 도움이 된다고 말한다. 서로 판이한 일을 하는 게 아니고 관련성이 있는 것들을 진행하기 때문이다.

3. 애자일

마지막 장은 앞서 이야기한 애자일에 대해 좀 더 깊이 다루고 있다.
애자일의 좁은 정의는 정확히 말해, '애자일 소프트웨어 개발 방법론'으로 소프트웨어를 개발하는 한가지 스타일을 일컫는다. 1990년대 그 당시 쓰던 전통적인 소프트웨어 개발 방식이 그 당시 비즈니스적 상황, 고객의 요구 등과 잘 맞지 않는다고 생각한 사람들이 자기들만의 개발 방식을 만들어 실천했는데 이 방법들 간의 유사성이 있었다. 그래서 이 방법들의 창안자 스무 명 정도가 자신들이 사용하는 방법 이면에 깔린 공통된 철학, 추구하는 가치와 원칙을 추려냈고 이를 애자일 선언문이라고 한다.

당시 주도적인 소프트웨어 개발 방식은 계획주도 방식이었다. 하지만 애자일은 불확실성이 높은 일에 대해서는 미리 분석하고 설계하는 데 한계가 있다고 보며, 불확실성을 다룰 때 좀 더 짧은 주기로 더 일찍부터 피드백을 받고. 더 다양한 사람으로부터 더 자주 더 일찍 피드백을 받는 것으로 정리할 수 있다.

그리고 개발 방법론으로써의 애자일을 넘어 넓은 의미의 애자일이 존재하는데, 애자일을 일하는 한 가지 스타일, 혹은 더 넘어서서 삶을 사는 방식으로까지 확장해 보는 것이다. 이런 시각이 가능한 이유는 불확실성이 소프트웨어를 개발할 때뿐만 아니라 모든 종류의 업무, 혹은 삶에 내재하고 있기 때문이라고 한다.

이렇게 삶에 애자일을 적용할 수 있는 방법으로는 이제까지 이야기했던 학습과 협력이 애자일이 불확실성을 다루는 핵심적인 구동원리가 된다.

  • 학습
    불확실하다는 것은 우리가 이동할 때 목표점의 위치가 자주 바뀌거나 우리 위치가 자주 바뀌거나 하는 상황에 비유할 수 있다. 이럴 수록 우리는 가다 멈춰 서 주위를 둘러보고, 목표점과 우리 위치를 확인하는 것 같은 피드백을 통해 방향을 재조정하는 일을 자주 해야할 것이다. 초기 계획대로 가면 완전히 동떨어진 곳으로 갈 수 있기에 다시 말해 이동하면서 계속 배워가야 한다는 것이다. 따라서 우리의 학습 능력을 향상 시킬 수 있다면 우리는 불확실성에 대해 더 잘 대응할 수 있을 것이다.
  • 협력
    안 좋은 일이 생기는 경우, 좋은 일이 생기는 경우 두 가지로 나누어 생각해 본다. 불확실한 상황일 수록 리스크가 높으며, 안 좋은 일이 벌어질 확률이 높을 것이다. 애자일은 서로의 업무를 공유하고 상호 검토하는 협력을 통해 불행한 일을 '또는' 조건에서 '그리고' 조건으로 바꾸게 한다.
    반대로 예상치 못한 좋은 일이 생길 경우, 이 좋은 일을 확장해야 한다. 모든 사람이 통찰을 얻어야 업무를 개선할 수 있는 게 아니라 한 사람이라도 통찰을 얻으면 그걸 공유해서 전체가 개선되는 것이다.

앞에서 이야기한 학습과 협력이 불확실성이 큰 상황에서 좋은 대응전략이 된다는 것이다. 다시 말해, 애자일의 핵심 구동원리는 학습과 협력, 즉 함께(협력) 자라기(학습)이다. '함께 자라기'하는 삶이 곧 애자일적 삶이라는 이야기다.

어떤 언어를 배우는 가장 멋진 방법

나는 새로운 언어를 배우는 걸 좋아하지만 하나를 오래 배우진 못했다. 일본어, 중국어, 프랑스어, 교환학생 때 배운 핀란드어까지 딱 학교 수업 시간 교양 과목으로 배워 단어 몇 개나 여행에서 써먹을 수 있는 인삿말 정도나 기억에 남아 있는 셈이다. 그래서 놀랍게도 제일 오래 배운 언어가 바로 프로그래밍 언어다. 뼛속까지 문과로 자란 내가 어떻게 그것이 가능했는지 돌이켜 보면, 프로그래밍을 공부하는 환경은 도처에 함께 하고자 하는 사람들이 넘쳤기 때문인 것 같다. 그리고 내게 번아웃이 왔던 건 잠시 그 환경을 잃어버렸기 때문이라는 생각이 들었다.

내가 프로그래밍 공부를 시작하면서 가장 놀랐던 이 세계의 문화는 개발자들의 공유 정신이었다. 외부에서 알려진 모니터만 바라보며 컴퓨터와 대화하는 모습과 달리, 오픈소스 문화부터 기술 블로그나 개발자 컨퍼런스 같은 기술 공유 행사가 항상 열리고 있으며, 단순히 더 나은 협업을 위한 것 이상으로 자신이 가진 지식과 경험을 나누고 있는 것처럼 보였다.

다들 개발 공부를 하는 과정에서 누군가가 공유한 정보를 통해, 그리고 자신도 배운 것을 공유하며 성장했기 때문일까? 각자의 이유는 다를 지 모르지만 아무튼 나는 이런 문화가 좋았다. 아니 좋은 걸 넘어 꽤나 크게 감명을 받았던 것 같다. 성장이라는 단어는 혼자 두면 조금 무거워 보일 때가 있다. 그렇지만 함께 성장한다는 건 혼자 보다는 조금 더 쉬운, 그리고 조금 더 멋진 일처럼 느껴진다. '함께 자라기'의 즐거움을 아는 개발자로 성장하고 싶다.

0개의 댓글