공부 지도: 입문자에서 고수까지 가는 길
컴퓨터를 잘 다룬다는 게 정확히 무엇인지, 입문부터 전문가까지 다섯 단계로 나눠 각 단계에서 할 수 있어야 하는 일과 공부할 순서를 정리했어요.
컴퓨터 공부는 범위가 너무 넓어서, 무엇부터 해야 할지 모르는 상태로 오래 머물기 쉬워요. 이 가이드북은 그 막막함을 줄이려고 만든 지도예요. 이 첫 강의에서는 전체 그림을 먼저 보여 드리고, 지금 내가 어디쯤 서 있는지, 다음에 무엇을 하면 되는지 정할 수 있게 도와드릴게요.
컴퓨터를 잘 다룬다는 것
"컴퓨터를 잘한다"는 말은 사람마다 다르게 써요. 누군가는 단축키를 많이 아는 사람을, 누군가는 코딩을 하는 사람을, 누군가는 서버를 운영하는 사람을 떠올려요. 이 가이드북에서는 다음 네 가지를 함께 갖춘 상태를 목표로 잡아요.
- 원리를 안다. 버튼을 눌렀을 때 화면 뒤에서 무슨 일이 일어나는지 대략 그릴 수 있어요.
- 도구를 쓴다. 터미널, 에디터, Git, 브라우저 개발자 도구처럼 전문가들이 매일 쓰는 도구를 손에 익혀요.
- 문제를 푼다. 처음 보는 오류를 만나도 겁먹지 않고, 증거를 모아 원인을 좁혀 가요.
- 만들고 운영한다. 작은 프로그램이나 웹사이트를 만들어 세상에 내놓고, 고장 나지 않게 관리해요.
이 네 가지는 따로 자라지 않아요. 원리를 알면 도구가 쉬워지고, 도구에 익숙하면 문제를 빨리 풀고, 문제를 많이 풀수록 만들 수 있는 것이 커져요. 그래서 공부도 한 분야만 깊게 파기보다, 여러 트랙을 번갈아 밟으며 함께 키우는 편이 효과가 좋아요.
다섯 단계로 본 실력
실력을 숫자로 재기는 어렵지만, 각 단계에서 "무엇을 할 수 있는가"로 나누면 꽤 분명해져요.
| 단계 | 이런 일을 할 수 있어요 | 이런 말을 이해해요 |
|---|---|---|
| 입문 | 파일과 폴더를 정리하고, 단축키로 작업하고, 짧은 파이썬 코드를 따라 쳐서 실행해요 | CPU, 메모리, 파일 경로, 변수 |
| 초급 | 터미널에서 명령어로 작업하고, 작은 스크립트를 스스로 만들고, 정적 웹사이트를 배포해요 | 프로세스, IP 주소, DNS, HTTP, 함수, Git 커밋 |
| 중급 | 오류 메시지와 로그를 보고 원인을 찾고, 데이터베이스가 있는 웹 서비스를 만들고, 서버를 직접 설정해요 | 인덱스, 트랜잭션, 리버스 프록시, 컨테이너, 비동기 |
| 고급 | 느린 코드를 측정해서 고치고, 장애를 예상해 구조를 설계하고, 보안 위험을 미리 막아요 | 캐시 계층, 복잡도, 동시성, 관측 가능성 |
| 전문가 | 여러 시스템을 엮은 큰 구조의 균형을 판단하고, 팀이 따를 기준을 만들어요 | 분산 합의, 일관성 모델, 용량 계획, 트레이드오프 |
한 사람이 모든 영역에서 같은 단계에 있을 필요는 없어요. 웹은 중급인데 네트워크는 초급일 수 있고, 그게 정상이에요. 중요한 건 영역마다 내 위치를 솔직하게 알고, 가장 약한 곳을 한 단계씩 올리는 거예요.
추천 순서와 그 이유
가이드북 첫 화면의 추천 순서는 이렇게 짜여 있어요.
- 개발자로 성장하기: 공부하는 방법 자체를 먼저 익혀요. Git, 디버깅, 문서 읽기는 다른 모든 트랙에서 계속 써요.
- 컴퓨터 기초: 기계가 어떻게 움직이는지 알아야 뒤에 나오는 모든 개념이 붙을 자리가 생겨요.
- 프로그래밍 기초: 파이썬으로 생각을 코드로 옮기는 감각을 익혀요. 처음 배우기 쉽고, 자동화와 AI 작업에 바로 써먹을 수 있어요.
- 리눅스와 터미널: 서버 대부분이 리눅스라서, 터미널이 편해져야 서버와 클라우드 공부가 가능해요.
- 네트워크: 웹사이트가 안 열릴 때 어디가 막혔는지 알려면 데이터가 오가는 길을 알아야 해요.
- 웹 개발: 지금까지 배운 것이 한데 모이는 곳이에요. 눈에 보이는 결과가 나와서 동기 부여에도 좋아요.
- 데이터베이스: 서비스가 기억을 갖게 되는 단계예요.
- 서버와 클라우드: 만든 것을 배포하고 오래 살리는 법을 배워요.
- 보안: 이 시점부터 만든 것이 공격받을 수 있어요. 지키는 법을 함께 배워야 해요.
- 자료구조와 알고리즘: 기본기가 쌓인 뒤에 공부하면 "왜 이게 필요한지"가 몸으로 느껴져요.
- AI와 머신러닝: 원리를 알고 쓰면 AI를 훨씬 정확하게 부릴 수 있어요.
- 컴퓨터 과학 심화: 고수들이 당연하게 여기는 깊은 원리를 정리해요.
알고리즘을 뒤쪽에 둔 게 의외일 수 있어요. 코딩 테스트 준비가 목표라면 앞당겨도 괜찮아요. 하지만 컴퓨터를 잘 다루는 것이 목표라면, 실제로 무언가를 만들어 본 뒤에 알고리즘을 공부할 때 훨씬 오래 남아요.
단계별로 무엇을 공부하나
입문: 기계와 친해지기
- 컴퓨터 부품이 하는 일(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이에요. 작업 기록을 남기는 습관은 공부 노트만큼이나 중요해요. 이어서 디버깅, 문서 읽기를 익히면 다른 트랙을 공부할 준비가 끝나요.