- Authors

- Name
- Youngju Kim
- @fjvbn20031
- 들어가며 — 리트코드 한 문제 앞에서 작아지던 밤
- 핵심 통찰 — 결국 남는 건 내가 찾아서 한 공부다
- 깊이 있는 전개 1 — 불안을 동력으로 바꾸는 번역
- 깊이 있는 전개 2 — 실력 부족은 사람을 치사하게 만든다
- 기본기란 정확히 무엇인가 — 천천히 낡는 것들의 목록
- 시간을 확보하는 시스템 설계 — 의지가 아니라 환경
- 복리로 쌓이는 실력 — 하루 30분의 1년
- 분야를 넘나드는 자기주도성 — 언어 공부에서 배운 것
- 출력해야 내 것이 된다 — 입력 중심 학습의 함정
- 깊이 있는 전개 3 — 커리어 주도권은 내가 쥔다
- 환경과 이직 — 건강하게 다루는 법
- 비교 — 수동적 커리어 vs 주도적 커리어
- 건강하게 비교하기 — 번아웃을 피하면서 성장하기
- 실천법 — 갈망을 루틴으로 바꾸기
- 함정 — 자기주도를 오해할 때
- 처음 시작하는 사람을 위한 첫 분기 가이드
- FAQ
- 한 페이지 요약 — 이 글을 다섯 줄로
- 마치며 — 갈망은 부끄러운 게 아니다
- 참고 자료
들어가며 — 리트코드 한 문제 앞에서 작아지던 밤
늦은 밤, 리트코드(LeetCode) 미디엄 문제 하나를 30분째 못 풀고 있던 날이 있습니다. 풀이를 펼쳐 보니 너무 간단해서 더 비참했습니다.
그날 채용 공고도 몇 개 들여다봤는데, 자격 요건에 적힌 기술 스택의 절반은 제가 깊이 모르는 것들이었습니다. "나는 이 정도밖에 안 되나" 하는 생각에 마음이 가라앉았습니다.
저는 라인(LINE)에서 일하면서 매일 적지 않은 코드를 만지는 사람입니다. 그런데도 그런 밤이 옵니다. 경력이 쌓여도 그 불안은 사라지지 않더군요. 오히려 보는 눈이 높아질수록, 내가 모르는 영역이 더 또렷하게 보였습니다.
그런데 그 불안을 며칠 곱씹다가, 관점이 조금 바뀌었습니다. 그 불안은 제가 더 나아지고 싶다는 증거였습니다.
아무 갈망도 없는 사람은 채용 공고를 봐도 불안하지 않습니다. 불안하다는 건 가고 싶은 곳이 있다는 뜻이고, 지금과 거기 사이의 거리를 내가 느끼고 있다는 뜻이었습니다. 문제는 불안 자체가 아니라, 그 불안을 어디로 흘려보내느냐였습니다.
이 글은 그 흘려보내는 방향에 대한 이야기입니다. 핵심 주장은 단순합니다. 결국 나를 성장시킨 것은 누가 시켜서 한 공부가 아니라, 내가 필요를 느껴 스스로 찾아서 한 공부였다는 것. 그리고 그 자기주도성의 연료가 바로 커리어를 향한 건강한 갈망이라는 것입니다.
저는 개발만 그렇게 배운 게 아닙니다. 영어와 일본어도, 누가 시켜서가 아니라 라인에서 일하며 필요를 느껴 스스로 붙들었습니다. 심지어 취미로 치는 탁구조차, 코치가 시킨 동작보다 제가 "이 스매시를 꼭 넣고 싶다"고 갈망해서 반복한 동작이 훨씬 빨리 늘었습니다. 자기주도성은 분야를 가리지 않더군요.
핵심 통찰 — 결국 남는 건 내가 찾아서 한 공부다
돌아보면 제 실력의 진짜 도약은 항상 자기주도 학습에서 왔습니다.
회사에서 시킨 교육, 의무로 들은 강의도 분명 도움은 됐습니다. 하지만 그렇게 배운 건 시험 끝난 지식처럼 빨리 흐려졌습니다.
반면 제가 실무에서 막혀서, 답답해서, 밤에 직접 파고든 것들은 몇 년이 지나도 또렷합니다. 동시 로그인 차단을 직접 구현하느라 며칠을 헤맸던 그 며칠이, 어떤 정규 강의보다 저를 키웠습니다. 그때 세션 저장소를 어떻게 둘지, 토큰 충돌을 어떻게 감지할지 혼자 고민했던 흔적은 지금도 머릿속에 그대로 남아 있습니다.
한 가지 더 솔직한 예가 있습니다. 회사에서 의무로 들은 어떤 보안 교육은, 수료증을 받은 다음 날 내용의 대부분이 증발했습니다. 반대로 라인에서 장애 하나를 직접 디버깅하며 네트워크 타임아웃을 파고들었던 경험은, 누가 묻지 않아도 아직 설명할 수 있습니다. 같은 시간을 썼는데 남는 양이 이렇게 다릅니다.
왜 차이가 날까요. 동기의 종류가 다르기 때문입니다. 심리학의 자기결정이론(Self-Determination Theory)은 내재적 동기, 즉 스스로 선택하고 자율적으로 한 일이 외부에서 강요된 일보다 더 깊은 학습과 지속을 만든다고 말합니다.
내가 "이걸 알아야겠다"고 느껴서 시작한 공부는, 누가 "이거 해라"고 시킨 공부와 뇌가 처리하는 방식 자체가 다릅니다. 전자는 내 문제를 푸는 일이고, 후자는 남의 과제를 치르는 일이기 때문입니다.
그래서 저는 이렇게 정리합니다. 회사는 나에게 기회와 문제를 줄 수 있지만, 성장의 핵심 엔진은 내가 켜야 한다. 누가 떠먹여 주기를 기다리는 학습은 한계가 분명합니다. 진짜 성장은 내가 갈증을 느끼고, 내가 찾아 나설 때 시작됩니다.
깊이 있는 전개 1 — 불안을 동력으로 바꾸는 번역
채용 공고와 리트코드 앞에서 느끼는 불안은 그 자체로는 그냥 불편한 감정입니다. 문제는 그 감정을 어떻게 '번역'하느냐입니다.
같은 불안도 두 방향으로 흐를 수 있습니다. 한쪽은 자기비하입니다. "나는 안 되나 봐, 재능이 없나 봐"로 흐르면 불안은 사람을 마비시킵니다.
다른 한쪽은 방향 정보입니다. "여기가 내 약한 곳이구나, 그럼 여기를 채우자"로 번역하면 불안은 지도가 됩니다. 똑같은 불안인데, 번역 방향에 따라 독이 되기도 하고 나침반이 되기도 합니다.
이걸 잘 보여 주는 게 Carol Dweck의 성장 마인드셋(growth mindset) 연구입니다. 능력을 고정된 것으로 보는 사람은 어려움을 만나면 "내 한계가 드러났다"고 받아들여 회피하지만, 능력을 기를 수 있는 것으로 보는 사람은 같은 어려움을 "아직 안 된 것"으로 보고 도전합니다.
핵심은 '아직(yet)'이라는 한 단어입니다. "나는 이걸 못해"가 아니라 "나는 이걸 아직 못해"로 바꾸는 것. 채용 공고의 모르는 기술 절반은 내 한계가 아니라, 내 다음 학습 목록입니다.
저는 이 번역을 실제로 종이에 씁니다. 불안할 때 공고를 펼쳐 놓고, 모르는 항목을 다 적습니다. 그러면 막연한 불안이 구체적인 할 일 목록으로 바뀝니다. 감정이 정보가 되는 순간, 마음이 한결 가벼워집니다.
채용 공고를 약점 지도로 바꾼 실제 예시
추상적으로만 말하면 와닿지 않으니, 제가 어떤 백엔드 시니어 공고를 놓고 실제로 했던 작업을 그대로 옮겨 보겠습니다.
공고의 자격 요건에는 대략 이런 문장들이 있었습니다. 대규모 트래픽 처리 경험, 메시지 큐 기반 비동기 아키텍처 설계, 데이터베이스 인덱스 튜닝, 분산 시스템에서의 일관성 보장, 옵저버빌리티 도구를 활용한 모니터링.
저는 각 항목 옆에 솔직하게 점수를 매겼습니다. 트래픽 처리는 실무로 해 봤으니 자신 있음, 메시지 큐는 써 봤지만 설계는 남이 한 걸 따라간 수준, 인덱스 튜닝은 책으로만 알고 실측은 거의 안 해 봄, 분산 일관성은 용어는 알지만 깊이가 얕음, 옵저버빌리티는 대시보드를 본 적은 있어도 직접 구성해 본 적 없음.
이렇게 적고 나니 막연한 "나는 부족해"가, "이번 분기엔 인덱스 튜닝과 분산 일관성 두 개를 판다"라는 문장으로 바뀌었습니다. 불안 한 덩어리가 우선순위가 매겨진 항목 다섯 개로 분해된 것입니다. 분해된 불안은 더 이상 나를 짓누르지 못합니다. 그냥 처리할 일이 됩니다.
여기서 중요한 건 모든 항목을 한 번에 메우려 하지 않는 것입니다. 다섯 개 중 가장 자주 등장하고, 내 약점이 가장 깊은 두 개만 이번 분기 목표로 골랐습니다.
나머지는 다음 분기로 미뤘습니다. 욕심을 줄이는 것이 오히려 완주의 비결이었습니다. 다 하려다 아무것도 못 하느니, 두 개를 끝까지 파는 편이 훨씬 남는 게 많았습니다.
그리고 한 가지 더. 이 약점 지도는 지금 당장 이직하려는 게 아니어도 만들어 둘 가치가 있습니다. 공고는 시장이 무엇을 원하는지 알려 주는 가장 솔직한 신호이고, 그 신호를 정기적으로 읽는 것만으로 내 학습 방향이 시장과 어긋나지 않게 잡힙니다.
깊이 있는 전개 2 — 실력 부족은 사람을 치사하게 만든다
조금 불편한 이야기를 하나 하겠습니다. 제 경험상, 실력 부족은 사람을 치사하게 만듭니다.
기본기가 약하면 마음에 여유가 없어집니다. 동료가 더 나은 방법을 제안해도, 그걸 배울 기회로 보지 못하고 내 부족을 들킨 것처럼 느껴 방어적이 됩니다.
새 기술이 나오면 호기심보다 위협을 먼저 느낍니다. 후배가 좋은 질문을 하면 답을 모르는 게 두려워 얼버무리게 됩니다. 실력이 부족할수록 사람은 작아지고, 작아진 사람은 자기도 모르게 옹졸해집니다.
저도 그런 적이 있습니다. 코드 리뷰에서 제 구현보다 나은 방식을 제안받았을 때, 머리로는 그게 옳다는 걸 알면서도 입에서는 "그건 우리 상황엔 안 맞아요" 같은 변명이 먼저 나왔습니다.
나중에 돌아보니 그 방어는 기술의 문제가 아니라 자신감의 문제였습니다. 제가 그 영역을 충분히 알았다면, 좋은 제안을 그냥 기쁘게 받아들였을 겁니다. 결국 옹졸함의 뿌리에는 두려움이 있었고, 그 두려움의 뿌리에는 실력 부족이 있었습니다.
반대로 기본기가 단단하면 마음에 여유가 생깁니다. 더 나은 방법을 들으면 "오, 그게 낫네" 하고 받아들입니다. 모르는 걸 모른다고 말할 수 있습니다.
후배의 성장을 위협이 아니라 기쁨으로 봅니다. 실력은 단지 일을 잘하게 해 주는 게 아니라, 사람을 너그럽게 만들어 줍니다. 그래서 저는 기본기를 단순한 기술이 아니라 마음의 토대라고 봅니다.
탁구장에서도 비슷한 걸 봅니다. 기본기가 탄탄한 사람일수록 진 게임을 복기하며 웃고, 상대의 좋은 샷을 칭찬합니다.
반대로 기본기가 얕고 요행으로 이겨 온 사람일수록 한 점만 져도 라켓을 탓하고 공을 탓합니다. 실력의 여유가 사람의 태도를 만든다는 건 코드 앞에서나 테이블 앞에서나 똑같았습니다.
그럼 무엇이 기본기일까요. 다음 절에서 목록으로 정리하겠지만, 한 문장으로 말하면 화려한 최신 프레임워크가 아니라 천천히 낡는 것들입니다. 유행은 빨리 바뀌지만 기본기는 천천히 낡습니다.
리트코드를 푸는 이유도 알고리즘 자체를 위해서라기보다, 문제를 분해하고 자료구조를 떠올리는 그 사고 근육을 위해서입니다. 면접용 트릭을 외우려는 게 아니라, 어떤 문제든 잘게 쪼개고 적합한 도구를 고르는 습관을 몸에 새기려는 것입니다.
기본기는 벼락치기가 안 됩니다. 마라톤처럼, 느리더라도 꾸준히 쌓는 수밖에 없습니다. 하루 한 문제, 매일 30분이라도 오래 가는 사람이 결국 멀리 갑니다.
기본기란 정확히 무엇인가 — 천천히 낡는 것들의 목록
"기본기를 쌓아라"는 말은 자주 듣지만, 정작 그게 무엇인지 구체적으로 정리해 본 적은 드뭅니다. 그래서 제가 생각하는 '천천히 낡는 것들'의 목록을 적어 봅니다.
첫째, 자료구조와 알고리즘입니다. 배열, 해시맵, 트리, 그래프가 각각 언제 빠르고 언제 느린지, 시간과 공간 복잡도를 직관으로 가늠하는 능력입니다. 특정 언어의 라이브러리 이름은 몇 년 뒤 바뀌어도, 해시맵이 평균 상수 시간에 조회된다는 사실은 바뀌지 않습니다.
둘째, 운영체제의 기초입니다. 프로세스와 스레드의 차이, 컨텍스트 스위칭의 비용, 메모리가 어떻게 관리되는지, 락과 동시성이 왜 어려운지. 이걸 알면 "왜 이 서버가 느려졌는가" 같은 질문 앞에서 막연한 추측 대신 가설을 세울 수 있습니다.
셋째, 네트워크입니다. TCP와 UDP의 차이, 핸드셰이크와 타임아웃, HTTP가 그 위에서 어떻게 동작하는지, DNS가 무엇을 해결해 주는지. 제가 라인에서 겪은 장애의 상당수는 결국 네트워크 계층의 이해로 풀렸습니다.
넷째, 데이터베이스의 동작 원리입니다. 인덱스가 왜 조회를 빠르게 하고 쓰기를 느리게 하는지, 트랜잭션 격리 수준이 무엇을 보장하는지, 쿼리 플래너가 어떻게 결정을 내리는지. ORM이 만들어 주는 쿼리 뒤에서 무슨 일이 벌어지는지 알아야 진짜 문제를 풀 수 있습니다.
다섯째, 깨끗한 코드를 쓰는 능력입니다. 이름을 잘 짓고, 함수를 작게 나누고, 의도를 드러내고, 테스트로 보호하는 습관. 이건 특정 언어를 초월하는 기술이고, 시간이 지날수록 가치가 떨어지기는커녕 더 올라갑니다.
이 목록의 공통점이 보이시나요. 전부 특정 회사, 특정 프레임워크, 특정 유행에 묶여 있지 않습니다. 그래서 한 번 제대로 쌓아 두면 회사를 옮겨도, 언어를 바꿔도 그대로 따라옵니다. 제가 기본기에 가장 많은 시간을 쓰는 이유가 바로 이것입니다.
물론 최신 기술을 무시하라는 말은 절대 아닙니다. 비중의 문제입니다. 저는 학습 시간의 절반쯤은 천천히 낡는 기본기에, 나머지 절반은 지금 실무에 필요한 도구에 씁니다. 기본기라는 단단한 뿌리 위에서, 최신 도구라는 잎은 훨씬 빨리 자랍니다.
한 가지 더 덧붙이면, 기본기가 탄탄할수록 새 기술의 학습 속도 자체가 빨라집니다. 새 프레임워크를 봐도 "아, 이건 결국 그 자료구조를 이렇게 감싼 거구나" "이 동시성 모델은 결국 락의 변형이구나" 하고 알맹이가 보입니다. 매번 처음부터 외우는 사람과, 아는 원리에 새 이름표만 붙이는 사람의 격차는 시간이 갈수록 벌어집니다.
그래서 기본기 투자는 단지 옛것을 지키는 보수적인 선택이 아닙니다. 오히려 새것을 가장 빨리 흡수하기 위한 가장 공격적인 투자입니다. 저는 이 사실을 라인에서 여러 신기술을 도입하며 몸으로 확인했습니다.
시간을 확보하는 시스템 설계 — 의지가 아니라 환경
자기주도 학습에서 가장 자주 무너지는 지점은 의외로 의지가 아니라 시간입니다. 정확히는, 의지에만 기대어 시간을 내려고 하기 때문에 무너집니다.
저는 한때 "오늘 일 끝나고 공부해야지"라고 매일 다짐했습니다. 결과는 처참했습니다. 일이 끝나면 이미 의지가 바닥나 있었고, 남은 의지는 회의와 코드 리뷰가 다 써 버린 뒤였습니다. 밤마다 죄책감만 쌓였습니다.
깨달은 건 단순합니다. 의지는 휘발됩니다. 하루 종일 결정을 내리다 보면 저녁의 나는 아침의 나보다 훨씬 약합니다. 그래서 학습을 의지가 강한 시간대로 옮기고, 그 시간을 환경으로 고정해야 합니다.
저는 학습 블록을 출근 전 아침으로 옮겼습니다. 알람을 평소보다 40분 일찍 맞추고, 전날 밤에 풀 문제나 읽을 챕터를 미리 화면에 띄워 둡니다. 아침에 일어나면 무엇을 할지 고민할 필요 없이, 그냥 앉아서 시작하면 됩니다. 결정 비용을 0으로 만든 것입니다.
환경 설계의 핵심은 마찰을 줄이는 것입니다. 시작하기 쉽게 만들고, 딴짓하기 어렵게 만듭니다. 휴대폰은 다른 방에 두고, 학습 시간에는 메신저 알림을 끕니다. 작은 마찰 몇 개를 제거하는 것만으로 실행률이 눈에 띄게 올라갔습니다.
또 하나, 완벽한 한 시간보다 확실한 30분이 낫습니다. 한 시간을 못 낼 것 같으면 아예 안 하게 되지만, 30분은 부담이 없어 꾸준히 됩니다. 저는 목표를 일부러 작게 잡습니다. "오늘 한 문제" "오늘 한 절". 작아서 매일 넘는 문턱이, 커서 가끔 넘는 문턱보다 멀리 데려다줍니다.
정리하면 이렇습니다. 시간이 없다는 말은 보통 시스템이 없다는 말입니다. 의지를 탓하지 말고, 의지가 필요 없도록 환경을 설계하세요.
내 일주일 학습 블록의 실제 모습
추상론으로 끝내지 않기 위해, 제가 실제로 돌리는 한 주를 공유합니다. 완벽한 모범이 아니라, 평범한 직장인이 굴릴 수 있는 현실적인 버전입니다.
평일 아침에는 출근 전 30분을 고정합니다. 월수금은 알고리즘 한 문제, 화목은 기본기 책 한 절. 종류를 요일에 박아 두면 "오늘 뭐 하지"를 고민할 필요가 없습니다.
점심시간 끝자락의 10분은 짧은 복습입니다. 그날 아침에 본 것을 한 줄로 메모해 둡니다. 이 작은 메모가 주말 정리의 재료가 됩니다.
토요일 오전에는 한 주에 배운 것을 짧은 글 한 편으로 묶습니다. 출력의 시간입니다. 그리고 일요일은 비웁니다. 탁구를 치거나 그냥 쉽니다. 회복도 일정에 넣어야 지켜집니다.
이 표 전체에서 하루치 부담은 결코 크지 않습니다. 핵심은 큰 한 방이 아니라, 작은 블록들이 끊기지 않고 이어지는 구조입니다. 작아서 매일 지켜지는 계획이, 거창해서 사흘 만에 무너지는 계획을 늘 이깁니다.
복리로 쌓이는 실력 — 하루 30분의 1년
자기주도 학습의 가장 큰 오해는, 결과가 빨리 안 보이면 효과가 없다고 믿는 것입니다. 하지만 실력은 직선이 아니라 복리로 쌓입니다.
하루 30분은 우습게 보입니다. 그러나 1년이면 약 180시간이 넘습니다. 거의 한 달치 근무 시간을, 오직 내 약점을 메우는 데에만 쓰는 셈입니다. 그것도 매년 반복됩니다.
게다가 학습은 단순 합산이 아닙니다. 어제 배운 것이 오늘 배우는 것의 발판이 됩니다. 자료구조를 알면 데이터베이스 인덱스가 더 빨리 이해되고, 인덱스를 알면 쿼리 튜닝이 쉬워지고, 그게 다시 시스템 설계로 이어집니다. 지식은 서로를 끌어올립니다. 이것이 복리입니다.
문제는 복리의 초반이 지루하다는 점입니다. 곡선의 앞부분은 거의 평평해서, 한 달을 해도 표가 안 납니다. 많은 사람이 바로 이 평평한 구간에서 포기합니다. 곡선이 가팔라지기 직전에 멈추는 것입니다.
그래서 저는 결과 대신 과정을 셉니다. "오늘 실력이 늘었나"가 아니라 "오늘 30분을 했나"로 점검합니다. 결과는 내 통제 밖이지만 과정은 내 통제 안에 있습니다. 통제할 수 있는 것만 세면 동력이 오래갑니다.
구체적으로는 달력에 작은 표시를 남깁니다. 한 날 한 칸. 며칠만 이어져도 그 줄을 끊고 싶지 않은 마음이 생깁니다. 실력이라는 보이지 않는 것 대신, 연속이라는 보이는 것을 동기로 삼는 방식입니다.
그리고 분기 말에는 분기 초에 적어 둔 약점 지도를 다시 꺼냅니다. 그때는 못 풀던 항목 중 몇 개가 이제는 설명할 수 있는 것이 되어 있습니다. 그 변화를 눈으로 확인하는 순간이, 다음 분기를 버티게 하는 가장 큰 연료였습니다.
탁구로 비유하면 이렇습니다. 같은 포핸드 드라이브를 매일 200개씩 치면, 한 주는 변화가 없습니다. 그런데 두세 달이 지나면 어느 순간 공이 다르게 날아갑니다. 몸이 모르는 사이에 바뀌어 있던 것입니다. 코드 실력도, 언어도 똑같았습니다. 변화는 늘 한참 뒤에, 한꺼번에 옵니다.
분야를 넘나드는 자기주도성 — 언어 공부에서 배운 것
자기주도 학습이 개발에만 통하는 원리가 아니라는 걸, 저는 언어 공부에서 가장 크게 느꼈습니다.
라인에서 일하다 보면 일본어가 필요한 순간이 자주 옵니다. 처음엔 회사가 지원하는 강의를 들었습니다. 출석은 했지만 실력은 더디게 늘었습니다. 시킨 진도를 따라가는 공부였기 때문입니다.
전환점은 제 필요가 분명해진 순간이었습니다. 일본 동료와의 회의에서 하고 싶은 말을 못 해 답답했던 날, 저는 그날 못 한 표현들을 직접 적어 외우기 시작했습니다. 강의 진도가 아니라 내 답답함이 교재가 된 것입니다.
그때부터 속도가 달라졌습니다. 다음 회의에서 쓸 표현을 미리 준비하고, 끝나면 못 한 부분을 메웠습니다. 학습이 실전과 붙어 있으니 매번 쓸모가 있었고, 쓸모가 있으니 안 까먹었습니다. 영어도 같은 방식으로 늘렸습니다.
영어와 일본어 공부에서 얻은 교훈은 개발에 그대로 적용됐습니다. 첫째, 내 진짜 필요에서 출발할 때 학습이 가장 빠르다. 둘째, 배운 걸 곧바로 실전에 쓰면 그게 곧 복습이 된다. 셋째, 작게라도 매일이 가끔의 몰아치기를 이긴다.
분야가 코드든 언어든 탁구든, 원리는 하나였습니다. 누가 시킨 진도가 아니라 내가 느낀 결핍에서 출발한 학습이 사람을 키웁니다. 그래서 저는 새로운 걸 배울 때 늘 먼저 묻습니다. 내가 지금 가장 답답한 곳이 어디인가. 거기가 가장 빨리 자랄 곳입니다.
출력해야 내 것이 된다 — 입력 중심 학습의 함정
자기주도 학습을 한다면서도 늘지 않는 사람의 공통점이 하나 있습니다. 입력만 하고 출력을 안 하는 것입니다.
영상을 보고, 책을 읽고, 강의를 듣습니다. 그 순간엔 다 이해한 것 같습니다. 그런데 막상 직접 해 보라고 하면 손이 안 움직입니다. 이해한 것 같은 느낌과 실제로 할 수 있는 것 사이에는 큰 강이 있습니다.
저도 한동안 이 함정에 빠져 있었습니다. 알고리즘 강의를 수십 시간 들었는데 정작 새 문제 앞에선 막막했습니다. 보는 것과 푸는 것은 완전히 다른 능력이었습니다. 그걸 깨달은 뒤로는 강의를 줄이고 직접 푸는 시간을 늘렸습니다.
출력에는 여러 형태가 있습니다. 직접 코드를 짜 보는 것, 배운 걸 짧은 글로 정리하는 것, 동료에게 설명해 보는 것. 특히 남에게 설명하는 건 가장 강력한 출력입니다. 설명하려고 하면 내가 어디를 모르는지 정확히 드러나기 때문입니다.
저는 무언가를 제대로 이해했는지 확인할 때, 그걸 모르는 사람에게 설명한다고 상상하며 글로 써 봅니다. 막히는 지점이 곧 빈 구멍입니다. 그 구멍을 메우면 비로소 내 것이 됩니다.
그래서 학습 시간을 짤 때 입력과 출력의 균형을 의식적으로 맞춥니다. 한 시간을 들었으면 최소한 그만큼은 직접 만들거나 써 봅니다. 입력만으로는 결코 강을 건널 수 없습니다.
제가 쓰는 가장 간단한 출력 도구는 짧은 글입니다. 거창한 블로그 포스트가 아니어도 됩니다. "오늘 인덱스가 왜 빠른지 세 줄로 설명해 보기" 정도면 충분합니다.
세 줄을 채우려고 하면, 안다고 착각했던 부분이 곧장 드러납니다. 그 빈칸을 메우는 과정이 진짜 학습입니다. 입력은 이해의 착각을 주고, 출력은 이해의 진실을 드러냅니다.
이렇게 쌓인 짧은 글들은 덤으로 자산이 됩니다. 몇 달 뒤 같은 주제를 다시 만났을 때, 과거의 내가 정리해 둔 메모만큼 빠른 복습 자료는 없었습니다. 출력은 남에게 보여 주기 위해서가 아니라, 미래의 나를 위한 저축입니다.
깊이 있는 전개 3 — 커리어 주도권은 내가 쥔다
자기주도 학습의 더 큰 그림은 커리어의 주도권입니다.
많은 사람이 커리어를 회사가 정해 주는 것으로 생각합니다. 회사가 시키는 일을 하고, 회사가 주는 교육을 받고, 회사가 정한 경로를 따라갑니다.
그런데 회사의 우선순위와 내 성장의 우선순위는 항상 같지 않습니다. 회사는 지금 당장 필요한 일을 시키지, 내 10년 뒤를 책임지지 않습니다. 내 커리어를 가장 진지하게 고민할 사람은 결국 나뿐입니다.
Cal Newport의 'So Good They Can't Ignore You'는 "열정을 따르라"는 흔한 조언을 비판하며, 대신 희소하고 가치 있는 기술을 쌓아 '커리어 자본'을 만들라고 말합니다. 그 자본이 쌓이면 비로소 자율성과 선택권이 생긴다는 것입니다.
무엇을 할지 고를 자유는, 충분한 실력 위에서만 주어집니다. 자기주도 학습은 이 자본을 쌓는 가장 확실한 방법입니다.
엔지니어링 리더십에 대해 오래 글을 써 온 Will Larson은 커리어 성장이 우연이 아니라 의도적 선택의 누적이라고 자주 강조합니다.
어떤 프로젝트를 맡을지, 어떤 기술에 투자할지, 어떤 자리에 설지를 스스로 고르는 사람이 결국 더 멀리 간다는 것입니다. 주도권은 거창한 선언이 아니라 작은 선택들의 합이라는 관점이 저에게 큰 도움이 됐습니다.
저도 라인에서 어떤 일을 맡을지 정해질 때, 그냥 떨어지는 일을 받기만 하던 시기와, 내 약점을 메울 수 있는 일을 의식적으로 손들어 가져오던 시기의 성장 속도가 완전히 달랐습니다. 같은 회사, 같은 자리에서도 선택의 태도 하나로 1년 뒤가 달라졌습니다.
주도권을 쥔다는 건 거창한 게 아닙니다. "이번 분기엔 내 약점인 데이터베이스를 깊이 파겠다"고 스스로 정하고, 회사 일과 별개로 그 목표를 향해 조금씩 가는 것. 회사가 안 시켜도 필요한 걸 배우는 것.
그렇게 쌓은 실력은 회사를 옮겨도, 직무가 바뀌어도 나를 따라옵니다. 회사는 떠나도 실력은 남습니다.
환경과 이직 — 건강하게 다루는 법
자기주도 학습을 이야기하면 꼭 나오는 질문이 있습니다. "그런데 회사 환경이 너무 안 좋으면요? 배울 게 없으면요?" 정당한 질문입니다. 환경은 분명히 중요합니다.
먼저 인정할 것. 모든 걸 개인의 의지로 돌리는 건 가혹합니다. 성장할 자료가 없고, 좋은 동료가 없고, 도전적인 문제가 없는 환경이라면, 아무리 자기주도적이어도 한계가 있습니다.
환경을 바꾸는 것, 즉 이직이나 부서 이동도 엄연한 자기주도적 선택입니다. 무작정 버티는 게 자기주도가 아닙니다. 나쁜 환경에서 떠나는 결정도, 스스로 내린 거라면 그 자체로 주도적인 행동입니다.
다만 이직을 '도망'으로 쓰는 것과 '전략'으로 쓰는 건 다릅니다. 지금 자리에서 배울 걸 다 배우고, 내 약점을 채우고, 다음 단계로 가기 위해 옮기는 건 전략입니다.
반면 힘들 때마다, 기본기가 약해 벽에 부딪힐 때마다 환경 탓을 하며 옮기면, 어느 회사를 가도 같은 벽에 부딪힙니다. 내가 가지고 다니는 약점은 회사를 바꿔도 따라오니까요.
그래서 저는 이렇게 봅니다. 환경을 바꾸는 결정은 하되, 그 전에 "이건 환경 탓인가, 내 기본기 탓인가"를 정직하게 구분하자. 환경 탓이면 옮기는 게 맞고, 내 탓이면 옮겨도 안 풀립니다. 이 구분을 해 두면 이직 결정이 훨씬 건강해집니다.
어느 후배와의 대화
언젠가 한 후배가 저에게 이직 고민을 털어놓은 적이 있습니다. 대화가 인상 깊어 기억나는 대로 옮겨 봅니다.
후배는 이렇게 말했습니다. "여긴 배울 게 없어요. 시키는 일만 단순 반복이고, 옮기고 싶어요." 저는 물었습니다. "그 단순 반복을 더 잘하는 방법은 다 찾아봤어?"
후배는 잠시 멈칫했습니다. "그건... 아니요." 저는 다시 물었습니다. "그 반복 작업을 자동화해 본 적은? 왜 이렇게 짜였는지 코드 히스토리를 따라가 본 적은?" 후배는 고개를 저었습니다.
제 말은 옮기지 말라는 게 아니었습니다. 옮기더라도, 지금 자리에서 짜낼 수 있는 학습을 다 짜낸 뒤에 옮기라는 거였습니다. 같은 환경에서도 어떤 사람은 자동화 도구를 만들어 내고, 어떤 사람은 불평만 남기고 떠납니다.
몇 달 뒤 후배는 그 단순 반복을 스크립트로 자동화했고, 그 경험이 다음 회사 면접에서 가장 강한 이야기가 됐다고 했습니다. 환경 탓을 잠깐 멈추고 내 안을 들여다본 시간이, 결국 더 좋은 환경으로 가는 티켓이 된 것입니다.
이 대화를 떠올릴 때마다 생각합니다. 환경과 나를 구분하는 질문은 남을 위한 게 아니라 나를 위한 것입니다. 정직하게 묻는 사람만이 같은 벽을 두 번 만나지 않습니다.
환경 탓과 내 탓을 구분하는 체크리스트
말은 쉽지만 막상 힘들 때는 구분이 잘 안 됩니다. 그래서 저는 표로 정리해 두고, 벽에 부딪힐 때마다 꺼내 봅니다.
| 질문 | 환경 탓에 가까움 | 내 탓에 가까움 |
|---|---|---|
| 같은 어려움이 여러 회사에서 반복되나 | 아니오, 이 회사만 그렇다 | 예, 어디서나 같은 벽이다 |
| 좋은 동료에게 배울 통로가 있나 | 통로 자체가 막혀 있다 | 통로는 있는데 내가 안 썼다 |
| 도전적인 문제가 주어지나 | 단순 반복만 시킨다 | 도전은 있는데 내가 피했다 |
| 내가 노력하면 나아질 여지가 있나 | 구조적으로 막혀 있다 | 아직 내 노력이 부족했다 |
| 떠나면 이 문제가 해결되나 | 예, 환경만 바뀌면 풀린다 | 아니오, 약점이 따라온다 |
오른쪽 칸에 표시가 몰리면 옮겨도 같은 문제를 만날 가능성이 큽니다. 그때는 먼저 약점을 메우는 게 순서입니다. 왼쪽 칸에 표시가 몰리면, 그건 의지가 아니라 환경이 문제이니 옮기는 게 맞습니다.
이 체크리스트의 진짜 효용은 정답을 주는 게 아니라, 감정에 휩쓸린 판단을 잠깐 멈추게 해 준다는 데 있습니다. 화가 난 상태로 사표를 던지는 것과, 다섯 질문에 답해 보고 결정하는 것은 1년 뒤 결과가 다릅니다.
비교 — 수동적 커리어 vs 주도적 커리어
| 구분 | 수동적 커리어 | 주도적 커리어 |
|---|---|---|
| 학습 동기 | 회사가 시켜서 | 내가 필요를 느껴서 |
| 불안 대처 | 자기비하로 마비 | 약점 지도로 번역 |
| 기본기 | 유행 따라 표면만 | 천천히 단단하게 |
| 이직 | 힘들면 도망 | 전략적 선택 |
| 주도권 | 회사가 쥠 | 내가 쥠 |
| 남는 것 | 회사 떠나면 사라짐 | 어디 가도 따라옴 |
이 표를 다시 보면, 결국 모든 행이 한 방향을 가리킵니다. 주도권을 누가 쥐느냐. 학습 동기도, 불안 대처도, 이직 판단도 결국 내가 운전대를 잡느냐 마느냐의 문제였습니다.
건강하게 비교하기 — 번아웃을 피하면서 성장하기
자기주도 학습에는 그림자가 있습니다. 잘못 쓰면 끝없는 자기혹사가 되고, 끝없는 자기혹사는 사람을 무너뜨립니다.
가장 흔한 함정은 비교입니다. SNS에는 늘 나보다 잘하는 사람이 보입니다. 누구는 오픈소스 메인테이너고, 누구는 더 좋은 회사로 옮겼고, 누구는 사이드 프로젝트로 주목받습니다. 그들과 지금의 나를 나란히 두면, 아무리 노력해도 늘 부족해 보입니다.
비교는 단기적으로는 자극이 됩니다. 그러나 길게 보면 동력을 갉아먹습니다. 끝이 없기 때문입니다. 한 사람을 따라잡으면 또 다른 사람이 보이고, 비교의 기준은 계속 위로 도망갑니다. 도달할 수 없는 목표를 향해 달리면 결국 지칩니다.
그래서 저는 비교 대상을 바꿨습니다. 남이 아니라 어제의 나입니다. 어제의 내가 못 풀던 문제를 오늘 풀었으면 성장한 것입니다. 이 기준은 도달 가능하고, 온전히 내 것이며, 매일 작은 성취를 줍니다.
번아웃에 대해서는 조심스럽게 말하고 싶습니다. 저는 의료 전문가가 아니고, 이건 진단이나 처방이 아닙니다.
다만 조직심리학자 Christina Maslach의 번아웃 연구가 자주 지적하는 한 가지는 기억할 만합니다. 번아웃은 게으른 사람이 아니라 오히려 너무 오래, 회복 없이 몰입한 사람에게 찾아온다는 점입니다. 즉, 가장 열심히 한 사람이 가장 위험할 수 있다는 뜻이기도 합니다.
이 관점이 저에게 준 교훈은 단순합니다. 쉼은 게으름이 아니라 지속의 조건이라는 것입니다. 매일 30분을 1년간 이어 가려면, 역설적으로 쉬는 날도 설계해야 합니다. 저는 일주일에 하루는 학습을 완전히 비우고 탁구를 치거나 그냥 쉽니다. 그 하루가 나머지 엿새를 지켜 줍니다.
또 하나, 불안만을 연료로 쓰지 않으려 합니다. 불안은 시동을 걸기엔 좋지만, 오래 달리는 연료로는 사람을 태웁니다.
그래서 불안 옆에 긍정적 목표를 같이 둡니다. "뒤처질까 봐"가 아니라 "이걸 만들고 싶어서"라는 이유를 하나씩 챙깁니다. 두려움과 동경을 함께 쓰면 훨씬 오래 달릴 수 있습니다.
실천법 — 갈망을 루틴으로 바꾸기
- 시간부터 확보: 의지는 휘발됩니다. 매일 같은 시간(예: 출근 전 30분)을 학습 블록으로 고정하세요. 환경이 의지를 이깁니다.
- 약점 지도 만들기: 분기마다 채용 공고 서너 개를 펼쳐, 내가 모르는 걸 다 적습니다. 그게 분기 학습 목표가 됩니다.
- 기본기 한 줄기 정하기: 한 분기에 기본기 한 영역(자료구조, DB, 네트워크 등)을 골라 꾸준히 팝니다. 동시에 다 하려다 다 못 합니다.
- 마라톤 페이스: 리트코드든 책이든 하루 분량을 작게 잡고 매일 합니다. 주말 몰아치기보다 매일 조금이 오래 갑니다.
- 배운 걸 출력으로: 배운 것을 짧게 글로 남기거나 동료에게 설명하세요. 출력해야 내 것이 됩니다.
- 정기 점검: 분기 끝에 약점 지도를 다시 보고, 채워진 것과 남은 것을 확인합니다. 진전을 눈으로 봐야 동력이 유지됩니다.
- 쉬는 날 설계: 일주일에 하루는 학습을 비웁니다. 회복은 게으름이 아니라 지속을 위한 투자입니다.
- 비교 대상은 어제의 나: 남과의 비교를 끊고, 어제의 나를 기준으로만 진전을 잽니다.
분기 단위 예시
| 시점 | 행동 |
|---|---|
| 분기 초 | 채용 공고로 약점 지도 작성, 기본기 한 영역 선택 |
| 매일 | 고정 시간에 30분 학습(문제 1개 또는 책 한 절) |
| 매주 | 그 주에 배운 것 한 편 글로 정리, 하루는 휴식 |
| 분기 말 | 약점 지도 갱신, 진전 점검, 다음 분기 목표 |
표는 단순하지만, 핵심은 분기라는 단위입니다. 하루는 너무 짧아 변화가 안 보이고, 1년은 너무 길어 계획이 흐려집니다. 석 달은 한 영역을 제대로 파면서도 진전을 눈으로 확인할 수 있는, 제 경험상 가장 적당한 호흡이었습니다.
함정 — 자기주도를 오해할 때
좋은 원리도 잘못 쓰면 사람을 해칩니다. 자기주도 학습도 예외가 아닙니다. 제가 직접 빠지거나 가까이서 본 함정들을 모아 둡니다. 미리 알면 피하기 쉬워집니다.
- 자기착취로 변질: 자기주도가 끝없는 자기혹사가 되면 번아웃으로 무너집니다. Maslach의 번아웃 연구는 회복 없는 만성 과부하의 위험을 경고합니다. 쉼은 게으름이 아니라 지속의 조건입니다.
- 불안을 연료로만 쓰기: 불안은 시동을 걸 순 있어도 오래 달리는 연료로는 부적합합니다. 불안만으로 달리면 지칩니다. 가고 싶은 방향(긍정적 목표)이라는 연료를 같이 채우세요.
- 다 환경 탓 / 다 내 탓: 둘 다 함정입니다. 정직하게 구분하세요. 환경 탓이면 바꾸고, 내 탓이면 채우세요.
- 유행만 좇기: 새 프레임워크만 좇으면 기본기가 빕니다. 화려한 신상보다 천천히 낡는 기본기에 더 투자하세요.
- 남과 비교로 동력 삼기: 비교는 단기 자극은 되지만 길게는 갉아먹습니다. 비교 대상은 어제의 나로 두세요.
- 의지에만 의존: 의지는 약합니다. 시간 블록, 환경 설계 같은 시스템으로 의지를 대체하세요.
처음 시작하는 사람을 위한 첫 분기 가이드
이 모든 이야기가 좋아 보여도, 막상 어디서부터 시작할지 막막할 수 있습니다. 그래서 아무것도 안 하던 상태에서 첫 석 달을 어떻게 보내면 좋을지, 제가 권하는 순서를 적어 둡니다.
첫째 주에는 학습 블록 시간 하나만 정합니다. 무엇을 공부할지는 아직 정하지 않아도 됩니다. 그저 매일 같은 시간에 책상 앞에 앉는 습관부터 만듭니다. 첫 주의 목표는 학습이 아니라 출석입니다.
둘째 주에는 채용 공고 서너 개를 펼쳐 약점 지도를 만듭니다. 그리고 그중 딱 한 영역을 이번 분기 주제로 고릅니다. 욕심내지 말고 하나만 고르는 것이 핵심입니다.
이후 열 주 동안은 그 한 영역을 매일 조금씩 팝니다. 알고리즘이면 하루 한 문제, 책이면 하루 한 절. 매주 토요일엔 그 주에 배운 걸 짧은 글로 묶고, 일요일엔 쉽니다.
마지막 주에는 처음 만든 약점 지도를 다시 꺼내 봅니다. 채워진 항목에 줄을 긋고, 다음 분기 주제를 고릅니다. 이 한 사이클을 한 번만 제대로 돌려 보면, 그다음부터는 몸이 리듬을 기억합니다.
거창한 결심은 사흘을 못 갑니다. 그러나 이 작은 사이클은 1년이면 네 번 돕니다. 네 개의 약점을 메운 1년 뒤의 나는, 결심만 반복하던 작년의 나와는 완전히 다른 사람이 되어 있습니다.
FAQ
Q. 회사 일만 해도 벅찬데 자기주도 학습까지요? 거창하게 잡지 마세요. 하루 30분이면 충분합니다. 핵심은 양이 아니라 매일이라는 지속성입니다. 시간을 고정 블록으로 확보하는 게 첫걸음입니다.
Q. 불안이 너무 심해서 오히려 아무것도 못 하겠어요. 불안을 종이에 적어 구체적인 할 일로 바꿔 보세요. 막연한 불안이 목록이 되면 다룰 수 있어집니다. 너무 압도된다면 가장 작은 한 가지부터 시작하세요.
Q. 환경이 정말 안 좋으면 이직이 답 아닌가요? 이직은 정당한 자기주도적 선택입니다. 다만 옮기기 전에 "환경 탓인가 내 기본기 탓인가"를 정직하게 구분하세요. 환경 탓이면 옮기는 게 맞습니다.
Q. 기본기를 쌓을 시간에 실무 기술을 배우는 게 낫지 않나요? 둘 다 필요하지만 비중의 문제입니다. 실무 기술은 빨리 낡고, 기본기는 천천히 낡습니다. 길게 보면 기본기가 더 높은 복리로 돌아옵니다. 저는 학습 시간을 절반씩 나눠 씁니다.
Q. 매일 30분도 도저히 못 내겠어요. 정말 안 되는 시기예요. 그런 시기는 누구에게나 옵니다. 그럴 땐 양을 더 줄이세요. 하루 10분, 문제 한 개의 절반이라도 좋습니다. 중요한 건 끊기지 않는 것입니다. 0과 10분의 차이는 10분과 한 시간의 차이보다 큽니다. 습관의 끈만 살아 있으면 여유가 생겼을 때 금방 늘립니다.
Q. 남들과 비교하면 너무 초라해져요. 어떻게 멈추죠? 비교 대상을 어제의 나로 옮기세요. 남의 결과물은 그 사람의 몇 년이 압축된 결과지만, 내게 보이는 건 그 끝 장면뿐입니다. 과정은 안 보입니다. 보이지 않는 과정과 내 현재를 비교하니 늘 초라할 수밖에요. 어제의 나는 과정까지 다 아는 유일한 비교 대상입니다.
Q. 성장하는데도 늘 불안이 사라지지 않아요. 정상인가요? 저도 경력이 쌓인 지금도 그렇습니다. 실력이 늘면 보는 눈도 같이 높아져서, 모르는 영역이 오히려 더 또렷이 보입니다. 불안이 사라지지 않는 건 멈추지 않고 있다는 신호에 가깝습니다. 불안을 없애려 하기보다, 그 불안을 매번 할 일 목록으로 번역하는 습관을 들이세요.
한 페이지 요약 — 이 글을 다섯 줄로
읽고 나서 머리에 남기고 싶은 것만 추리면 이렇습니다.
첫째, 불안은 적이 아니라 방향 정보입니다. 자기비하로 흘리면 독이고, 약점 지도로 번역하면 나침반입니다.
둘째, 나를 키운 건 시켜서 한 공부가 아니라 내가 찾아서 한 공부였습니다. 자기결정이론이 말하듯, 자율적 동기가 가장 깊게 남습니다.
셋째, 기본기는 천천히 낡습니다. 자료구조, 운영체제, 네트워크, 데이터베이스, 깨끗한 코드. 유행보다 뿌리에 더 투자하세요.
넷째, 의지가 아니라 시스템입니다. 시간을 환경으로 고정하고, 작게 매일 하고, 출력으로 확인하고, 쉬는 날을 설계하세요.
다섯째, 비교 대상은 남이 아니라 어제의 나입니다. 그래야 멀리, 무너지지 않고 갑니다.
마치며 — 갈망은 부끄러운 게 아니다
리트코드 한 문제 앞에서 작아지던 그 밤 이후로, 저는 불안을 다르게 대하기로 했습니다.
불안할 때마다 자책하는 대신, 그 불안이 가리키는 방향을 봅니다. 모르는 걸 적고, 그걸 분기 목표로 삼고, 매일 조금씩 채웁니다.
불안은 여전히 찾아옵니다. 경력이 쌓인 지금도 그렇습니다. 다만 이제는 그것이 제가 아직 가고 싶은 곳이 있다는 신호임을 압니다. 불안이 사라진 날은 아마 제가 멈춘 날일 겁니다.
커리어를 향한 갈망은 부끄러운 게 아닙니다. 더 나아지고 싶은 마음, 인정받고 싶은 마음, 더 좋은 일을 하고 싶은 마음.
그 갈망을 자기비하로 흘려보내면 독이 되지만, 자기주도 학습으로 흘려보내면 가장 강한 동력이 됩니다. 같은 감정이 사람을 마비시키기도 하고 멀리 데려가기도 합니다. 방향만 바꾸면 됩니다.
그리고 그렇게 쌓은 실력은 누구도 빼앗아 가지 못합니다. 회사를 떠나도, 직무가 바뀌어도, 시장이 흔들려도, 내가 스스로 찾아 쌓은 것은 나를 따라옵니다.
결국 나를 성장시킨 것은 누가 시켜서가 아니라, 내가 찾아서 한 공부였습니다. 개발도, 영어도, 일본어도, 심지어 탁구마저도 그랬습니다.
오늘 불안하다면, 그 불안을 종이에 적고 한 줄짜리 할 일로 바꿔 보세요. 거창할 필요 없습니다. 딱 한 줄이면 됩니다. 그 한 줄이 1년 뒤의 당신을 만듭니다.
참고 자료
- Deci, E. L., & Ryan, R. M. — Self-Determination Theory 개요. https://selfdeterminationtheory.org/theory/
- Carol Dweck — Growth Mindset, 'The Power of Yet' TED. https://www.ted.com/talks/carol_dweck_the_power_of_believing_that_you_can_improve
- Cal Newport — So Good They Can't Ignore You. https://calnewport.com/so-good-they-cant-ignore-you/
- Will Larson (lethain) — 커리어와 기술 성장에 대한 글들. https://lethain.com/
- Maslach, C. — Burnout 연구 개요. https://pubmed.ncbi.nlm.nih.gov/27265691/
- HBR — Managing Your Own Career. https://hbr.org/2021/01/take-control-of-your-career