Puffin's DevLog

독서 노트: 함께 자라기 - 애자일로 가는 길

내가 정말 잘할 수 있을까

개발 공부를 시작하고 몇 개월 지났을 때의 이야기다. 처음 해보는 것이니 못하는 것이 당연한데도, 원하는 대로 프로그램을 만들 수 없다는 게 크게 좌절스러웠다. 조급한 마음이 가장 컸다. 뒤늦게 개발 공부를 시작했기 때문에 빨리 익혀야 한다는 압박이 있었다. 또 프로그래밍 교육을 만들어왔기 때문에 주변의 시선이나 기대가 더 부담으로 느껴졌다. 이상한 일이었다. 꽤 오랫동안 교육 매니저로, 뒤늦게 개발을 배워서 커리어를 바꾸려는 교육생들에게 동기부여를 잘했다고 자부한다. 다른 사람들에게는 위로와 격려를 잘 해왔다. 그리고 실제로 그들은 성공적인 개발자가 되어 잘 지내는 것까지 목격했다. 그런데 막상 내 자신은 그 시간을 잘 견디지 못하는 것만 같았다. 내가 개발을 너무 늦게 시작해서 그런걸까, 나는 그냥 재능이 없는 게 아닐까 하는 생각이 들기 시작했다.

그 힘든 시간을 버틸 수 있었던 건 어쩌다 애자일 이야기라는 블로그의 '나는 왜 학습을 이야기하는가'를 읽고서였다. 모든 인간이 이상적으로 완벽한 존재가 아니기 때문에, 대부분의 경영학적 방법론에는 지속적인 학습과 개선이라는 개념이 포함되어 있다고 한다. 이러한 시각을 두고 결정론자들은 사람의 성향이나 재능, 지능은 이미 타고난 것이기 때문에 바꿀 수 없다고 주장하기도 하지만 (이를 고정사고관이라고 한단다) 누구나 학습을 통해 나아질 수 있음(성장사고관)이 사실이고, 또 그 믿음이 더 건강하고 유용한 믿음이라는 내용이다. 고정사고관을 가진 사람보다 성장사고관을 가진 사람이 실제로 더 나아지는가 하면 (IQ 를 올릴 수 있다고 믿은 사람들이 실제로 IQ 가 올랐다는 사례), 자질을 평가받는다고 안내된 집단보다 실수를 하더라도 나아지면 된다고 안내된 집단 간에 성과 차이가 났다는 것 등 실질적인 예시가 그러하다.

내가 잘할 수 있는지를 계속 되묻는 것보다는, 내가 앞으로 더 성장할 수 있다고 믿어야 했다. 블로그를 운영하는 김창준님의 책 '함께 자라기'에는 성장하는 방법, 잘 배우는 방법, 그리고 협업을 통해 매일매일 함께 잘 배우고 성장하는 방법을 알려준다.

내가 정말 자랄 수 있을까

이번에 잘하냐 못하냐 하는 것은 그렇게 중요하지 않습니다. 앞으로 기회가 수백, 수천 번 더 있다면 말입니다. 그런 경우 더 중요한 것은 지금 잘하냐가 아니라, 지금 자라냐는 것입니다. 실제 바깥세상에서는 한 번의 판가름으로 나의 미래가, 우리의 미래가 갈리는 경우보다는 수백, 수천 번의 누적 위에 서서히 정해지는 경우가 더 많습니다.

(머리말 중)

책에서는 실질적으로 성장하는 방법에 대해 연구 자료를 뒷받침해서 세세하게 알려준다. 당장 잘할 수 있는 방법보다, 매일매일 자랄 수 있는 방법을 알려준다. 그리고 그렇게 매일 자라는 것이 복리로 이자가 붙는다. 성장을 곱하기로, 그리고 꾸준히 해나가야 한다. '자기계발은 복리로 돌아온다' 챕터에서는 세 가지 작업에 대해 말한다. 겉으로 드러나는 제품이나 서비스의 개발, 생산, 판매와 관련한 작업(A), 그리고 제품과 서비스를 개발, 생산, 판매해 나가기 위한 시스템과 프로세스를 설계하는 작업(B), 마지막으로는 개선 사이클 자체의 시간과 품질을 개선하는 작업(C)이다. 마지막으로 언급한 작업, 그러니까 우리의 사고방식과 상호작용방식을 개선하는 작업(C)을 통해서 지속적인 성장이 가능하다는 것이다.

이러한 작업은 메타인지와도 관련이 있다. 메타인지는 사고에 대한 사고다. 그러니까, 나를 제 3 자가 지켜보듯이 생각하는 것이다. 작업을 어떻게 하면 더 잘할 수 있을지, 그리고 그 더 잘할 수 있는 방법을 어떻게 하면 더 잘, 그리고 빨리 할 수 있을지 생각해보는 것은 메타인지의 한 종류다. 예전에 공부를 잘하려면 메타인지가 좋아야 한다는 내용의 글을 어디선가 본 적이 있다. 함께 자라기에서 강조하는 몇 가지 개념이 있는데, 그 중 하나가 메타인지라고 생각한다. 나를 돌아보고, 내가 어떤 상태인지 생각하고, 더 나은 상태가 되려면 어떻게 할 수 있을지를 생각한다. 내 공부를 돌아보고, 내 공부가 어떤 상황인지 생각하고, 더 잘하려면 어떻게 할 수 있을지를 생각한다.

내가 평소에 공부할 때 투자하는 시간을 생각해 본다. 코딩을 하고 개발 책을 읽는 시간이 거의 압도적이다. 새로운 것을 계속 주입시키려고 한다. 공부를 더 잘하게 하기 위한 개선 방법을 고민하는 시간은 띄엄띄엄 가지기는 한다. 가령, 일기를 쓴다거나 회고를 쓴다거나 하는 작업이다. 그마나 회고와 복기를 잘 하지 않으려고 하는데, 당장 급하게 공부하는 것이 더 마음 편하고 쉬운 길이기 때문인 것 같다. B 작업을 A 에 잘 적용하지 못하는 것도 있다. 일기를 쓰고, 돌이켜서 더 나은 방향을 고민해도 그때 뿐이다. 새롭게 적용을 하질 못한다. 단순히 공부량을 계속 더하는 방법만을 고수해왔기 때문에, 공부의 질을 증가시키는 방향으로는 나아가지 못했다. 이 책을 읽고 리뷰를 쓰는 작업이 C 작업에 해당하는 것이 그나마 위안이다.

어떻게 하면 더하기보다 곱하기를 할 수 있을까. 그리고 곱하는 숫자를 늘려서 이자율을 높이거나 혹은 이자적용주기를 줄일 수 있을까. 책에서는 아래와 같은 것들을 이야기한다. 지금 내게 어떻게 적용해볼 수 있을지도 함께 생각해 보았다.

  • 자신이 이미 갖고 있는 것들을 잘 활용하라.
    • 알고리즘 문제는 풀어봤다는 데서 그치지 말고 어떻게 풀었는지 복기하면서 다시 풀어본다. 풀어본 방법은 다른 문제를 풀 때도 적용한다.
    • 리액트를 배울 때 사용한 패턴이나 개념을 컴퓨터공학 공부에도 적용해 본다. 반대로, 컴퓨터공학에서 공부한 내용도 리액트에 적용해 본다.
    • 공부 지도를 그려본다. 지금 알고 있는 것이 어떻게 관련이 있는지를 그려본다.
  • 외부 물질을 체화하라.
    • 내가 알고있는 것과 전혀 다른 내용도 배워보려고 한다.
      • 뷰 문서를 읽어보면서 프론트엔드 프레임워크를 생각해 본다.
    • 개발 외에 공부를 놓지 않는다.
  • 자신을 개선하는 프로세스에 대해 생각해 보라.
    • 스스로 동기부여를 계속 해준다.
    • 집중하는 시간을 정해서 그때 공부를 하고, 나머지 시간에는 휴식을 취한다.
    • 지금과 같이 어떻게 하면 더 잘할 수 있을지를 고민하는 시간을 주기적으로 가진다.
  • 피드백을 자주 받아라.
    • 온라인 강의에서 모르는 게 있으면 리플을 달아본다.
    • 선배 개발자에게 지속적이고 주기적으로 코드리뷰를 받는다.
  • 자신의 능력을 높여주는 도구와 환경을 점진적으로 만들어라.
    • VS code 에서 단축키, 스니펫 등 여러 기능을 익힌다.

내 자신을 돌이켜보고, 학습방법을 점검해보는 것만으로도 불안했던 마음이 조금 누그러지는 느낌이 든다.

우리가 정말 매일매일, 함께, 자랄 수 있을까

책의 뒷부분은 협업과 애자일에 대한 이야기다. 함께 자라는 방법, 그리고 매일매일 조금씩 자라는 방법에 대해서 이야기한다. 개발자가 되기 전에 회사를 다니던 시절에 빗대어 생각해보면서 읽어 내려갔다.

다른 많은 회사들이 그랬듯, 내가 다니던 곳에서도 아침마다 스크럼을 하던 때가 있었다. 매출이 잘 나오지 않아 일종의 크런치 모드를 하던 시기였다. 구글 스프레드시트에 모든 팀원들이 한 일, 이슈사항, 오늘 할 일을 적었다. 스탠딩 미팅은 따로 없었고, 적지 않은 사람들에게는 슬랙 DM 이 날아왔다. 스크럼 시트에는 대표들이 접속해 있었다. 자신의 할일을 정리하고, 팀 내의 진척사항을 매일 공유할 수 있다는 생각보다, 감시받는다는 느낌이 강했다. 할일이 적은 사람에게는 업무가 할당되었다. 마무리한 일이 적은 사람에게는 질책이 있었다. 다른 사람들의 진척사항을 확인하는 경우는 거의 없었고, 일을 더 받고 혼나지 않기 위해 대충 꾸며내어 할일을 적었다. 당연히 스크럼은 흐지부지 되었다. 애자일에서 스크럼을 하는 이유는 진척사항을 공유하는 것뿐 아니라 업무의 구분선을 뚜렷하게 두지 않아 서로 협력하도록 하기 위함이다. 그런데 단순히 상사가 팀원들의 업무 진척도를 파악하고 탑다운 식으로 업무를 배정하기 위해서 스크럼을 사용했으니 팀내, 사내에서 서로를 신뢰하기는커녕 일을 더 하게 될까봐 걱정하게 되기만 했다.

협업은 확실히 쉽지 않다. 단순한 방법론을 도입하는 것만으로는 협업을 원활하게 혹은 협업을 효과적이게 만들 수 없다. 협업은 덧셈이 아니라 곱셈이 되도록 만들어야 하며, 그러기 위해서는 '함께' '자랄 수 있는' 환경이 갖추어 져야 한다.

많은 기업들이 애자일을 포함 정말 다양한 방법론을 도입하려고 노력해 왔고 지금도 애를 쓰고 있는 것 같습니다. 하지만 그 노력에 비해 성공률은 그렇게 높은 것 같지가 않습니다. (...) 모 경영학자에 의하면 전 세계에서 도요타 방식을 도입해 정말 성공한 기업을 딱 한 군데라고 합니다. 도요타 자신이요. (...) 도요타가 도요타일 수 있었던 것은 칸반 같은 '베스트 프랙티스'가 아니라 그런 실천법들이 생겨날 수 있는 문화적 풍토와 생성적 과정 때문이었습니다. (...) 우리가 배워야 할 것은 칸반 이면의, 칸반이 나올 수 있었던 구조와 문화입니다.

(애자일을 애자일스럽게 도입하기 중)

요즘은 프리랜서로 혼자 일하고 있다보니 힘들더라도 다른 사람들과 협업하면서 개선해나가던 경험이 그립다. 혼자 일할 때는 간섭이 없고 하고싶은 일을 마음껏 할 수 있다는 장점은 있지만, 더 빠르고 크게 성장하고 있다는 느낌은 잘 들지 않는다. 책을 읽으니 회사에서 협업의 기술을 펼쳐보이고 싶다는 생각이 강하게 든다.

Loading script...