개발 아니 삶의 방법론에 대해서.

낭만개발자·2020년 12월 16일
0
post-thumbnail

본문에 앞서..

세바시에 아주대 김경일 교수님의 인사이트에서 영향받은 생각들이다.
어떻게 하면 개발을 잘 할 수 있을까? 즐기면서 할 수 있을까? 에 대해 평소 생각해보았다. 사실 이러한 화두는 오랫동안 생각해보았고, 내 삶의 경험 속에서 자주 실천해보며 실패해보며 보완해보며 나온 생각이고 여기 글이다.
즉 순간적으로 생각이 들었겠지만 그 생각 속에는 내가 사는 동안 경험하고 느낀것들이 축적되었다. 그래서 기록을 하려한다.

무언가를 잘하고 싶다면?

3단계로 생각한다.

개발 뿐만 아니라 공부, 업무 등등에서도 공통으로 계획을 세우는 타입을 바탕으로 3단계 하수, 중수, 고수로 나눴다.

하수

잘 하고 싶은 걸 시간 단위로 계획해서 공부하거나 실행한다.

시간 단위 계획
하루에 2시간 이상 코딩하기, 1시간 운동하기 등등

사실 하수는 아닌, 어쨋든 무언가를 시간을 잡고 하겠다는 게 훌륭하다. 그렇지만 좋은 방법은 아니다. 김경일 교수님 강연에서 나온 내용 처럼 시간을 기준으로 잡고 무언가를 하면 질이 떨어진다. 양적으로 채우는 거지 집중이 잘 되게 하거나 질적으로 충족이 되는건 아니다. 잘하려면 양이 중요한게 아니라 질이 중요하다는게 확실히 맞는것 같다. k리그에 선수나 프리미어리그 선수나 20대 프로가 되기까지 양적인 축구 연습 시간이 그렇게 많이 차이날까? 난 그 차이는 코치의 재량, 효율적인 훈련시스템 등 이런것도 있지만 가장 큰 차이는 축구에 대한 애정, 단순 밥벌이가 아닌 잘하고 싶다는 열정 등에 있다고 본다. 그런 부분에서 잘하고 싶다는 본질적인 욕구가 아닌 이 만큼 했으니 밥벌이를 해야한다는 부담이나, 높은 연봉과 인기를 얻기 위한 도구로서 축구를 보는 관점, 등등에서 k리그와 프리미어리그 선수 차이가 만들어진다고 생각한다. (프리미어리그 같은 선수가 나오려면 중,고 선수시절 줄빠따로 맞거나 선배들한테 경기 선발 되기위한 꼼수만 배우거나, 선배들처럼 술먹고 나이트가면서 노는 그런게 아닌 주변에 괜찮은 어른이 있어서 비전에 대해 계속 얘기도하고, 서로 모여 축구 토론도 하고, 특히 공차는 애라고 운동장에만 있지 말고 책과 공부도 같이 시키는게 k리그와 프리미어와 가장 큰차이가 아닐까하는)
즉, 시간단위로 공부를 계획하면 채우기에 급급해지거나 몰입에 좋은 영향을 주진 못한다.

중수

시간 단위 할당에서 벗어나, 약 1주일, 등 일별로 해야할 공부, task 단위, 챕터를 분할 해 놓고 그 챕터나 task를 이해하고 구현하는데에 분량 단위로 계획하거나 공부한다.

분량 단위 계획

말 그대로 분량을 정해두고 공부나 일을 하는 것이다. 공부를 한다면 chaper 1을 오늘 끝낸다거나 task1, 2를 처리한다는 식이다. 사실 실제 회사원이면 분량단위로 일을 처리할 수밖에 없을 것이다. 무시무시한 데드라인이 존재하니까. 그럼 공부면에서 말하자면 분량단위로 계획하는 것도 어쨋든 이걸 처리하자는 식의 생각이 무의식 속에서라도 존재하게 된다. 그 해당 분량을 못채웠을 때는 자책감을 갖기 쉬우며, 채웠을 경우는 그만해야겠다 라는 생각을 갖기 쉽다. 그날 분량의 달성이 목표가 되기 쉽고 물론 시간 단위보단 훨씬 유익하다고 생각한다. 다만 흥미를 늘리기엔 아쉬운 방법이며, 그래서인지 본질적으로 괜찮은 방법이라고는 생각하지 않는다. 개인적으론 말이다.

고수

공부나 일을 하기위한 정해놓은 시간, 어디까지 해야하겠다는 강력한 분량도 없다. 우선적으로 최소한 오늘 공부하겠다는 아주 소심하고 조그마한 주제가 있을 뿐이다.

할당된 시간과 분량이 없는 최소한의 주제만 가지고...

그렇다 이상적이다. 미리 밝혀야 했지만 난 INTJ형으로 매우 이상주의자 타입이다. 현실감각이 충분히 떨어져 보일 수 있겠지만 나는 충분히 이 방법이 맞다고 생각한다.
공부를 예로 든다면 내일 모레 등 주간계획을 세우더라도 아주 간단히 혹은 세우지 않는다. 순간 그냥 눈 앞에 있는 걸 이해하고 즐긴다. 만약 node 부분에 post 함수 쓰는걸 공부한다면 2일 안에 post get 함수 쓰는걸 이해하고 끝내야지! 라고 계획을 잡지 않는다. 최소한의 "post, get 의 방식을 이해한다" 라는 작은 주제를 가지고 api문서를 읽고, example 코드를 처보고 돌아가는 걸 보고, 거기에 변형해서 자기 코드를 만들어 본다던지 아니면 확장해서 restful 조건을 읽어 본다던지 거미줄 처럼 확장해 나간다.
1일이 될수도 4일이 될수도 있지만 내가 제대로 이해했다고 느껴질때까지 보거나 혹은 재미가 없으면 지나간다. 공부하는 과정에서 물아일체 를 느끼는 것이다. 내가 있다는 존재감마저 상실한 호기심과 생각만 있는 완전 몰입을 한 상태에서 공부를 하는 것이다. 정해진 시간과 분량이 없어야 이 몰입이 보다 쉽게 된다.

내가 post 함수가 되고 post 함수가 내가 된다...

이 물아일체 몰입에서 공부나 일의 장점은 잘 된다는건 차치하고 재미있었다는 거다. 몰입을 하게 되면 사람이 행복감을 느끼고 흥미가 고조된다. 그래서 다음번 책상에 앉을 때 괴로움이 줄어든다. 어떠한 일이든 공부든 즐거워야 된다고 생각한다. 2~3년만 개발할 게 아닌 몇십년을 할거면 주니어 레벨에선 공부하는 방식이나 태도를 잡는게 훨씬 중요하다고 본다.
그래서 저 고수형 단계에 공부나 개발을 하려면 최소한 이긴 하더라도 주제는 목적성이 있어야 한다. ex)post나 get 함수 이해는 할꺼야! 라던가
이 서비스의 이 기능은 완성은 할꺼야! 라던가, 물리라면 상대성 이론이 핵심 개념은 이해할꺼야! 라던가..
여기서 혹 중수랑 고수랑 뭐가 다르냐, 중수 고수 다 목표 세우는데? 라고 말한다면 중수는 포커싱이 이걸 끝낸다, 이해시킨다, 달성한다는 할당 중심으로 일이나 공부를 진행한다면
고수는 해야하는게 있으면 물론 끝낸다가 목표가 되긴 하겠지만 포커싱은 언제나 자신의 완전한 이해를 바탕으로 진행해 나간다. 관점의 차이이다.

프로젝트 내에 일을 끝내는건 프로의 의무이다 그래서 이러한 게 한가로운 소리로 들릴 수 있다. 그렇지만 내가 경험한 개발은 지금 스킵하면 스킵한 부분은 나중에 어떤 수로든 다시 찾아왔다. 그때 제대로 공부해 둘 걸 이란 후회에서 이런 글이 나왔다.

단기적인 일에는 시간이 중요하겠지만, 장기적인 일이라면 시간을 넣는건 어리석다. 장기적인 일에는 마감은 질을 떨어뜨린다.
-김경일 교수님

직업학교에서든 대학에서든 벼락치기로 공부하지 마라.
사회, 문화, 학문의 지평을 넓히는 기회를 놓치지 마라. 정해진 시간표 너머에 무엇이 있는지 살펴라. 인턴십, 외국어강좌, 성격개발, 명사 강연등. 고급 아비투스는 전문 지식과 이론 지식 그 이상을 요구하고 지원할 때는 분야 관련 기술도 있어야 한다. 교육을 통한 계급 상승자는 출신 환경으로부터 이런 질문을자주 받는다. "그걸 해서 뭐 하게? 그게 돈이 돼?" 이런 질문에 방해받지 않고 위로 도약하려면 의식적인 노력이 필요하다.
-책, 아비투스

감성으로 공부하면 하나를 배워도 새로운 안목이 생기고, 관련 지식이 기하급수적으로 연결되면서 더 넓은 지식의 그물망으로 확장된다. 처음에는 발전이 느려 보여도 그렇지 않은 사람과 격차는 점점 커진다.
-책, 그물망 공부법 조승연.

인간극장을 보면서 9x 세의 할아버지가 정성스럽게 농사일을 하시는 걸 보았다. 고구마를 심는것도 하나하나 정성스럽고 꼼꼼하게 심으셨고, 농약도 꼼꼼하게 뿌리고 모든일이 섬세하고 꼼꼼했다. 농사나 개발이나 업의 본질은 다르지 않다고 생각한다. 개발도 예외처리도 꼼꼼히 해두고, 주석도 나중에 알기쉽게 달아두고, 트러블 슛팅도 꼼꼼히 해두고, 성실하게 하면 좋은 생산물이 나온다. 나중에 후회도 없다.
그렇게 괜찮은 농사꾼이 되면 부농이 되든 아니든 밥 몇톨 흘리는 것도 그렇게 아깝다고 한다. 그 흘린 쌀이 값어치가 얼마가 되어 아까운게 아니라 자신이 그렇게 애지중지 키워온 벼에서 나왔으니 아까운 것이다.
청년이 지나고 중장년이 되고 노년이 되어도 꾸준히 논 밭에 나오신다. 심고, 농약 뿌리고, 잡초 제거하고 거둔다. 어느 지점부터는 농사일이 먹고 살기 위한 수단의 일이 아닌 그냥 삶의 일부분이 된다. 돈 잘버는 자식들이 그렇게도 말리고 하지말라고 해도 아직 건강하다며 매년 논 밭을 가꾸신다. 그 분에겐 하나의 가치를 생산하는 귀중한 놀이가 되었다고 난 믿는다.

난 나이가 70까지 아마 시력이 허락하는 한까지 개발을 하고 싶다. 그래서 방향을 잘 잡으려 한다. 내가 가진 강점은 이상주의 부분이다. 그래서 공부도 이상적으로 하고자한다. 나이가 들수록 개발 실력은 늘어야 한다. 40대가 되면 나의 30대보다 잘할 것이며 50대가 되면 40대보다 잘할 것이다. 60대가 되면 50대 때보다 잘할 것이다. 그러기 위해선 공부를 진정으로 하자라고 생각해보며 글을 마친다.

profile
낭만닥터와 슬의를 보고 저런 개발자가 되어야 겠다고 꿈꿔봅니다.

0개의 댓글