몰입, 좋은 사람들과의 교제, 습관과 책임감의 중요성
얼마전 광화문에 있는 교보문고에 다녀왔습니다. 명색이 개발자라서 서점에 가면 꼭 한번은 IT 서적 코너에 들어가는 습관이 있는데, 딱히 사고싶은 책이 있어서는 아니고 요즘 동향은 어떤지 살피는 목적이 큽니다. 그러다 문득, 개발자 도서 칸에 있기엔 굉장히 감성적이고 몽글몽글한 제목과 표지가 눈에 들어왔습니다.
찾아보니 그렇게 유명하진 않았던 책 같은데, 목차는 또 굉장히 자극적이었습니다. 특히 '소셜 미디어와 내면의 파괴자'라는 제목은 이 책을 매우 흥미롭게 만들었습니다. 사실 개발자라는 직업은 SNS에 굉장히 취약합니다. 물론 원래부터 남들의 이야기에 관심이 없는 사람도 많고, 업무가 많으면 자연스럽게 멀어지기도 하지만, 남들보다 훨씬 컴퓨터 앞에서 많은 시간을 보내는 직업이기 때문에 잠깐의 마우스 클릭이 끝도 없는 피드 검색으로 발전하기도 하죠.
간혹 이를 장려하는 곳들도 많이 있습니다. 이제 SNS는 단순히 시간을 허비하게 만드는 마약같은 존재를 넘어서, 가장 빠르게 자극적인 소식을 전하는 맞춤형 뉴스같은 역할도 하기 때문인데요. 그래서 오히려 X, thread, 텔레그램 등 수많은 플랫폼을 계속해서 모니터링하고 그곳에 참여하는 사람들도 많습니다.
이러한 모습은, 어떻게보면 업무의 연장선으로 보이기도 하지만, 또 한편으로는 업무의 하나라는 가느다란 줄타기를 하도록 만들기도 합니다. 잠깐 나를 한눈팔게 만드는 곳으로 빠지는 순간, 어떤 유익하고 알찬 최신 정보가 올라왔는지 확인해보려는 기존의 목적과 다르게 자극적이고 중독적인 내용으로 빠져서 몇시간을 피드에서 헤어나지 못하게 만들 수도 있기 때문이죠.
이 책의 저자는 꽤 오랜시간을, 좋은 회사에서 일해온 시니어 개발자입니다. 이 책에서 저자는 본인이 개발자로 일하면서 느꼈던 경험들 중 태도와 습관, 그리고 일하는 방식에 대해서 설명합니다. 더 좋은 회사, 커리어, 연봉을 위한 개발자 가이드를 설명하는 대다수의 책들과 다르게, 이 책에서는 업무시간동안 내가 어떤 마음가짐과 습관을 가지고 일하면 더욱 효과적인 결과를 얻을 수 있는지 설명합니다.
이 책을 읽으면서 밑줄 지은 마음에 와닿은 부분들이 약 90개가 넘는데요, 그중 일부분을 요약해봅니다.
1. 프로그래밍은 지적인 사고력이 필요한 작업이므로, 온전히 집중하는 딥워크(deep work)가 매우 요구된다. 딥워크는 시작이 가장 어려운데, 작업을 시작하고 적어도 15-20분 정도 작업에 몰두해야한다. 왜냐하면 정신 상태의 변화는 의식적으로 생각할때가 아니라 저절로 일어나기 때문이다. 이 때 딥워크에 들어가는 것을 고민하지 말고, 그냥 활동을 시작해야 한다. 오히려 몰입 상태에 들어가지 못했다면 휴식을 취하는 것이 더 좋다.
2. 최고의 성과를 내는 개발자들은 모두 딥워크를 통한 몰입 상태를 즐겼다. 중간에 딴 생각이 들수도 있는데, 이를 비판하지 말고 오히려 인정하고 받아들이고 넘어가야 한다. 대부분의 사람들이 의식적으로 집중을 유지할 수 있는 시간은 하루에 고작 두어 시간밖에 되지 않는다.
3. 본인에게 너무 어렵거나 쉬운 작업을 할 경우 몰입 상태로 들어가기 어렵다. 그렇기 때문에 우리는 몰입 상태를 자주 경험하기 위해서라도 난이도를 꾸준히 높여가면서 일해야 한다. 그러면 일을 점점 더 잘하게 될 뿐 아니라, 성장 마인드셋과 평생 학습이라는 이점도 얻을 수 있다. 물론 작업속도도 점점 빨라질 수 있다.
4. 원격 근무를 하는 사람이라면, 일하는 곳과 쉬는 공간을 마음속으로 분리할 수 있어야 한다. 좋은 팁중 하나는 '근무를 시작하기 전 동네를 한바퀴 돌고 집에 돌아와서 일하는 것'이다. 그러면 심리적으로 하루의 시작을 표현할 수 있다. 반대로 근무가 끝나면 근무의 시작과 동일하게 행동한다. 이를 통해 하루의 끝도 심리적으로 표현 가능하다.
5. 좋은 개발자가 되려면 좋은 습관을 길러야 한다. 특히 자기 통제력과 같은 습관은 필수적인데, 미루는 습관은 개발자에게 매우 치명적이다. 미루다 지나간 시간은 기술 개발에 쓰지 못한 시간이고, 이렇게 시간을 미룰수록 전문성 개발은 점점 늦어진다. 추가로 어떤것을 배워야 하는 상황이 있다면, 억지로라도 그 배움을 시작해야 한다. 처음에는 시작하는 행동에 에너지를 많이 쓰게되지만, 시간이 지날수록 무의식적인 습관이 된다.
6. 쉼의 중요성을 인지한다. 재충전은 하루의 루틴에 매우 중요하다. 가족과 함께하는 시간, 주말, 휴가 중에는 전자기기와의 완전한 작별도 필요하다. 특히 하루동안 본인이 어떤 생각을 하고 어떤 행동을 하는지 정기적으로 검토하는 습관을 기르면 좋다. 이를 통해 원치 않는 행동 패턴을 빠르게 발견하고 이것이 습관화 되는 것을 막을 수 있다. 하루에 10-30분 정도 명상하는 것도 부정적인 습관을 이겨내는데 큰 도움이 된다.
7. 꾸준히 학습해야 한다. 책과 블로그 글을 통해 얻은 모범 사례를 기록하고 본인의 코드에 반영하면서 점점 더 좋아지는 코드를 몸에 체득해야 한다. 이러한 학습은 일정한 시간을 정해두고 주기적으로 하여 일관된 루틴으로 만들면 큰 도움이 된다.
8. 나의 하루(journal)를 기록하는 습관을 기른다. 하루동안 자신이 어떤 행동을 했는지, 그것이 자랑스럽지 않더라도 기록해서 남겨야한다.
9. 가장 많은 시간을 함께 보내는 다섯 사람의 평균이 나를 만든다. 우리는 다른 사람들과 상호작용하면서 상대의 생각을 흡수하기 때문이다. 즉, 우리는 의식적으로 함께 시간을 보낼 사람을 선택할 수 있고 그래야 한다. 좋은 에코 체임버(무리)에 들어가도록 해야 한다. 나에게 도움이 되는 사람들과 시간을 보내야 한다.
10. 객관적으로 맞다고 여겨지는 핵심 신념보다 자신에게 도움이 되는 핵심 신념을 갖는 것이 훨씬 중요하다.
11. 적어도 일주일에 하루는 소셜 미디어를 완전히 디톡스 해야한다. 소셜 미디어는 나의 의식이 자동 조종 모드, 즉 내 의지와 관련없이 시간을 허비하는 상태로 만든다. 시간을 낭비하고 있다는 생각이 들면 즉시 앱을 떠나야 한다. 필요하다면 몇일간 앱을 사용하지 않을 준비도 되어 있어야 한다.
12. 상대의 의견에 진짜 문제가 있다고 생각하는 경우에만 논쟁에 참여한다. 오히려 논쟁 과정에서 내가 틀렸을 수도 있다는 생각을 열어두는 것이 중요하다. 상대의 관점을 무작정 공격하는 것이 아니라, 의미있는 질문을 통해 토론에 참여하고 있다고 생각한다.
13. 그대로 공유하지 말고, 나의 생각을 덧붙여야 한다. 저자가 하려는 말을 짧게 설명해도 좋다. 혹은 해당 콘텐츠에서 마음에 들었거나 들지 않았던 점 등 의견을 적어서 나의 생각을 표현하는 것이 중요하다.
14. 우리는 극한의 오너십을 가져야 한다. 이것은 의도적으로 노력할 때 얻을 수 있으며, 나의 정체성과 인생관을 완전히 바꿔준다. 내가 가지고 있는 문제를 고치고, 과거의 실수를 평가하고, 동료나 상급자에게 신뢰를 얻고, 인생의 현실적인 한계를 넘어 원하는 것을 성취할 수 있도록 도와준다. 극한의 오너십은 내 주변에서 일어나는 모든 일에 책임을 진다는 개념이다. 설령 어떠한 사건이 나의 통제 밖에서 일어난다 하더라도 이러한 결과로 이어질 일련의 선택을 했을 것이라고 생각 하는 것이다. 통제할 수 없는 상황에서도 이 상황에 어떻게 반응할지는 내가 통제할 수 있다.
15. 극한의 오너십은 자존심을 버리고 실패를 겸허하게 인정하는 것이다. 비굴한 태도를 보이거나 과도하게 사과하는 것과는 다르다. 문제를 해결하는 것에 초점을 맞추는 것이다.
16. 나의 정신, 육체적인 건강을 회사보다 우선시 해야 한다. 특히 번아웃이 올 정도로 업무량을 늘이는 것은 좋지 않다.
17. 수도자 정신은, 목표를 성취하기 위한 활동만으로 하루를 설계하는 것을 의미한다. 목표 달성에 도움이 되지 않는 모든 활동은 완전히 배제한다. 하루의 루틴을 목록화하고 방해요소를 적극적으로 제거해야 한다. 이때 루틴에 포함된 모든 활동에는 반드시 목적이 있어야 한다. 이를 통해 우리는 삶에서 망설임을 없애고 분석 마비 상태에 빠지지 않을 수 있다.
18. 만들어진 루틴을 어느것과도 타협할 수 없다고 못박는 순간, 우리는 무엇을 할지 고민하지 않게 된다. 우리의 하루는 계획되어 있고, 정해진 시간에 목록에 있는 활동을 선택적으로 수행하기만 하면 된다. 생산 활동에 전념하는 시간을 정해두고 타협하지 않는다면, 되는대로 일을 처리하는 사람들보다 훨씬 많은 것을 성취할 수 있다. 예상 밖의 일이 발생하거나 정확하게 업무를 추정하지 못했다면 일정을 수정한다. 계획했던 일이지만 실제로 중요하지 않다고 판단되었거나, 일을 다 마무리 짓지 못했더라도 일정을 수정하면 된다. 결론은 시스템이 없을때보다 훨씬 더 많은 것을 달성할 수 있다는 것이다.
19. 큰 덩어리의 일을 더이상 나눌 수 없는 최소단위까지 나누는 마이크로태스크 습관을 갖는다. 마이크로태스크의 가장 어려운 점은 어디에서부터 시작할지 명확하게 구분하기 어렵다는 것이다. 마이크로태스크를 하게 되면 일을 훨씬 작고 쉽게 보이도록 뇌를 속여서 그 일을 완수하려는 노력을 잠재의식이 방해하지 못하게 할 수 있다. 이를 통해 추진력을 쉽게 얻을 수 있고, 계획을 위한 업무의 중단을 막을 수 있다. 하지만 계획이 꼭 완벽할 필요는 없다. 정확히 나누지 못했더라도 수정하면 된다. 일반적으로 기능 하나가 마이크로태스크 하나가 되기 적절하다. 뽀모도로 방식등을 사용하면 효과적으로 마이크로태스크를 적용할 수 있다.
20. 내일 할 일을 계획을 세움으로써 하루를 마무리하는 것이 좋다. 어떤일에 주어진 자원보다 더 많은 것을 투입한다고 해서 그 일이 효율적으로 완료되지는 않는다(파킨슨 법칙). 즉 하루에 주어진 양을 충분히 채웠다면, 내일을 계획하고 과감하게 쉬는 것도 중요하다.
서점에 가면 정말 많은 자기개발 서적, 특히 개발자들의 성장을 위한 책들이 많습니다. 만약 본인이 주니어 개발자라면, 혹은 시니어 개발자이지만 좀더 원초적인 성장에 대한 고민이 있는 개발자분들이라면 이 책을 한번쯤 꼭 읽어보시길 추천합니다.
책: 개발자 오늘도 마음 튼튼하게 성장하기 (피오다르 서재나베츠)