함께 자라기 1. 자라기

jiffydev·2021년 7월 21일
0

함께 자라기

목록 보기
1/2

1. 당신은 몇 년 차?

소프트웨어 개발자라면 경력 연차와 실력이 항상 비례하지는 않는다는 것을 잘 알 것이다.
수많은 연구에서도 경력과 성과는 관련성이 크지 않다는 결과가 공통적으로 나오고 있다.
그렇다면 무엇을 기준으로 사람을 채용해야 할까?
구조화된 행동중심적 인터뷰를 통해 채용 기준에 부합하는지 판단하고, 작업 샘플 테스트나 실제 업무와 유사한 업무를 부여함으로써 실력을 판단하는 것이, 가장 적절한 사람을 채용할 가능성이 높은 방법이다.

나아가, 아무리 뛰어난 사람을 뽑았더라도 그 사람을 어떻게 성장시킬지에 대한 고민 없이는 그 능력을 제대로 발휘하지 못한다.
따라서 회사 시스템적으로 직원들을 교육하고 성장할 수 있도록 돕는 것도 회사의 일이며, 이를 통해 회사도 성장할 수 있다.

연차와 실력이 상관 없음을 알았으니, 실력을 키우려면 무엇을 해야 할까?
1만 시간의 법칙이 한 때 유행했으나, 이는 단순히 평소의 업무를 수행하면서 시간을 채우는 것만으로는 달성할 수 없다.
이를 1만 시간 닦는다고 양치의 전문가가 되지 않는 것과 마찬가지다.
'자신의 기량을 향상시킬 목적으로 반복적으로 수련'하는 의도적 수련을 1만 시간 수행해야 비로소 전문가가 될 수 있는 것이다.

2. 자기계발은 복리로 돌아온다

꾸준한 자기계발은 축적될수록, 자기계발을 하지 않은 사람과 큰 차이를 만들어 낸다.
그렇다면 단순히 자기계발이라고 했지만 어떤 노력을 해야 자기계발일까?
이를 알기 위해서는 우선 작업의 세 가지 수준을 살펴볼 필요가 있다.

더글러스 엥겔바트라는 사람은 작업을 A, B, C 세 수준으로 구분했는데, A작업은 원래 하기로 되어 있는 일, B작업은 A작업을 개선하는 일, C작업은 B작업을 개선하는 일이다.
이 중 가장 중요한 것은 C작업으로, C작업의 품질이 제품 자체와 이를 생산하는 시스템도 결정짓기 때문이다.

C작업을 통해 개선점이 결과물에 반영되고, 결과물은 다시 개선에 도움을 줌으로써 기하급수적으로 성장할 수 있게 된다. 이는 개인의 성장뿐만아니라 조직의 성장과도 연관지을 수 있다.

현재의 A작업을 개선하기 위해서, 그리고 자기계발의 복리효과를 더 크게 누리기 위해서는 다음과 같은 태도가 필요하다.

  • 이미 갖고 있는 것들을 활용
    새로운 것들을 유입시키기보다는 기존의 지식, 기술, 경험을 연결짓고 영역간의 교류를 활성화한다.

  • 외부 물질 체화
    주기적으로 외부 자극을 받고, 이를 체화해야 한다.

  • 자신을 개선하느나 프로세스에 대해 회고
    A작업을 되돌아보는 회고 활동을 주기적으로 하는 프로세스 구축과 B작업을 어떻게 개선할 수 있을지 고민한다.

  • 높은 빈도의 피드백
    새로운 정보를 얻었다면 최대한 빠르게 이를 가지고 실험해본다. 일찍, 자주 실패한다.

  • 자신의 능력을 높여주는 도구와 환경을 점진적으로 만들기
    완벽한 도구와 환경이란 없다. 점진적으로 만들어나가야 한다.

3. 학습

인공지능이 많은 직업을 대체할 것이라는 말이 여기저기서 들려오고 있다.
인공지능에 의해 대체될 직업은 어떤 것들일까?
공통적으로는 목표가 명확하고 선택의 피드백이 빠르며 외부 요소에 의한 방해가 어렵다는 특징을 가지고 있다.

인공지능에 의해 대체되지 않기 위해서는 이와 반대되는 특징을 가진 직업, 직무를 택해야 하는데, 개발자의 경우 단순히 요구사항을 구현하는 일은 대체될 가능성이 높다.
반면 요구사항으로부터 설계와 솔루션을 도출하는 일을 하게 될 경우 인공지능에 의해 대체될 가능성이 낮다.
따라서 자신의 현재 직무를 파악하고, 인공지능에 의해 대체될 가능성이 높다면 하루라도 빨리 암묵지와 직관을 배우고 수련하는 방법을 배워야 한다.

4. 피드백

전문성을 형성함에 있어 중요한 요소는 타당성과 피드백이다.

타당성이란 직관이 적용되는 영역에 어느 정도 인과관계와 규칙성이 존재해야 한다는 것으로, 주가 예측처럼 전문가와 일반인의 예측 결과에 큰 차이가 없다면 타당성이 낮다고 할 수 있다.

피드백은 자신이 내린 판단에 대해 빨리 피드백을 받고 이를 통해 학습할 기회가 주어지는 환경이 갖춰저야 한다는 것으로, 기존의 소프트웨어 개발은 타당성과 피드백이 낮은 편이다.

따라서 개발자가 전문성을 갖추기 위해서는 의도적으로 타당성과 피드백을 높이기 위한 노력이 필요하다.

5. 수련

전문가가 되기 위한 1만 시간의 법칙에서, 의도적 수련이 필요하다는 점은 이미 위에서 언급했다.
그렇다면 의도적 수련에는 무엇이 필요할까?

이에 대한 대답은 심리학자인 미하이 칙센미하이의 몰입 이론에서 찾아볼 수 있다.

몰입 이론에 의하면 인간이 몰입할 수 있는 조건은 위의 그래프와 같다고 한다.
즉, 실력과 작업의 난이도가 얼마나 일치하냐에 따라 몰입여부가 달라지는데 이를 현재 자신이 하고 있는 일과 연관지어, 같은 일을 하더라도 스스로 의도적 수련을 하게 할 수 있다.

예를 들어 Bordem의 영역에 있는 경우 자신의 실력에 제한을 걸거나 작업의 난이도를 높이는 방식으로, Anxiety의 영역에 있는 경우 공부를 통해 자신의 실력을 높이거나 할 수 있는 가장 간단한 작업부터 시작함으로써 낮은 난이도의 작업을 먼저 성공시키는 방법이 있다.

6. 실수

실수를 대하는 방식은 두 가지가 있다. 실수 예방을 중시하는 방식과 실수 관리를 중시하는 방식이다.

실수 예방을 중시하는 경우 실수하는 것 자체가 죄악시되기 때문에, 문제가 발생하더라도 이를 감추고자 하는 경향이 있다. 따라서 실수가 발생하지 않으면 다행이지만, 발생하게 되면 피해가 걷잡을 수 없이 커지게 된다.
반면 실수 관리를 중시하는 경우에는 실수가 더 나쁜 결과를 내기 전에 이를 차단하고 실수를 통해 배울점을 찾으면서 학습하는 분위기를 만듦으로써, 피해는 줄이고 학습효과는 높일 수 있도록 한다.

전문가라고 해서 실수를 하지 않는 것은 아니다. 하지만 전문가가 전문가인 이유는, 비록 실수를 하더라도 이를 조기에 발견하고 빠르게 조치를 취할 수 있기 때문이다. 그리고 이는 실수 관리에 해당한다.

7. 교육

지식이 많은 전문가에 의한 교육은 생각보다 그 효과가 크지 않다.
전문가는 자신의 지식 중 대부분이 익숙해져서 무의식적으로 처리하는 부분이 크기 때문에, 이를 당연한 것으로 생각하고 가르치지 않는 경우가 많기 때문이다.
따라서 가르치는 사람은 항상 자신이 문제를 해결할 때의 인지 과정을 되돌아보면서 메타인지를 높이고, 배우는 사람은 전문가의 인지 과정을 파악하기 위해 노력해야 한다.

아무리 좋은 기술을 학습하려고 해도 사회적 자본과 기술이 결여되어 있다면 무용지물이다.
전문가는 자신의 능력만 뛰어난 것이 아니라 타인과의 커뮤니케이션 능력도 뛰어난 사람이다.
조직에서 어떤 기술을 새로 적용하고자 할 때, 그 분야의 지식이 많은 사람이 나서서 가르치더라도 그 사람의 사회적 자본이 부족하다면(신뢰, 협력 등) 기술이 전파되기는 쉽지 않다.
기술적 지식을 전달하더라도, 이를 사회적 맥락 속에서 가르치고 경험하도록 해야 한다.

profile
잘 & 열심히 살고싶은 개발자

0개의 댓글