본문으로 건너뛰기

버그 제보

이상한 점을 알려 주시면 고칠게요. 지금 보고 있는 페이지와 브라우저 정보가 함께 담겨요.

페이지:

Career

개발자의 지속 가능한 학습 루프

작성 2026. 10. 21.추가
목차18개 항목
출처와 참고

F-Lab 블로그의 「지속가능한 개발자 성장 스킬 5가지」(2022.12)와 「주니어 개발자들이 읽으면 좋은 테크 아티클 모음」(2023.05), 옥찬호의 고려대 컴퓨터학과 특강 「대학생 때 알았더라면 좋았을 것들」(2022) 슬라이드를 바탕으로 재구성한 노트다. 매일 커밋에 대한 관점, 「무엇을 배울지 고르기」, 공부하는 방법 일부는 「일일커밋의 효용성」, 「개발자가 공부로 살아남는 방법」(2019.08), DEVIEW 발표 「개발을 잘하고 싶어요」, 「SI 개발 10년차인데 코드 좀 봐주세요」를 바탕으로 보강했다. 10년 법칙과 의도적 연습은 Peter Norvig의 「Teach Yourself Programming in Ten Years」를 바탕으로 더했다. 「AI 시대의 학습」은 배휘동의 발표 자료 「나날이 발전하고픈 개발자를 위한 AI 활용법」(2025.08) 3부를 바탕으로 더했다. 「공부하는 방법」 표의 영상 강의 보는 법은 CrashCourse의 「Crash Course Computer Science」 강의를 바탕으로 보강했다.

왜 「지속 가능」이 먼저인가

개발은 사용자가 늘고, 데이터가 쌓이고, 기능이 붙을수록 새 문제가 생기는 일이다. 그래서 공부가 끝나지 않는다. 끝나지 않는 공부에서는 강도보다 지속성이 이긴다.

「매일 커밋(GitHub 잔디 심기)」이 좋은 반례다. 강한 의지로 몇 달은 버틸 수 있지만 평생 하기는 어렵다. 게다가 성장을 커밋 하나로만 재게 만든다. 설계, 독서, 코드 리뷰, 오픈소스 읽기, 하루에 끝나지 않는 개발도 모두 학습이다. 측정하기 쉬운 틀에 노력을 끼워 맞추면 지치고, 지치면 멈춘다. 필요한 것은 10년, 20년의 개발 인생에 녹아드는 습관이다.

매일 커밋을 두고는 관점이 갈린다.

관점근거
보이는 지표가 습관을 붙잡는다반복 작업은 성과가 눈에 보일 때 이어진다. 커밋 기록, 연속 일수처럼 눈에 보이는 지표와 목표 숫자를 정하고 매일 확인하면 게임처럼 동기가 생긴다. 지표가 없는 개인 프로젝트·스터디일수록 쉽게 버려진다. 며칠 빠지거나 편법을 써도 이어 가는 것이 중요하다
지표가 학습을 왜곡한다커밋으로 잴 수 없는 학습(설계, 독서, 리뷰)이 밀리고, 숫자를 지키는 것 자체가 목적이 되면 지친다

둘을 합치면 지표는 습관의 시동 장치로 쓰되, 성장의 정의로 삼지 않는다.

전문성에는 10년이 걸린다

「24시간 만에 배우는 ○○」로 얻는 것은 문법을 아는 정도의 겉핥기다. 체스·음악·운동·연구 같은 여러 분야에서 전문성은 대략 10년(또는 1만 시간) 의 연습으로 생긴다는 연구가 반복해서 나왔다. 시간만 쌓는다고 되지는 않는다. 효과가 있는 것은 의도적 연습(deliberate practice) 이다. 지금 능력보다 조금 어려운 과제를 정하고, 하면서 결과를 분석하고, 실수를 고치고, 반복한다. 경험이 많은 사람도 이렇게 해야 실력이 오른다.

프로그래밍에 옮기면왜
재미를 잃지 않는다10년을 버티는 연료다
직접 짠다가장 좋은 학습은 해 보는 것이다. 잘 정의된 과제, 알맞은 난이도, 피드백, 반복과 수정 기회가 필요하다
다른 프로그래머와 이야기하고 남의 코드를 읽는다어떤 책이나 강좌보다 중요하다
어떤 프로젝트에선 가장 잘하는 사람, 어떤 프로젝트에선 가장 못하는 사람이 된다앞에서는 이끄는 법을, 뒤에서는 고수가 하는 일과 하기 싫어하는 일을 배운다
남이 떠난 프로그램을 이해하고 고친다다음 사람이 유지보수하기 쉬운 설계를 고민하게 된다
언어를 여섯 개쯤 익힌다클래스 추상화(Java), 함수 추상화(Haskell·ML), 구문 추상화(Lisp), 선언적 명세(Prolog), 병렬(Go·Clojure)을 강조하는 언어를 하나씩 고른다(프로그래밍 패러다임)
컴퓨터의 시간 감각을 안다명령 하나, 메모리 읽기(캐시 적중·미스), 디스크 연속 읽기·탐색에 걸리는 시간의 자릿수를 안다(메모리 계층)
표준화 논의에 한 번 참여한다2칸·4칸 들여쓰기 논쟁이라도, 사람들이 언어에서 무엇을 왜 얼마나 강하게 원하는지 배운다. 그리고 빨리 빠져나온다

다섯 단계 루프

flowchart LR
  n1["정보 습득<br/>(넓게 훑기)"] --> n2["학습<br/>(깊게)"]
  n2 --> n3["정리<br/>(남기기)"]
  n3 --> n4["실습<br/>(손으로)"]
  n4 --> n5["적용<br/>(실제 프로젝트)"]
  n5 -->|"적용하며 생긴 질문"| n1
단계무엇을드는 시간
1. 정보 습득뉴스레터·RSS·커뮤니티로 흐름을 훑고 분류한다짧다. 틈새 시간으로 충분하다
2. 학습고른 주제를 책·공식 문서로 깊게 공부한다길다
3. 정리배운 것을 요약해 위키·노트·블로그에 남긴다학습과 함께 조금씩
4. 실습튜토리얼을 따라 하고, 바꿔 보고, 테스트를 붙인다길다
5. 적용토이 프로젝트나 실무에 넣어 본다길다. 쓸 곳이 보일 때만

1~3단계만 꾸준해도 좋은 학습 습관이다. 4~5단계는 시간이 많이 들어 모든 주제에 할 수 없다. 깊이 팔 주제만 골라 끝까지 간다.

1. 정보 습득: 넓게 훑고 고른다

세상의 지식을 다 읽을 수는 없다. 이 단계의 목적은 무엇을 깊게 팔지 고르는 것이다.

경로예
뉴스 큐레이션GeekNews, Hacker News
블로그 모음국내 개발 블로그를 모은 awesome-devblog 같은 저장소
RSS 리더Feedly, Slack의 RSS 앱으로 구독한 블로그를 한곳에 모은다
커뮤니티언어·분야별 커뮤니티, 개발자 SNS

루틴은 두 번에 나눈다.

  1. 훑으며 분류한다. 구독한 글을 가볍게 넘기며 「나중에 볼 것」을 고른다. 모르는 키워드는 이때 뜻만 찾아 둔다.
  2. 여유 있을 때 다시 본다. 고른 글을 읽고 더 시간을 들일 주제인지 정한다.

기술 블로그를 읽는 이유와 방법

회사 기술 블로그는 채용과 브랜딩을 위해 쓰이지만, 독자에게는 실제 회사가 어떤 문제를 어떤 근거로 풀었는지 보여 주는 자료다. 대기열 시스템, 인증·인가를 둘 위치, DB 샤딩, 대규모 트래픽, 장애 회고처럼 교과서가 다루지 않는 실무 문제가 나온다. 기술 변화가 빨라 번역서를 기다리기보다 해외 문서와 블로그에서 먼저 배우는 경우가 많고, 프론트엔드에서 특히 그렇다.

원칙방법
꾸준히 넓게 접한다어떤 관점이 오래 도움이 될지는 많이 읽어 봐야 가려낼 안목이 생긴다
깊게는 골라서지금 성장과 맞닿은 주제, 곧 쓸 주제에만 시간을 더 쓴다
문제 정의와 풀이 과정을 본다결론보다 「무엇이 문제였고, 무엇을 비교했고, 왜 그 해법인가」를 읽는다
아는 개념에 잇는다글에 나온 검색 원리, 이벤트 루프, 샤딩을 내가 아는 지식과 연결한다
종류를 섞는다기술 인사이트 글과 성장·커리어 조언 글을 함께 읽는다
영어 글도 읽는다해외 기업 블로그와 영어로만 쓰는 국내 회사 블로그에 좋은 글이 많다

회사 블로그에 나온 문제의 수준은 그 회사가 기대하는 역량을 가늠하는 단서도 된다.

2. 학습: 정제된 자료로 깊게

자료장점주의
책검수·검증을 거친 정제된 자료다시간이 많이 든다. 입문서라도 개념을 또렷이 잡는 데 쓴다
공식 문서·가이드만든 곳이 쓴 자료라 가장 정확할 때가 많다한국어판이 없는 경우가 많다

분야별 책 목록은 개발 분야별 추천 도서에 있다.

무엇을 배울지 고르기

기술은 다 배울 수 없다. 학습이 어려운 이유는 기술 자체보다 무엇부터 배울지 정하기 어려워서인 경우가 많다.

질문판단
유행인가, 오래 쓰일 기반인가빠르게 바뀌는 도구보다 오래 가는 기초(언어, 네트워크, 자료구조, 설계)에 시간을 더 쓴다. 프레임워크는 시대의 요구에 따라 바뀐다
지금 필요한가당장 만들 것에 필요한 기술은 바로, 아닌 것은 목록에만 둔다
왜 배우는지 설명할 수 있나「다들 쓰니까」가 아니라 내 기준으로 이유를 댈 수 있어야 한다
  • 만들 결과물을 먼저 정한다. 목표가 모호하면 어디서 끝내야 할지 몰라 지치고, 배운 것을 쓸 곳이 없어 흥미가 떨어진다.
  • 여러 주제를 얕게 훑기보다 한 주제를 끝낸다.

공부하는 방법

방법뜻
메타인지내가 무엇을 알고 무엇을 모르는지 먼저 가린다. 모르는 것을 알아야 공부할 곳이 보인다
설명해 보기(자기 교수법)남에게 설명하듯 말해 보면 막히는 지점이 곧 빈틈이다
흐름 따라 공부하기개념을 낱개로 외우지 않고 잇는다. 힙(heap)이라면 정의 → 연산 → 시간 복잡도 → 배열로 구현하는 이유까지 한 줄로 따라간다
점을 이어 선으로이론과 실무는 따로 있지 않다. 2차원 배열을 행 우선으로 도느냐 열 우선으로 도느냐가 캐시 지역성 때문에 속도를 바꾸는 것처럼, 이론은 실무 코드에서 다시 만난다(캐시를 고려한 코드)
「왜」를 꼬리 물기익숙한 개념도 「왜 그런가」를 연달아 물어 동작 원리와 하위 개념까지 내려간다. 같은 기능만 반복 구현하면 연차가 쌓여도 실력이 멈춘다. 실무에서 만난 문제를 출발점으로 삼으면 따로 하는 공부보다 깊다
아는 문제로 바꾸기새 문제를 이미 풀이법이 알려진 문제로 환원한다. 복잡하면 핵심만 남긴 단순한 모델로 시작해 변수를 하나씩 더하고, 큰 프로그램은 작은 함수 단위 동작으로 쪼개 이해한다
안다고 생각한 것 다시 보기시간이 지나 복습하면 전에는 안 보이던 것이 보인다
영상 강의는 능동적으로 보기재생 속도를 이해하고 곱씹을 여유가 있는 정도로 맞춘다. 어려운 곳에서 멈추고 방금 본 내용을 스스로 묻고 답하거나, 다음에 무엇이 나올지 예측한 뒤 확인한다. 영상 속 예제는 직접 따라 하고, 코드를 못 돌리면 종이에 의사 코드라도 쓴다. 틀어 두기만 하는 시청은 아는 느낌만 남긴다
가장 약한 요소부터개발 능력은 기초 지식, 문제 환원, 구현 숙련, 도구 이해 같은 여러 능력의 조합이다. 가장 부족한 요소를 채우면 전체가 함께 오른다
언어 하나는 깊게한 언어로 작동하게 → 낫게 → 빠르게 만드는 단계를 끝까지 겪으면 다음 언어는 빨리 익힌다

분야를 아직 못 정했다면 여러 분야를 가볍게 시도해 맞는 것을 찾는다. 로드맵은 방향을 잡는 용도이지 모두 외울 목록이 아니다.

3. 정리: 하면서 남긴다

배운 것은 공유할 수 있는 형태(위키, 노트, 블로그)로 정리한다. 확인된 내용 위주로 쓴다.

권장피한다
공부하는 중에 가볍게 요약하고, 나중에 다듬어 공개한다작업이 끝난 뒤 몰아서 정리한다
조금 느려져도 정리하면서 진행한다참고한 글, 거친 과정, 해결에 이른 생각이 기억나지 않아 결과만 남거나, 정리 자체를 잊는다

블로그 글의 깊이와 가치는 초보 웹 개발자의 공부 방향과 차별화의 「기록의 깊이」에 있다.

4. 실습: 따라 하고, 바꾸고, 테스트를 붙인다

  1. 따라 한다. 대부분의 기술은 Getting Started나 튜토리얼을 준다. 일단 그대로 돌린다.
  2. 바꿔 본다. 입력값을 바꿔 가며 원리를 파악하고, 이해되면 로직도 바꾼다. 이 과정에서 버그를 찾으면 기여로 이어질 수 있다.
  3. 테스트 케이스를 붙인다. 예제에는 보통 테스트가 없다. 테스트를 더하며 동작을 더 깊이 이해한다.

남의 코드를 돌리고 고치고 합치며 익히는 훈련법은 컴퓨팅 사고와 개발 실력 늘리는 법에 자세히 있다.

5. 적용: 토이 프로젝트에서 실무로

  • 토이 프로젝트에 넣는다. 쓸 곳이 떠오를 때만 해도 된다. 이미 만든 프로젝트에 기능을 더하는 편이 새 프로젝트보다 쉽다. 변경은 feature 브랜치로 나눠 기록을 남긴다.
  • 실무에 제안한다. 토이 프로젝트에서 검증한 결과는 설득의 근거가 된다. 선행 학습이 끝나 있으니 도입까지의 시간도 줄어든다. 채택되지 않아도 공유와 제안만으로 동료에게 자극이 되고 피드백을 받는다.

루프를 오래 돌리는 법

원칙실천
틈새 시간을 쓴다정보 습득과 정리는 업무 시작 전 30분, 마무리 전 15분 같은 짧은 시간으로도 된다
급하지 않지만 중요한 일을 먼저학습은 늘 급한 일에 밀린다. 시간을 먼저 떼어 둔다
깊이는 고른다책과 실습은 시간이 많이 든다. 무엇을 얼마나 팔지는 상황과 열정에 맞춰 정한다
작게 시작한다공부할 때마다 새 프로젝트와 거창한 설계부터 하면 용두사미가 되고, 그 경험이 쌓이면 루프 자체를 의심하게 된다. 이미 돌아가는 프로젝트의 작은 개선, 가벼운 예제 따라 하기로 충분하다
삽질을 줄이는 공부도 공부다반복해서 막히는 지점을 줄이는 학습, 이미 아는 기술을 더 깊게 파는 학습 모두 개선이다
즐거워야 오래 간다얻는 것이 분명할수록 꾸준해진다. 남의 방식보다 나에게 맞는 방식을 찾는다

AI 시대의 학습: 따라가지 말고 흘러들어오게

AI 도구는 끝없이 쏟아진다. 다 써 봐야 한다는 조급함(FOMO)부터 내려놓는다. 따라갈 필요는 없다. 사람마다 AI를 아는 정도의 차이가 아주 크지만, 「요즘 AI가 무엇을 어디까지 해 주는지」를 아는 것만으로 그 차이가 크게 줄어든다. 다만 손 놓으면 금방 다시 벌어진다.

원칙실천
관심 카테고리를 정한다코딩 에이전트, 학습 도구처럼 내가 볼 범위를 좁힌다
흘러들어오게 한다믿을 만한 SNS 계정, 뉴스레터, 커뮤니티를 골라 둔다. 예약 작업으로 나만의 AI 뉴스 요약을 받아 신호 대 잡음비를 높인다
가끔만 써 본다관심 카테고리에서 들어온 것만 살피고, 직접 써 보는 건 가끔
반반의 마음호들갑을 보면 「신기하다, 하지만 별것 아니다」를 함께 품는다
그냥 놀아 본다건강한 호기심을 잃지 않는다. 궁금하면 바로 딥 리서치를 돌린다

학습에 쓰는 기능 자체도 바뀌었다. 개념을 설명해 달라는 것 말고도, 그 개념을 설명하는 인터랙티브 웹앱을 만들게 하거나, 학습 모드(ChatGPT Study Mode, Gemini Guided Learning, Claude의 학습 스타일)를 켜서 답 대신 질문으로 이끌게 하거나, 그림책 형식으로 만들게 할 수 있다. 이런 선택지가 있다는 것조차 모르는 경우가 많다.

믿을 만한 자료로 배우고 버린다

자료방법
공식 문서도구를 만든 회사의 문서와 무료 강좌를 깊게 읽고 따라 한다
사람고객을 이해하려면 결국 발로 뛰어야 하듯, 가장 중요한 통찰은 사람에게서 나온다. 고수와 대화한다
깊이 있는 글·영상통찰 있는 사람의 긴 글을 자세히 읽는다
생성형 지식근의 공식(결과, 완성형 지식)보다 근의 공식을 유도하는 법(과정, 생성형 지식)에 관심을 둔다. 도구의 사용법을 그 도구에게 묻는 것도 생성형 사고다
딥 리서치여러 서비스의 딥 리서치를 앞 결과를 넘겨 가며 차례로 돌리고, 마지막에 취합해 글로 쓰고 사람들과 이야기한다. 모르는 명령어 하나를 발견하면 「이런 게 또 없나?」로 넓힌다

모든 자료에 의심과 호기심을 갖고, 실험하고, 배운 것을 공유한다. AI가 한 말도 사람이 한 말도 한 번은 검증한다.

고수에게 배우는 질문

상대에게 가르치는 기술이 없으면 내가 이끌어야 한다. 이 질문들은 AI에게 써도 좋다.

  • 「어떤 신호로 그 패턴을 알아보셨어요? 어디에 주목하셨어요?」
  • 「저는 문제가 A라고 보고 B를 했고 C를 기대했는데 D가 됐어요. 당신이라면 어떻게, 왜 하셨겠어요? 결과가 어떻게 달라졌을까요?」
  • 「이걸 연습할 때 무엇에 집중해야 하나요?」

지식·기술뿐 아니라 그것을 만드는 방법을 배운다. 고수는 멀리 있지 않다. 나보다 조금만 더 알면 고수다. 배운 것을 떠들고 다니면 비슷한 고민을 하는 고수가 눈에 띄고, 만난 사람에게 다음 사람을 소개받는다. 콜드 메일도 잃을 게 없다.

시니어가 할 수 있는 것

  • 암묵지를 꺼내 에이전트와 조직이 쓰게 한다. 깊은 도메인 지식을 정리한 안내서, 레거시를 옮기는 직접 다듬은 예시 코드, AI의 실수를 잡은 뒤 다시 실수하지 않게 만든 규칙 파일.
  • 우선순위에 밀려 미뤄 둔 일을 에이전트로 병렬로 시도한다.
  • 여러 도메인 경험을 섞어 새로운 아이디어를 낸다.

AI를 잘 쓰는 사람들의 습관도 같은 방향이다. 새 모델이 나오면 개인 벤치마크로 시험하고, 개발 밖의 학습과 의도적 수련에 AI를 쓰고, 자주 쓰는 라이브러리의 핵심 패턴을 외워 AI의 실수를 잡는 눈을 기르고, 15~30분 전의 작업과 생각을 되짚는 짧은 회고를 반복한다. AI가 못하면 「얘를 잘하게 할 방법이 분명 있을 텐데, 지금 내가 모르는 그게 뭘까」를 묻는다.

실행으로 옮기는 구현 의도

습관은 하루아침에 생기지 않는다. 심리학자 피터 골비처의 구현 의도(implementation intention)는 언제·어디서·무엇을 할지 미리 구체적으로 정해 두면 의도가 행동이 될 가능성이 크게 오른다는 개념이다.

막연한 의도구현 의도
내일부터 매일 딥 리서치를 해야지출근길에 읽은 뉴스에서 키워드 하나를 뽑아 두고, 9시에 자리에 앉자마자 딥 리서치를 돌린다. 점심에 그 이야기를 동료와 나누고 SNS에 올린다

정리

  • 공부는 강도보다 지속성이다. 측정하기 쉬운 틀(매일 커밋)에 노력을 끼워 맞추지 않는다.
  • 정보 습득 → 학습 → 정리 → 실습 → 적용. 앞의 세 단계는 늘, 뒤의 두 단계는 고른 주제에만.
  • 기술 블로그는 넓게 훑고 골라서 깊게, 결론보다 문제 정의와 풀이 과정을 읽는다.
  • 모르는 것을 가리고, 설명해 보고, 개념을 흐름으로 잇는다.
  • 정리는 몰아서 하지 않고 하면서 한다.
  • AI 도구는 따라가지 말고 관심 카테고리만 흘러들어오게 한다. 결과보다 결과를 만드는 법(생성형 지식)을 배운다.
  • 계획은 언제·어디서·무엇을까지 정한 구현 의도로 세운다.

관련 노트: 회사에서 빠르게 성장하는 법, 컴퓨팅 사고와 개발 실력 늘리는 법, 개발 분야별 추천 도서, 초보 웹 개발자의 공부 방향과 차별화, The Missing Semester: CS 교육에서 빠진 도구 학기, AI에게 일 맡기기: 권한·정보·도구, 개발 배우기의 네 단계와 넘는 법, 개발자 기술 블로그

원본 기록10

댓글

GitHub 계정으로 댓글을 남길 수 있어요.