본문 바로가기
생각정리

[21.05.23] 우아한테크코스 - 나만의 학습법

by igy95 2024. 1. 8.

똑같은 행위를 의식적으로 반복하는 이들에게는 저마다의 철학이 있다. 이 낯선 환경에 적응한 지도 어느덧 몇 개월을 훌쩍 넘긴 나는 매일 '개발'이라는 같은 행위를 반복한다. 길다면 길 수도 있는 이 기간에 내 안에 자리 잡은 것은 무엇일까. 아직은 부끄러운 수준이지만 '나만의 학습법'이라는 주제를 내세워 부족한 경험이나마 몇 자 끄적여 본다.

아카이빙

프로그래밍 언어의 학습 방식은 외국어를 배우는 과정과 비슷하다. 언어를 능숙하게 사용하기 위해서는 다양한 어휘, 문법 체계만큼 표현에 대한 뉘앙스를 이해하는 시간도 중요하다. 뉘앙스를 알아야 앞뒤의 문맥을 잘 파악할 수 있고 더욱 복잡한 문장도 구사할 수 있기 때문이다.

 

뉘앙스는 사전적 정의에서 음색, 명도, 채도, 색상, 어감 따위의 미묘한 차이 또는 그런 차이에서 오는 느낌이나 인상이라 일컫는다. 말 그대로 느낌적인 느낌이다. 이러한 관점으로 보면 프로그래밍 지식이란 결국, 기계 따위에서 돌아가는 일들을 인간이 이해할 수 있게끔 친숙한 표현으로 추상화해놓은 결과물이다. 즉 큰 맥락에서 표면적인 지식을 습득하는 건 그리 어려운 일이 아니나 속을 깊이 파헤칠수록 해당 지식을 다룬 글마다 뉘앙스가 다르기에 이해의 정도나 방향 또한 조금씩 달라진다.

 

개인적으로 하나의 지식을 이해하기 시작했다고 느끼는 시점은 이렇게 다양한 뉘앙스에서 공통으로 강조하는 부분만 추출해 나만의 표현으로 정리하는 때이다. 나는 이 과정을 아카이빙이라고 부른다. 과정은 복잡하지 않다. 특정 지식을 다루는 여러 방대한 정보들을 (이해했다는 전제하에) 최대한 수집한 뒤, 한 곳에 응집시키고 묵혀둔다. 그리고 여유를 가져 적절한 목차를 설정하고 그 목차에 맞게 글을 재구성한다. 마치 글감을 모아 하나의 글을 완성하는 과정과 비슷하다. 아카이빙은 단순히 글을 옮겨 적는 것과는 다르다는 사실을 인지해 주었으면 한다.

 

여기서 강조하고자 하는 건 수집 < 정리의 우선순위이다. 자료의 불필요한 수식을 걷어내고 흐름에 집중하다 보면, 자신도 모르게 어딘가 논리의 허점이 보이는 순간이 온다. 그러면 허점을 채울 수 있는 자료를 모으는 것에 집중할 수 있다. 이 루틴을 반복하여 어느새 그럴듯한 한 편의 글로 완성했다면, 이 글은 온전히 지식에 대한 본인의 철학이 된다.

함께 자라기

이렇게 촘촘히 지식을 정리하더라도, 공식 문서가 아닌 이상 글에는 주관이 섞일 수밖에 없다. 스스로 이해하기 위해 추상화 과정을 한 단계 더 거쳤기 때문이다. 그렇다면 입맛에 맞게 가공한 지식은 어떻게 검증할 수 있을까? 나는 이에 대한 갈증을 우아한테크코스에서 해소했다. 레벨 2로 넘어오며 눈에 띈 변화는 크루들의 자체적인 스터디 활성화였는데, 그 중 참여했었던 하브루타 기반 스터디에 대한 경험을 짧게 나누어보고자 한다.

 

하브루타란 유대인들의 전통적인 학습 방식으로, 둘씩 짝을 지어 이해한 것을 검증하기 위해 질의응답을 이어가는 학습을 지칭하는 단어이다. 이 학습의 장은 정답을 찾거나 반박을 하기 위한 자리가 아니다. 다만 한정된 지식의 울타리 안에서 서로 다르게 받아들인 지점에 대한 fit을 맞추어가는 과정이다. 처음 스터디가 열렸을 때 이 취지에 굉장히 공감했고, 약 두어 달 정도를 꾸준히 참여했다. 개념을 설명하고 상대방의 동의를 얻어 내는 경험을 쌓으며 지식을 더욱 견고히 다질 수 있는 시간이었다.

 

내가 알고 있는 지식을 검증하고 싶을 때 설명을 들어줄 누군가 곁에 있다는 건 학습을 위한 아주 좋은 신호이며, 그 누군가가 비슷한 수준의 이해도를 공유하고 있다면 이는 더없는 기회라고 생각한다. 반대로 설명을 듣는 상대방은 모르는 것을 알거나 어설프게 숙지한 것을 재차 확인하며 배움의 시간을 가질 수 있다. 충분한 양질의 대화를 나누며 상호 학습을 추구한 우리는 결과적으로 함께 자란다. 만약 막막하거나 더 알고 싶은 지식이 있다면, 인터넷도 좋지만 바로 옆에 있는 동료에게 넌지시 공유해보면 어떨까.

회고

프로그래밍의 본질은 단순히 코드를 작성하는 행위를 넘어 그것을 통해 결과물을 구현하는 데에 있다. 게다가 어떤 조직에 속해 일하게 된다면, 결과물의 퀄리티만큼 일정의 준수 또한 배제할 수 없는 요소이다. 이러한 측면에서 위와 같은 방법은 단기간에 아웃풋을 내기에 적절치 않다.

 

레벨 2를 진행하며 분명히 마주했던 한계 앞에서 적지 않은 회의감과 함께 보완의 필요성을 느꼈다. 앞으로는 기존의 학습법은 유지하되, 지식을 조금 더 도구의 관점으로 바라보며 빠르게 적용할 수 있는 대안을 찾을 생각이다. 꾸준한 성장에 깊은 학습은 필수 불가결이다. 하지만 학습을 위한 학습으로 이론에 매몰되는 자세는 경계하도록 해야겠다.