함께 자라기 중 큰 차례 세 가지 중 첫번째인 “자라기” 부분을 읽고 느낀점이나 나의 현재 상황에서 어찌 적용할지 등에 대해 쓴다. 책 내용에 대한 설명은 적을 것 같다. 그럼에도 불구하고 책 문구 그대로 깔끔하고 부연이 필요 없는 부분은 그대로 인용할지도 모르겠다.
자라기
야생 학습, 난 이것이 마음에 든다. 물론 나도 ‘학교 학습’ 방식으로 자라려고 했던 주니어 시절이 있었다. 마침 이 책을 읽을 때 쯤 야생 학습을 해야만 하는 아주 불확실하고 불안정한 환경에 놓였다. 자연스럽게 그렇게 학습하며 생존하고 있어서 책에 더 몰입하게 됐다.
당신은 몇 년차?
개발자에게 경력 연차가 실력과 비례하지 않는다. 그 뿐만 아니라 채용 후 직무 성과와의 상관성은 다른 지표에 비해 아주 낮다는 것을 강조한다. 또 인지하지 않고 단순 시간만 채우는 수련 방법은 무의미하고, ‘의도적 수련(deliberate practice)’으로 기량을 향상시킬 수 있음을 강조한다.
슬그머니 이력서의 ‘몇 년차 개발자’를 아주 아래로 빼본다. 나중엔 아예 없애고, 이런 사회 통념상의 기본 값을 깰만큼의, 더 대단한 내용으로 채워보자. 의도적 수련을 ‘해야한다’는 마음도 중요하지만, 그렇게 하지 않고 보내는것에 대한 경각심을 먼저이다.
자기계발은 복리로 돌아온다
유명한 말이다. 복리()가 아닌 단리()식의 자기계발이 되지 않게 주의하자. 더글라스 엥겔바트의 작업 구분에서 A()가 아니라 B() 그리고 C()의 작업을 하도록 노력해야 한다.
•
A: 제품/서비스 개발, 생산, 판매 등
•
B: A 작업을 개선하는 프로세스, 시스템 설계
•
C: B 작업을 개선. 인프라, 사고방식, 상호작용 방식 등
요즘 실제로 B 또는 C 수준의 작업을 하고 있는 것 같다(처음이라 확신이 없지만). DevOps로써 역동적으로 개발하는 개발자들의 오와 열을 맞추는 것과 같은 일이다. 괴로울 정도로 어렵지만 왠지 모를 효용감 같은 것이 느껴진다. 내가 잘하고 있는가에 대한 고민에 작은 격려를 받은 것만 같다.
A 작업이 능숙해져 빨라지는 것도 경계해야한다. A 반복 작업을 하는 것의 의미가 없진 않다. 그 과정에서 B 그리고 C 작업으로 연계를 생각하면 된다.
하지만 나는 복리의 마법이 크게 와 닿진 않는다. 매일 1%의 복리 성장이 일년 후에 30배 이상이 된단 말을 들어도… 부족한 경제 관념과 연관이 있는 것일까?
그래서, 이율과 이자 받는 날 주기를 짧게하는, 저자의 힌트를 그대로 옮겨 적어본다:
•
자신이 이미 갖고 있는 것을 잘 활용하라.
•
외부 물질을 체화하라.
•
자신을 개선하는 프로세스에 대해 생각해 보라.
•
피드백을 자주 받아라.
•
자신의 능력을 높여주는 도구와 환경을 점진적으로 만들어라.
학습 프레임과 실행 프레임
학습(learning) 프레임은 ‘자라기’, 실행(execution) 프레임은 ‘잘하기’이다. 이 말 자체는 이해할 수 있지만 조금 다른 이야기를 해보면,
•
나는 학습이 study라는 느낌이 들어 (이 책 읽기가 끝나면) 습득이란 말을 쓰려고 한다.
◦
학습 = 학교 학습
◦
습득 = 야생 학습
•
이 연구에서 말하는 실행에 영어 주석이 없었으면 갸웃할뻔 했다. 완벽주의 vs. 완료(Done)주의에서 완료와 실행이 비슷하다고 느꼈기 때문(원래 책에서 말하려던 것과는 무관하다)
가장 학습하기 힘든 직업이 살아남는다
암묵지와 직관이 중요한 직업 또는 그런 사람, 다시 말해 컴퓨터가 대체하기 힘든 일을 해야 살아남을 수 있다. 지금은 알파고가 아니라 챗지피티의 시대다. “사람이 할 일을 하자”.
달인이 되는 비결
1.
실천하려는 동기가 있어야 한다.
2.
구체적인 피드백을 적절한 시기에 받아야 한다.
각각을 위해 내가 할 수 있는 일은
1.
하려는 일에 대한 논증, 추론, 인지적 분석
2.
주변에 질문 자주하기
그리고 이것은 일보다 취미에 잘 활용하고 있다. 운동을 하며 큰 부상을 입었는데, 이런 방법으로 대한 회복을 넘어 기량 향상을 꾀하고 있다.
수십 년 동안 전문가가 안되는 비결
이 단원에서 다루진 않지만, 그 앞에서 많이 언급했던 “이 닦기”처럼 한다면 전문가가 되지 않을것이다. 우린 결국에 대부분 이가 성치 않거나 다 빠질테니까.
일에 대해선 그렇지 않도록 직관을 높이는 두 가지 조건에 대해 이야기 한다.
•
타당성(validity)
•
피드백
당신이 제자리 걸음인 이유
실력과 작업 난이도 축의 이차 평면에서 서로 정비례하는 영역인 몰입의 영역으로 가기 위해서:
•
지루함의 영역
◦
실력 낮추기 → 어려운 도구를 사용하거나 도구 사용 제한하기
◦
난이도 높이기 → (나중에 하는)오버엔지니어링, 도구 만들기, BP 적용하기
•
불안함의 영역
◦
실력 높이기 → 사회적 접근(도움 청하기), 도구적 접근(좋은 도구 사용하기), 내관적 접근(경험 되살리기)
◦
난이도 낮추기 → 아기버전 만들기, WTSTTCPW
그리고 이런 영역의 변화는, 하루에도 수십번 바뀔 수 있을 정도로, 아주 동적이다! 그런 사실을 인지하고 있어야 한다.
의도적 수련의 일상적 예시
개발자인지라 다른 직업이나 일상에서의 예시가 꼭 더 필요하진 않았다. 하지만 개발이 아닌 무언가 또는 무엇이든 잘하려면 이처럼 의도적 수련을 하면 될 것 같다.
프로그래밍 언어 배우기의 달인
사실 ‘프로그래밍 언어를 배우는게 크게 중요할까?’라는 의문이 든다. 내가 이미 몇가지를 할 줄 알아서 드는 오만한 생각일지도 모르겠다. 그럼에도 불구하고 새로운 프로그래밍 언어를 배우고 싶은 욕구가 있긴 하다. 여기서 제시하는 방법은 모두 유용하다고 느끼는데, 새로 배울 언어가 아닌 이미 잘할 줄 아는 언어에만 해당한다고 생각했다.
•
튜토리얼을 읽을 때 뭘 만들지 생각하고 읽는다.
•
공부할 때 표준 라이브러리 소스코드를 읽는다.
•
공부 중 다른 사람의 코드에 내가 필요한 기능을 추가한다.
어쩌면 나는 프로그래밍 언어를 배우는데 있어서 ‘권태의 영역’에서 제자리 걸음하고 있던게 아닐까? 최근 어떤 이유로 엘릭서 습득에 다시 관심이 생겼다. 적용해보자.
좋아하는 유튜버의 방식이다. 따라해보자. advent of code! → simple project → project
실수는 예방하는 것이 아니라 관리하는 것이다
실수 예방으로 학습 기회를 줄여 더 크고 복구 불가한 실수(장애)를 만들지 말자. 작은 실수로 학습하고 빠르게 대처할 수 있도록, 그런 인식과 문화가 자리 잡도록 ‘관리’하자.
뛰어난 선생에 대한 미신
뛰어난 즉, 전문지식이 많은 사람이 좋은 선생은 아니다. 좋은 선생은 학생(초보자) 입장에서 어떻게 해야하는가에 대한 인지적 분석을 잘하는 사람이다.
나도 강사, 콘텐츠 제공자로서 크게 고민했던 부분이다. 앞의 직업으로써 나는 교육을 서비스, 학생을 고객이라는 생각으로 접근했다. 책의 내용도 고객 입장에서 문제를 분석하고 해결하려는 마음과 같다고 생각한다.
나홀로 전문가에 대한 미신
기술만 집중하던 엔지니어에서 문제 해결사로 일하며 집중하던 그 무언가에, 그저 소프트스킬이라고 밖에 뭉뚱그려 생각했던 나의 것(인지 아닌지 헷갈렸던것)들에 ‘사회적 자본’이라는 훌륭한 이름을 달아주었다.
마침 이때 보게 된, 다음 영상으로 이 부분에 대한 감상을 대체한다.
자라기까진 엄청 몰입하여 읽었다. 어떤 구절은 크게 감화하고 또 어떤 구절은 첨언하고 싶지 않을만큼 군더더기 없이 좋았다. 책 자체도 좋지만 개인적인 시기로써도 적절했다. 한참 성장과 협업을 통해 일을 잘하고 싶은 나에게 필요한 책이다. 함께와 애자일도 기대된다.