공부 지도: 입문자에서 고수까지 가는 길

컴퓨터를 잘 다룬다는 게 정확히 무엇인지, 입문부터 전문가까지 다섯 단계로 나눠 각 단계에서 할 수 있어야 하는 일과 공부할 순서를 정리했어요.

입문강의 1 / 6약 7분

컴퓨터 공부는 범위가 너무 넓어서, 무엇부터 해야 할지 모르는 상태로 오래 머물기 쉬워요. 이 가이드북은 그 막막함을 줄이려고 만든 지도예요. 이 첫 강의에서는 전체 그림을 먼저 보여 드리고, 지금 내가 어디쯤 서 있는지, 다음에 무엇을 하면 되는지 정할 수 있게 도와드릴게요.

컴퓨터를 잘 다룬다는 것

"컴퓨터를 잘한다"는 말은 사람마다 다르게 써요. 누군가는 단축키를 많이 아는 사람을, 누군가는 코딩을 하는 사람을, 누군가는 서버를 운영하는 사람을 떠올려요. 이 가이드북에서는 다음 네 가지를 함께 갖춘 상태를 목표로 잡아요.

  1. 원리를 안다. 버튼을 눌렀을 때 화면 뒤에서 무슨 일이 일어나는지 대략 그릴 수 있어요.
  2. 도구를 쓴다. 터미널, 에디터, Git, 브라우저 개발자 도구처럼 전문가들이 매일 쓰는 도구를 손에 익혀요.
  3. 문제를 푼다. 처음 보는 오류를 만나도 겁먹지 않고, 증거를 모아 원인을 좁혀 가요.
  4. 만들고 운영한다. 작은 프로그램이나 웹사이트를 만들어 세상에 내놓고, 고장 나지 않게 관리해요.

이 네 가지는 따로 자라지 않아요. 원리를 알면 도구가 쉬워지고, 도구에 익숙하면 문제를 빨리 풀고, 문제를 많이 풀수록 만들 수 있는 것이 커져요. 그래서 공부도 한 분야만 깊게 파기보다, 여러 트랙을 번갈아 밟으며 함께 키우는 편이 효과가 좋아요.

다섯 단계로 본 실력

실력을 숫자로 재기는 어렵지만, 각 단계에서 "무엇을 할 수 있는가"로 나누면 꽤 분명해져요.

단계이런 일을 할 수 있어요이런 말을 이해해요
입문파일과 폴더를 정리하고, 단축키로 작업하고, 짧은 파이썬 코드를 따라 쳐서 실행해요CPU, 메모리, 파일 경로, 변수
초급터미널에서 명령어로 작업하고, 작은 스크립트를 스스로 만들고, 정적 웹사이트를 배포해요프로세스, IP 주소, DNS, HTTP, 함수, Git 커밋
중급오류 메시지와 로그를 보고 원인을 찾고, 데이터베이스가 있는 웹 서비스를 만들고, 서버를 직접 설정해요인덱스, 트랜잭션, 리버스 프록시, 컨테이너, 비동기
고급느린 코드를 측정해서 고치고, 장애를 예상해 구조를 설계하고, 보안 위험을 미리 막아요캐시 계층, 복잡도, 동시성, 관측 가능성
전문가여러 시스템을 엮은 큰 구조의 균형을 판단하고, 팀이 따를 기준을 만들어요분산 합의, 일관성 모델, 용량 계획, 트레이드오프

한 사람이 모든 영역에서 같은 단계에 있을 필요는 없어요. 웹은 중급인데 네트워크는 초급일 수 있고, 그게 정상이에요. 중요한 건 영역마다 내 위치를 솔직하게 알고, 가장 약한 곳을 한 단계씩 올리는 거예요.

추천 순서와 그 이유

가이드북 첫 화면의 추천 순서는 이렇게 짜여 있어요.

  1. 개발자로 성장하기: 공부하는 방법 자체를 먼저 익혀요. Git, 디버깅, 문서 읽기는 다른 모든 트랙에서 계속 써요.
  2. 컴퓨터 기초: 기계가 어떻게 움직이는지 알아야 뒤에 나오는 모든 개념이 붙을 자리가 생겨요.
  3. 프로그래밍 기초: 파이썬으로 생각을 코드로 옮기는 감각을 익혀요. 처음 배우기 쉽고, 자동화와 AI 작업에 바로 써먹을 수 있어요.
  4. 리눅스와 터미널: 서버 대부분이 리눅스라서, 터미널이 편해져야 서버와 클라우드 공부가 가능해요.
  5. 네트워크: 웹사이트가 안 열릴 때 어디가 막혔는지 알려면 데이터가 오가는 길을 알아야 해요.
  6. 웹 개발: 지금까지 배운 것이 한데 모이는 곳이에요. 눈에 보이는 결과가 나와서 동기 부여에도 좋아요.
  7. 데이터베이스: 서비스가 기억을 갖게 되는 단계예요.
  8. 서버와 클라우드: 만든 것을 배포하고 오래 살리는 법을 배워요.
  9. 보안: 이 시점부터 만든 것이 공격받을 수 있어요. 지키는 법을 함께 배워야 해요.
  10. 자료구조와 알고리즘: 기본기가 쌓인 뒤에 공부하면 "왜 이게 필요한지"가 몸으로 느껴져요.
  11. AI와 머신러닝: 원리를 알고 쓰면 AI를 훨씬 정확하게 부릴 수 있어요.
  12. 컴퓨터 과학 심화: 고수들이 당연하게 여기는 깊은 원리를 정리해요.

알고리즘을 뒤쪽에 둔 게 의외일 수 있어요. 코딩 테스트 준비가 목표라면 앞당겨도 괜찮아요. 하지만 컴퓨터를 잘 다루는 것이 목표라면, 실제로 무언가를 만들어 본 뒤에 알고리즘을 공부할 때 훨씬 오래 남아요.

단계별로 무엇을 공부하나

입문: 기계와 친해지기

  • 컴퓨터 부품이 하는 일(CPU, 메모리, 저장장치)을 설명할 수 있게 돼요.
  • 파일 경로, 확장자, 인코딩 같은 기본 개념을 익혀요.
  • 단축키와 파일 관리 습관으로 작업 속도를 올려요.
  • 파이썬으로 변수, 조건문, 반복문을 다뤄 봐요.

이 단계의 목표는 "겁먹지 않기"예요. 설정 화면을 열어 보고, 오류 메시지를 끝까지 읽어 보고, 모르는 단어를 검색하는 습관을 들이는 것만으로도 다음 단계가 보여요.

초급: 혼자서 작은 것을 만들기

  • 터미널에서 폴더를 이동하고 파일을 다루고, 프로그램을 실행해요.
  • 함수와 모듈로 코드를 나누고, 파일을 읽고 쓰는 스크립트를 만들어요.
  • HTML과 CSS로 정적 웹사이트를 만들어 무료 호스팅에 올려요.
  • Git으로 작업 기록을 남기고 GitHub에 올려요.
  • IP, DNS, HTTP가 무엇인지 설명할 수 있어요.

이 단계부터는 "따라 하기"보다 "바꿔 보기"가 중요해요. 예제 코드를 그대로 실행하는 데서 멈추지 말고, 숫자를 바꾸고, 기능을 하나 더 붙이고, 일부러 망가뜨려 보세요. 망가뜨린 것을 되살리는 과정에서 가장 많이 배워요.

중급: 원리를 알고 스스로 풀기

  • 데이터베이스와 연결된 웹 서비스를 만들어요.
  • 리눅스 서버에 직접 접속해서 웹 서버를 설정하고 인증서를 붙여요.
  • 비동기 코드와 API 호출을 자연스럽게 다뤄요.
  • 도커로 실행 환경을 묶고, 푸시하면 자동으로 배포되게 만들어요.
  • 오류가 나면 로그와 재현 단계를 근거로 원인을 찾아요.

중급의 핵심은 "왜"를 묻는 습관이에요. 같은 문제를 다른 방법으로 풀었을 때 무엇이 달라지는지, 이 설정을 빼면 무엇이 깨지는지 직접 확인해 보세요.

고급: 구조를 설계하고 성능을 다루기

  • 느린 지점을 감으로 찍지 않고 측정해서 찾아요.
  • 캐시, 인덱스, 큐를 언제 써야 하는지 판단해요.
  • 장애가 나도 피해가 작게 끝나도록 구조를 나눠요.
  • 보안 위협을 설계 단계에서 미리 막아요.

전문가: 균형을 판단하기

전문가는 "정답"을 아는 사람이라기보다, 여러 선택지의 대가를 정확히 아는 사람이에요. 빠르게 만들 것인가 튼튼하게 만들 것인가, 직접 운영할 것인가 맡길 것인가, 지금 최적화할 것인가 나중에 할 것인가. 이런 질문에 근거를 들어 답하고, 그 결정을 다른 사람이 이해하도록 글로 남길 수 있어야 해요.

하루 공부 루틴

실력은 몰아서 하는 공부보다 매일 조금씩 쌓는 공부에서 나와요. 하루 한 시간을 기준으로 이렇게 나눠 보세요.

시간할 일
15분가이드북 강의 하나를 읽고 핵심을 세 줄로 요약하기
30분강의 내용을 직접 손으로 해 보기 (코드 치기, 명령어 실행하기)
10분막힌 점, 새로 안 점을 공부 노트에 적기
5분내일 할 일 한 줄 정하기

공부 노트는 꼭 남기세요. 마크다운 파일 하나에 날짜별로 적기만 해도 충분해요. 몇 달 뒤에 다시 읽으면, 내가 어디서 막혔고 어떻게 풀었는지가 가장 좋은 교재가 돼요.

AI 시대의 공부법

요즘은 AI에게 물어보면 거의 모든 질문에 답이 나와요. 그래서 오히려 공부하는 방식을 잘 정해야 해요.

  • 설명은 AI에게, 확인은 내 손으로. AI가 알려 준 명령어나 코드는 반드시 직접 실행해 결과를 확인하세요. AI는 그럴듯하게 틀릴 때가 있어요.
  • 답보다 이유를 물으세요. "이 코드 고쳐 줘"보다 "이 코드가 왜 이렇게 동작하는지 단계별로 설명해 줘"가 실력을 키워요.
  • 먼저 생각하고 물으세요. 5분이라도 스스로 가설을 세운 뒤에 물으면, AI의 답이 내 생각과 어디서 다른지 보이고 그 차이가 배움이 돼요.
  • AI가 만든 결과를 설명할 수 있어야 해요. 내가 설명하지 못하는 코드는 내 코드가 아니에요. 문제가 생기면 고칠 수 없어요.

AI는 지치지 않는 과외 선생님이에요. 다만 선생님이 대신 시험을 봐 주지는 않아요. 손으로 해 본 만큼만 내 실력이 돼요.

내 위치 점검표

아래 문장 중 자신 있게 "예"라고 답할 수 있는 것에 표시해 보세요. 표시가 끊기는 곳이 지금 공부할 곳이에요.

입문

  • 메모리와 저장장치의 차이를 설명할 수 있다
  • 파일의 전체 경로를 보고 어느 폴더에 있는지 안다
  • 파이썬에서 리스트를 만들고 반복문으로 출력할 수 있다

초급

  • 터미널에서 폴더를 만들고, 이동하고, 파일을 복사할 수 있다
  • 도메인 주소를 입력하면 어떤 과정을 거쳐 사이트가 열리는지 대략 그릴 수 있다
  • Git으로 커밋하고 GitHub에 푸시할 수 있다
  • 정적 웹사이트를 만들어 인터넷에 공개해 본 적이 있다

중급

  • SQL로 두 테이블을 연결해 원하는 데이터를 뽑을 수 있다
  • 리눅스 서버에 SSH로 접속해 웹 서버를 설정해 본 적이 있다
  • 비동기 함수가 왜 필요한지 설명할 수 있다
  • 오류 로그를 보고 원인을 찾아 고친 경험이 있다

고급

  • 느린 기능을 측정 도구로 분석해 개선한 적이 있다
  • 캐시를 넣었을 때 생기는 문제(오래된 데이터 등)를 설명할 수 있다
  • 내 서비스가 받을 수 있는 공격과 대비책을 나열할 수 있다

전문가

  • 일관성과 가용성 사이에서 어떤 선택을 왜 했는지 글로 설명할 수 있다
  • 다른 사람이 따를 수 있는 설계 기준이나 운영 규칙을 만들어 본 적이 있다

흔한 함정

  • 강의만 보고 손을 안 움직이기. 이해한 것 같은 느낌과 할 수 있는 것은 전혀 달라요.
  • 도구 쇼핑. 에디터 테마, 키보드, 새 프레임워크를 고르는 데 시간을 다 쓰는 경우가 많아요. 도구는 지금 가진 것으로 충분해요.
  • 완벽한 첫 프로젝트. 첫 프로젝트는 부끄러워야 정상이에요. 작게 만들고, 공개하고, 고치세요.
  • 모르는 걸 아는 척하기. 모르는 단어가 나오면 그 자리에서 찾아보세요. 미루면 모르는 것이 쌓여 벽이 돼요.

다음 강의

다음은 매일 쓰게 될 도구인 Git이에요. 작업 기록을 남기는 습관은 공부 노트만큼이나 중요해요. 이어서 디버깅, 문서 읽기를 익히면 다른 트랙을 공부할 준비가 끝나요.