요즘IT
위시켓
최근 검색어
전체 삭제
최근 검색어가 없습니다.

나는 지난 몇 년간 개발자를 코칭하며 ‘프론트냐 백엔드냐’를 고민하는 당신에게, 개발자를 코칭하며 배운 7가지, 장애는 우리의 문제다 등의 글을 썼다. 코칭 과정에서 개발자들이 성장에 대해 관심이 많다는 것을 알 수 있었다. 관심이 많은 만큼이나 스스로 성장이 정체된다고 느꼈을 때 고민이 크다. 하지만 안타까운 점은 자신이 왜 정체되는지 원인을 잘 찾지 못한다는 것이다.

회원가입을 하면 원하는 문장을
저장할 수 있어요!

다음

회원가입을 하면
성장에 도움이 되는 콘텐츠를
스크랩할 수 있어요!

확인

개발

당신이 성장하지 못하는 이유

년차,
어떤 스킬
,
어떤 직무
독자들이 봤을까요?
어떤 독자들이 봤는지 궁금하다면?
로그인

나는 지난 몇 년간 개발자를 코칭하며 ‘프론트냐 백엔드냐’를 고민하는 당신에게, 개발자를 코칭하며 배운 7가지, 장애는 우리의 문제다 등의 글을 썼다. 코칭 과정에서 개발자들이 성장에 대해 관심이 많다는 것을 알 수 있었다. 관심이 많은 만큼이나 스스로 성장이 정체된다고 느꼈을 때 고민이 크다. 하지만 안타까운 점은 자신이 왜 정체되는지 원인을 잘 찾지 못한다는 것이다.

 

나는 연차가 많아도 실력은 3~4년 차 정도에 머무는 사람들을 자주 본다. 이런 사람들의 공통적인 특징은 학습하려 하지 않고 변화를 좋아하지 않는다는 것이다. 왜 그렇게 되었을까? 내 나름대로 추정해 보면 성장이 정체되었다고 느꼈을 때 원인을 찾지 못하고(않고), 성장이 멈춘 채 시간이 흘렀을 것이다. 성장하지 못했다는 불안감은 점점 익숙함으로 바뀌고 익숙함은 현실에 안주하게 만든다. 결국 경력이 늘어나도 성장은 멈춰 있게 된 것은 아닐까?

 

그렇다면 왜 성장이 정체된다고 느낄까? 문제 해결의 핵심은 문제를 정의하는 것이다. 문제를 제대로 정의하지 못하면 시간을 낭비하고 문제가 반복적으로 일어난다. 내가 겪고 옆에서 지켜본 바로는 크게 두 가지 이유가 있다.

 

  • 일의 난이도
  • 일의 환경
 

일의 난이도

김창준 님은 책 <함께 자라기>에서 미하이 칙센트미하이의 ‘몰입 이론’을 언급하며 실력이 늘지 않은 이유의 핵심은 적절한 난이도라고 했다.

몰입 이론
몰입 이론 <출처: 미하이 칙센트미하이(1990), Flow, 최인수 역, 한울림>

 

몰입 이론에 따르면 개인 능력에 비해 일의 난이도가 낮으면 지루함을 느낀다고 한다. 개발자 A가 처음 했던 일은 흔히 말하는 CRUD(Create, read, update and delete)였다. CRUD 하기 위해서 배워야 하는 과정에서 몰입이 일어났으며 스스로 성장한다고 느꼈다. 하지만 1년 정도가 지나자 개인 능력이 오르고 일의 난이도가 변하지 않자 성장이 정체된다고 느꼈다. 일이 많고 적음이 문제가 아니다. 일을 많이 하고 열심히 하더라도 성장하지 못한다고 느낀다. 

 

그래서 지루함을 느낄 때에는 일의 난이도를 올려야 한다. 나는 몰입을 이끌어내기 위해 개발자 A가 하는 일의 난이도를 올렸다. 익숙하고 단순한 업무를 본인이 익숙한 CRUD가 아니라, 메시징 시스템을 이용한 비동기 프로그래밍 방식으로 바꾸는 것이었다. A는 처음 쓰는 기술에 불안을 느꼈지만 곧 극복하여 결과를 만들어냈다.

 

반면 개인 능력에 비해 일의 난이도가 너무 높으면 불안을 느낀다. 이 역시 성장이 정체된다고 느끼는 지점이다. 나는 과거에 경력직으로 이직했던 회사에서의 첫 회의를 선명하게 기억한다. 당시 나는 개발을 나름 잘 한다고 자부하고 있었는데 회의에서 나온 기술에 대해 하나도 이해할 수 없었다. 큰 수준 차이를 느꼈던 것이다. 그 후 나는 이 일을 할 수 있을까 불안했고 두려웠다. 그리고 몇 번이고 문제를 회피(퇴사)하고 싶었다. 

 

불안을 느낄 때에는 일의 난이도를 낮춰야 한다. 내가 운영하는 오픈 소스에 프론트엔드 코드를 기여하고 싶어 하는 개발자가 있었는데, 그는 프론트 기술 스택에 익숙하지 않아 당장 무엇을 만들기 어려웠다. 그래서 나는 그가 코드에 익숙해지기 위해 당장 무엇을 만들기보다, 기존 코드에 코드 스타일 가이드를 적용하는 리팩토링 작업을 제안했다. 그 결과 본인이 스스로 작업을 만들어할 정도로 몰입이 일어났다.

 

 

일의 환경(조직 문화)

미국 행동과학 연구소에서 학생들의 학업 성취도를 높이기 위한 공부 방법의 연구 결과로 학습 효율성 피라미드(Learning Pyramid, The Cone Of Learning)를 발표했다.

 

학습 효율성 피라미드(Learning Pyramid)
<출처: simplilearn>

 

학습 효율성 피라미드는 읽거나, 듣거나, 보는 것보다는 행동하고 그 결과를 서로 나누는 것이 효율적이라고 말하고 있다. 일례로 컴퓨터 과학에서 큰 업적을 남긴 제럴드 와인버그는 어려운 것을 학습할 때에 강의를 준비하고 책을 쓴다고 한다. 그가 수많은 글과 책을 남긴 이유를 알 수 있다.

 

학습 효율성을 높이는 핵심은 피드백이다. 위 그림에서 피라미드 밑으로 가면 갈수록 피드백이 커지는 것을 알 수 있다. 앞서 언급한 개발자 A가 난이도를 올려 만든 시스템을 일하는 곳에서 적용할 수 없다면 어떻게 될까? 단순 토이 프로그램으로 끝날 것이며 이 정도로는 학습에 그칠 뿐이다. 실제 해보고 함께 만들어가는 과정에서 피드백이 발생하고 그러한 피드백이 나를 성장시키는 것이다.

 

명심하렴, 진짜로 중요한 것은 교실에서 배울 수가 없단다. 오직 행동하고 실수를 저지르고, 그런 다음 그것을 고쳐 나가면서만 배울 수 있지. 바로 그런 식으로 지혜를 얻는 거야. - 책 <부자 아빠 가난한 아빠 2> 207쪽

 

그러니 실수하고 고쳐 나갈 수 있는 환경이 필요하다. 그곳에서 지혜를 얻고 성장할 수 있는 것이다. 물론 난이도를 올리면 실수가 일어날 수 있다. 진짜 중요한 것은 조직에서 실수를 대하는 태도이다. 나는 장애는 ‘우리의 문제’다 글에서 실수를 개인의 문제로 취급했을 때 발생하는 문제를 언급했고, 개발자를 코칭하며 배운 7가지라는 글에서는 ‘안전한 공동체’에 대해 언급했다.

 

앞서 풍부한 피드백을 얻기 위해서는 사용 중인(혹은 운영 중인) 시스템에 시도해야 한다고 언급했다. 하지만 경력과는 무관하게 시도하는 자체가 두려울 수 있다. 잘못해서 실수하기라도 하면 그로 인한 여파를 무서워하는 것이다. 우리는 두려움에 용기를 내지 못하는 이들에게 ‘안전한 공동체’가 되어 줄 수 있다. 실수/실패하더라도 괜찮다는 믿음을 줄 수 있는 동료가 있다는 건 용기를 낼 수 있는 큰 힘이다. 부모는 아이가 태어나 성장할 때까지 안전한 공동체가 되어준다. 안전한 공동체 안에서 아이는 부모를 믿고 끊임없이 실수하고 실패하며 그 속에서 배우고 성장한다. - 개발자를 코칭하며 배운 7가지

 

요점은 학습할 수 있는 환경을 만들어 주어야 하고, 새로운 시도에서 실수가 드러났을 때 괜찮다는 심리적 안정감(Psychologial Safety)을 주어야 한다는 것이다.

 

그렇다면 심리적 안정감은 구체적으로 어떻게 만들어질까? 나는 개발자 B와의 대화에서 사례를 찾을 수 있었다. 개발자 B는 개발 주기가 끝나면 회고 자리를 가졌는데, 이 회고에서 실수를 공유하더라도 아무도 비판하지 않아 심리적 안정감을 느꼈다고 한다. 즉, 실수를 말할 수 있는 자리와 분위기를 만들어주고 실수를 말할 때 비웃거나 비난하지 않았던 것이다.

 

 

시간이 해결해 주지 않는다

혹자는 시간이 지나고 경험이 쌓이면 실력이 늘거나 혹은 성장할 수 있다고 주장할 수도 있겠다. 하지만 내 경험에 따르면 앞서 연차가 쌓여도 실력이 늘지 않는 개발자를 언급했듯이 일의 난이도와 일하는 환경이 바꾸지 않으면, 경험의 양만 많아질 뿐 경험의 질이 바뀌지 않기 때문에 그대로인 경우가 허다하다.

 

이 나이에 새로운 것을 배워 뭐 하게? - 20년 차지만 3-4년 차 실력의 개발자 C의 말


개발자 C의 말에서 고정적 사고관이 잘 드러난다. 스탠포드 대학 심리학 교수인 캐롤 드웩은 자기 자신에 대해 생각하는 방식의 차이가 학습에 커다란 영향을 미친다고 이야기한다. 바로 고정형 사고방식과 성장형 사고방식이다. 성격적인 특성과 능력이 고정돼 있다고 생각하는 것이 고정형 사고방식이고, 특성과 능력이 끊임없이 변화하며 성장할 수 있다고 생각하는 것이 성장형 사고방식이다. 나는 성장 사고관을 가진다면 우리 모두 성장할 수 있다고 믿는다. 왜냐하면 우리의 뇌는 가소성이 있기 때문이다.

 

인간의 뇌는 환경에 따라 유연하게 변한다. 1,000억 개의 신경세포가 무수하게 얽혀 있는 연결망으로 이루어진 뇌는 자극에 따라 평생토록 변화한다. 지속적인 정보 자극을 주면 죽은 세포를 대신할 새로운 신경망이나 시냅스가 되살아난다. 인간의 뇌는 가소성이 있기 때문이다. 가소성은 평생에 걸쳐 뇌가 변화한다는 의미다. - 책 <들어주고, 인내하고, 기다리는 유대인 부모처럼> 205 쪽

 

만약 자신이 정체된다고 느낀다면 시간이 해결해 줄 거라는 안일한 생각은 버리고, 나이나 경험에 상관없이 성장할 수 있다는 생각과 태도로 지금 당장 일의 난이도나 환경을 바꾸는 구체적인 행동을 해야 한다.

 

 

협곡과 고원 성장 모델

일의 난이도를 조정할 때 흔히 겪는 것이 제럴드 와인버그가 그의 책 <테크니컬 리더>에서 말하는 ‘협곡과 고원’ 모델이다. 시간이 흐르면 능력이 향상되는 것처럼 보이지만(아래 그림 4.1) 실제로는 실력이 정체되다가 오히려 떨어지고(협곡), 이를 극복하면서 능력이 향상되고 어느 정도 지나면 다시 정체되는(고원) 것을 반복한다는 것이다. (아래 그림 4.3)

 

협곡과 고원 성장 모델
<출처: 테크니컬 리더>

 

협곡으로 떨어지는 부분 즉, 능력이 떨어지는 부분이 바로 일의 난이도 조절이다. 구체적인 사례로 내 경험을 들려주면 나는 예전에 스트럿츠라는 웹 프레임워크를 익숙하게 사용하고 있었다. 하지만 스프링이라는 프레임워크가 대세가 되며 스프링을 익히는 과정에서 협곡에 빠졌다. 같은 기능을 만드는데 오히려 시간이 더 걸리는 것이었다. 스프링에 서서히 익숙해지면서 내 생산성은 점점 올라갔고 이전 보다 더 빨리 기능을 만들 수 있었다. 협곡을 빠져나와 고원에 이르게 된 것이다. 이렇듯 성장은 협곡과 고원을 반복한다.

 

 

일찍 그리고 자주 실패하라

이처럼 일의 난이도 조정은 누구나 협곡에 빠지게 한다. 이 협곡에서는 “내가 할 수 있을까?”라는 두려움과 불안을 느낄 수 있다. 하지만 그것은 자연스러운 것이다. 따라서 이를 받아들여 조급해하지 말고 계속 나아가야 한다. 그렇다면 협곡에서 빨리 빠져나오는 방법은 없을까? 위키를 만든 워드 커닝햄의 말에 귀 기울여보자.

 

일찍 그리고 자주 실패하라.

 

“뭐라고 실패하라고? 그것도 일찍? 자주?”라고 생각하는 독자도 있을 것이다. 왜 일찍 그리고 자주 실패하라고 할까?

 

미국의 유머작가인 윌 로저스는 “문제는 자네가 모르는 것 때문에 생기는 게 아냐. 잘못 아는 데서 생기지”라고 말했다. 맞는 말이다. 하지만 내 생각에 진짜 문제는 잘못 아는데서 오는 것이 아니다. 잘못을 늦게 깨닫는 것에서 생긴다. 영화 <빅쇼트>는 2008년 세계적인 금융위기를 불러온 미국의 서브프라임 모기지 사태를 소재로 하고 있다. 누구나 잘못 알 수는 있다. 하지만 늦게 깨달을수록 문제는 걷잡을 수 없게 커진다. 하지만 누군가 옆에서 얘기해 준다 해서 쉽게 인지할 수 있는 것도 아니다.

 

성장
영화 <빅쇼트> 한 장면

 

그렇다면 어떻게 내가 잘못 알고 있다는 것을 빨리 인지할 수 있을까? 바로 실패해 보는 것이다. 작게, 일찍, 자주 실패해 보는 것이다.

책 <눈 떠보니 선진국>에서는 인간의 창발성 정체를 ‘뉴런의 자유결합’의 정도에 달려 있다고 말한다. 참고로 뉴런이란 뇌의 신경계를 구성하는 세포다.

 

숲을 걷다가, 혹은 화장실에서 문득 아이디어가 떠오르고, 목욕을 하던 아르키메데스가 “유레카!”를 외치는 그 순간이 바로 자유롭게 풀려난 뉴런이 우발적인 결합을 한 때다. - <눈 떠보니 선진국> 44쪽

 

또한 저자는 구글, 페이스북, 넷플릭스 같은 회사를 예로 들며 ‘자유롭게 풀려난 뉴런이 우발적인 결합’을 실패를 통해 달성한다고 설명한다.

 

이들은 누구보다 빨리 실패하고, 누구보다 많이 실패함으로써 우발적인 성공을 보듬어 안는다. - <눈 떠보니 선진국> 45쪽

 

 

꾸준히 성장할 수 있는 환경 찾기

내가 입사했던 첫 회사는 윈도우 응용 프로그램을 만드는 매우 작은 회사였다. 문제는 회사 규모가 아니라 학교를 막 졸업해 입사한 이후 6개월 만에 내게 기술적으로 가르쳐 줄 것이 없었다는 데 있었다. 나는 의도적으로 일의 난이도를 올려 몰입을 만들어냈지만 혼자 하는 데에는 한계가 있었다. 그 와중에 웹(Web)이라는 환경이 대세가 되었고, 나는 웹 개발을 하고 싶었지만 회사 대표는 관심이 없었다. 그를 움직일 정치적인 힘도 사업적 주도권도 없었다. 하지만 나는 성장할 수 있는 환경이 필요했다. 일의 난이도를 조정하더라도 함께 하지 않으면 개인의 성장에 그칠 뿐이다. 앞서 나는 그 원인으로 피드백을 뽑았다. 함께 성장할 때 더 크게 성장할 수 있는 것이다.

 

일의 환경을 변화시킬 수 있는 정치력이나 권한이 있다면 좋겠지만 그럴 수 없거나, 아무리 설득해도 환경이 변하지 않는다면 시간이 흐를수록 자포자기할 가능성이 높다. 변화를 위해서는 자극이 필요하다. 내부에서 찾을 수 없다면 외부에서 찾는 것도 방법이다. 그래서 나는 주위 개발자들에게 아래와 같이 조언한다.

 

일 년에 최소한 2번 이상 면접을 보라.

 

꼭 이직을 목표로 면접을 보라는 것이 아니다. 익숙한 환경에서 벗어나 자극을 받으라는 것이다. 김형준 님의 글 이직에 대한 단상이란 글에서도 “평소에도 구직 활동을 해야 한다.”라고 말하고 있으며 그 이유를 아래와 같이 답하고 있다.

 

  • 구직 활동을 통해 현재 자신의 경쟁력을 파악하고 미래를 준비할 수 있다.
  • 꾸준하게 인맥을 쌓을 수 있다.
  • 현재 업무에서 자신감을 가질 수 있다.

 

손흥민 선수의 아버지이자 축구 지도자인 손웅정은 그의 책 <모든 것은 기본에서 시작한다>에서 손흥민 선수가 유럽에서 데뷔골을 넣고, 언론에서 혜성처럼 나타난 선수라고 보도했을 때 혜성처럼 나타난 선수는 없다고 말했다. 꾸준히 노력해서 성장해 왔고 지금 조명을 받는 것뿐이라는 것이다. 일하는 환경을 바꾸는 것도 마찬가지이다. 어느 날 갑자기 내가 성장할 수 있는 회사로 이직할 수 있는 것이 아니다. 평상시에 일하는 환경을 바꾸기 위해 꾸준히 노력해야 한다.

 

그런데 면접에서 내게 적합한 성장할 수 있는 환경인지 아닌지 어떻게 알 수 있을까? 이직에 대한 단상 글에서는 아래와 같이 자신만의 기준을 만들고 이를 점수화하는 방법을 소개하고 있다.

 

셀프 점수화

 

이는 효과적인 방법이라고 생각한다. 숫자는 내가 놓치고 있는 부분을 깨닫게 해 주기 때문이다.

 

이에 더해 나는 면접관을 면접해야 한다고 생각한다. 그 이유는 내가 성장할 수 있는 곳인지 아닌지에 대한 정보를 얻어야 하는데 일반적으로 면접을 본 사람과 함께 일하게 될 가능성이 높기 때문이다. 따라서 그 사람과의 대화에서 정보를 얻어내야 한다. 그럼 정보를 얻기 위해 어떤 질문을 하면 좋을까? 개발 철학? 모호한 질문은 모호한 답변만 돌아올 뿐이다. 내 생각에는 일을 하면서 평상시 본인이 겪었던 구체적인 문제를 질문하는 것이 좋다. 내가 직접 겪었던 일이기 때문에 상대방(면접관)은 일에 어떻게 접근하는지 방식을 비교해 볼 수 있기 때문이다. 예를 들면 아래와 같은 식이다.

 

제가 있던 곳에서는 A라는 문제로 동료와 갈등을 겪었는데 여기서는 이런 문제를 구체적으로 어떻게 해결하고 계신가요?

 

핵심은 구체적인 행동 질문해야 한다는 것이다. 그래야 진짜 정보를 준다.

 

 

불안에 대처하는 자세

성장은 갑자기 하루아침에 이루어지는 것이 아니다. 제럴드 와인버그가 말한 것처럼 협곡과 고원을 오가며 조금씩 서서히 일어난다. 그렇기에 그 과정에서 쉽게 불안을 느낄 수 있다. 꼭 일의 난이도가 높다고 해서 불안을 느끼는 것만은 아니다. 일의 난이도가 낮아도 “이렇게 성장이 멈춘 채로 있어도 되나?”라는 불안이 항상 존재할 수 있기 때문이다.

 

불안이란 무엇일까? 책 <인스타브레인>에서는 불안은 ‘몸의 보호 장치’라고 설명한다.

 

기본적으로 불안은 생존 기능이다. (중략) 불안은 불편한 느낌이 극에 달한 감정으로, 위협을 느꼈을 때 찾아오며 이때 신체의 스트레스 대응 시스템이 작동한다. - <인스타브레인> 55쪽

 

모든 감정에는 이유가 있다. 나쁜 감정, 좋은 감정은 없다. 불안을 나쁜 감정이라고 판단하고 이를 무시하거나 별거 아닌 일로 치부한다거나 혹은 다른 감정을 치환하려고 할 수 있는데, ‘감정 코칭’으로 유명한 존 가트맨 박사는 이를 ‘감정 일축형’이라고 부른다. 감정 일축형은 문제를 받아들이기보다 회피에 가깝다. 불안을 피하지 말고 내가 왜 불안을 느끼는지 자문해 원인을 찾아야 한다.

 

하지만 그 불안의 원인이 내가 어떻게 할 수 없는 것에 있다면 어떻게 해야 할까? 코로나19가 전 세계를 휩쓸었던 2년 전 내가 다니는 회사도 코로나19에서 자유롭진 못했다. 사업의 재정비가 불가피했다. 하지만 개발자인 내가 노력한다 해서 해결할 수 있는 문제가 아니었다. 자고로 사업은 운칠기삼의 영역이 아니던가. 하버드 의대 임상정신과 교수인 존 레이티는 그의 책 <운동화 신은 뇌>에서 불안을 느끼는 자신의 환자들에게 약이 아닌 몸을 움직이는 운동이 훨씬 더 효과가 좋았다고 말하고 있으며, 그 이유를 뇌와 신체의 관계에서 찾고 있다.

 

누구나 불안에 직면하면 본능적으로 상황을 피하려고만 한다 울타리 속에 갇힌 쥐가 얼어붙듯이 말이다. 하지만 그런 본능을 거역하고 행동함으로써 우리는 인지 재구성을 하게 된다. 신체를 사용해서 뇌를 치유하는 것이다. - <운동화 신은 뇌> 147쪽

 

최선을 다하고 있어도 불안할 수 있다. 이럴 땐 불안이라는 감정을 일축하지 말고 자연스러운 감정으로 받아들이자. 원인을 찾고 내가 해결할 수 없는 일이라면 우선 몸부터 움직여 보는 것은 어떨까?


(참고 자료)

  • <함께 자라기>(인사이트, 2018, 김창준 지음)
  • <몰입의 즐거움>(해냄, 2021, 미하이 칙센트미하이 지음)
  • <테크니컬 리더>(인사이트, 2013, 제럴드 M. 와인버그 지음)
  • <일의 99%는 피드백이다>(21세기북스, 2021, 더글러스 스톤, 쉴라 힌 지음)
  • <눈 떠보니 선진국>(한빛비즈, 2021, 박태웅 지음)
  • <부자 아빠 가난한 아빠 2>(믿음인, 2012, 로버트 기요사키 지음)
  • <들어주고, 인내하고, 기다리는 유대인 부모처럼> (스마트비즈니스, 2018, 장화용 지음)
  • <모든 것은 기본에서 시작한다>(수오서재, 2021, 손웅정 지음)
  • <내 아이를 위한 감정코칭>(해냄, 2020, 최성애, 조벽, 존 가트맨 지음)
  • <인스타 브레인>(동양북스, 2020, 안데르스 한센 지음)
  • <운동화 신은 뇌>(녹색지팡이, 2009, 존 레이티, 에릭 헤이거먼 지음)

 

요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.

좋아요

댓글

공유

공유

댓글 16
roloworld
            @slack2beck 기대하고 있겠습니다!
          
2023.04.27. 오후 14:32
작성자가 삭제한 댓글입니다.
실수투성이 개발자의 성장 이야기
148
명 알림 받는 중

작가 홈

실수투성이 개발자의 성장 이야기
148
명 알림 받는 중
솔루션 회사를 시작으로 컨설팅 회사 그리고 서비스 회사를 거쳐 지금은 스타트업에서 개발자로 일하고 있습니다. 주로 오픈소스 제품 개발, 기술 자문 및 코칭을 하고 있으며 기술과 인간의 상호작용에 관심이 많습니다.

좋아요

댓글

스크랩

공유

공유

요즘IT가 PICK한 뉴스레터를 매주 목요일에 만나보세요

요즘IT가 PICK한 뉴스레터를
매주 목요일에 만나보세요

뉴스레터를 구독하려면 동의가 필요합니다.
https://auth.wishket.com/login