
얼마 전 카페에서 노트북을 펴고 코딩 공부를 하는 사람을 봤는데, 화면보다 검색창을 더 오래 보고 있더라고요. 사실 처음 코딩을 시작하면 코드 자체보다 “뭘 먼저 해야 하지?”에서 시간을 더 많이 씁니다. 저도 처음엔 책을 샀다가 강의를 켰다가, 결국 계산기 하나 제대로 못 만들고 며칠을 보낸 적이 있어요.
코딩은 천재들만 하는 기술처럼 보이지만, 막상 들어가 보면 외국어 공부와 꽤 비슷합니다. 문법을 조금 배우고, 짧은 문장을 따라 치고, 자주 틀리면서 익숙해지는 과정이죠. 그래서 처음부터 거창한 앱이나 인공지능을 목표로 잡기보다, 30일 정도는 손에 감각을 붙이는 쪽이 훨씬 낫습니다.
처음 언어는 하나만 고르면 충분합니다
초보자가 가장 많이 흔들리는 지점이 언어 선택입니다. 파이썬이 좋다더라, 자바스크립트가 실용적이라더라, 자바는 취업에 필요하다더라 하는 이야기가 계속 들리거든요. 그런데 처음 1개월은 어떤 언어를 고르느냐보다 매일 코드를 직접 치는지가 더 중요합니다.
그래도 고르기 어렵다면 기준을 단순하게 잡으면 됩니다. 데이터 분석, 자동화, 업무 효율화에 관심이 있으면 파이썬이 편합니다. 웹페이지를 직접 움직이게 만들고 싶다면 자바스크립트가 좋고요. 앱 개발이나 백엔드 취업까지 생각한다면 자바도 선택지가 됩니다. 다만 첫 달에는 하나만 잡고 가는 게 좋습니다. 언어를 자주 바꾸면 새 출발하는 느낌은 나지만 실력은 잘 쌓이지 않습니다.
- 업무 자동화, 엑셀 파일 처리: 파이썬
- 웹 화면, 버튼, 간단한 서비스: 자바스크립트
- 전공 수업, 백엔드 입문: 자바
30일 루틴은 짧고 반복 가능해야 합니다
코딩 공부를 하루 3시간씩 하겠다고 마음먹으면 멋있긴 한데, 현실에선 오래가기 어렵습니다. 처음에는 하루 30분도 충분합니다. 중요한 건 같은 시간에 앉아서 코드 편집기를 여는 습관입니다. 30일 동안 30분씩만 해도 900분, 시간으로 바꾸면 15시간입니다. 이 정도면 변수, 조건문, 반복문, 함수의 느낌은 충분히 잡을 수 있습니다.
첫 7일은 문법을 따라 치는 기간으로 두면 좋습니다. 변수에 숫자와 글자를 넣고, 조건문으로 나이에 따라 다른 문장을 출력하고, 반복문으로 1부터 100까지 더하는 식입니다. 너무 쉬워 보여도 직접 치면 오타와 오류가 계속 나옵니다. 그 과정이 은근히 중요합니다. 오류 메시지를 보고 고치는 경험이 코딩의 체력입니다.
8일째부터 20일째까지는 작은 문제를 매일 2개씩 풀어보면 좋습니다. 예를 들어 짝수만 출력하기, 점수 평균 구하기, 문자열에서 특정 글자 세기 같은 문제입니다. 문제 하나에 10분 이상 막히면 답을 봐도 괜찮습니다. 대신 답을 그대로 넘기지 말고, 한 줄씩 왜 그렇게 되는지 입으로 설명해보면 훨씬 오래 남습니다.
21일째부터는 작은 결과물을 만드는 시기입니다. 계산기, 할 일 목록, 랜덤 메뉴 추천기, 가계부처럼 생활에서 바로 떠올릴 수 있는 도구가 좋습니다. 완성도가 낮아도 상관없습니다. 버튼 하나가 눌리고, 숫자가 계산되고, 입력한 내용이 화면에 남는 순간 코딩이 갑자기 덜 추상적으로 느껴집니다.
강의만 듣는 함정은 빨리 빠져나와야 합니다
코딩 강의는 친절합니다. 강사가 치는 코드는 잘 돌아가고, 설명도 매끄럽습니다. 그런데 내 손으로 다시 만들려고 하면 갑자기 막힙니다. 이건 이해력이 부족해서가 아니라, 보는 능력과 만드는 능력이 다른 근육이기 때문입니다.
강의를 들을 때는 20분 듣고 20분 멈춰서 같은 코드를 직접 써보는 방식이 좋습니다. 화면을 그대로 베껴도 됩니다. 다만 복사해서 붙여넣는 시간은 최대한 줄이는 편이 낫습니다. 괄호 하나, 따옴표 하나를 직접 입력하면서 실수가 생기고, 그 실수를 고치면서 구조가 몸에 들어옵니다.
솔직히 처음부터 모든 개념을 이해하려고 하면 금방 지칩니다. 함수가 왜 필요한지, 배열이 왜 편한지, 객체가 왜 나오는지는 예제를 여러 번 만난 뒤에야 자연스럽게 와닿습니다. 그러니 모르는 말이 나왔다고 멈춰 서 있기보다, 간단히 메모만 해두고 다음 예제로 넘어가는 편이 흐름을 이어가기에 좋습니다.
작은 프로젝트 하나가 책 세 장보다 오래 남습니다
처음 만드는 프로젝트는 대단할 필요가 없습니다. 오히려 너무 큰 목표는 중간에 손을 놓게 만듭니다. “나만의 독서 기록장”처럼 입력, 저장, 목록 보기 정도만 있어도 충분합니다. 웹이라면 제목과 날짜를 입력하고 화면에 카드처럼 보여주면 되고, 파이썬이라면 텍스트 파일에 기록을 남기는 식으로 시작할 수 있습니다.
예를 들어 랜덤 점심 메뉴 추천기를 만든다고 해볼게요. 메뉴 10개를 배열에 넣고, 버튼을 누르면 그중 하나를 보여줍니다. 여기에는 변수, 배열, 랜덤, 이벤트라는 개념이 들어갑니다. 겉보기엔 장난감 같지만 기본기가 꽤 많이 섞여 있습니다. 이런 프로젝트를 3개만 만들어도 강의만 들었을 때보다 훨씬 자신감이 붙습니다.
프로젝트를 할 때는 기능을 작게 쪼개는 습관도 같이 가져가면 좋습니다. 처음부터 예쁜 화면, 로그인, 저장 기능을 모두 넣으려 하면 복잡해집니다. 먼저 입력이 되는지 보고, 다음에 화면에 표시하고, 그다음 저장을 붙이는 식으로 한 단계씩 올리면 됩니다. 코딩은 큰 덩어리를 잘게 나누는 연습에 가깝습니다.
막히는 시간이 실력이 되는 순간이 있습니다
초보 때 가장 힘든 건 오류입니다. 빨간 글씨가 뜨면 내가 뭔가 크게 잘못한 것 같고, 같은 코드를 계속 봐도 어디가 문제인지 안 보입니다. 그런데 실제 개발자들도 매일 오류를 만납니다. 차이가 있다면 오류를 실패로 보지 않고 단서로 본다는 점입니다.
오류가 나면 먼저 에러 메시지의 첫 줄과 마지막 줄을 천천히 읽어보면 됩니다. 그다음 최근에 고친 코드부터 확인합니다. 괄호가 빠졌는지, 이름을 다르게 썼는지, 들여쓰기가 어긋났는지 보는 거죠. 초보 오류의 상당수는 이런 작은 실수에서 나옵니다. 이상하게 들릴 수 있지만, 이런 실수를 많이 겪을수록 나중에 고치는 속도가 빨라집니다.
코딩을 잘하려면 특별한 재능보다 버티는 방식이 더 중요하다고 느낍니다. 하루에 조금씩 치고, 작은 걸 만들고, 막히면 검색하고, 다시 고치는 흐름을 반복하면 어느 순간 화면 속 코드가 낯선 기호가 아니라 내 도구처럼 보입니다. 그때부터 공부가 꽤 재미있어집니다. 처음 30일은 거기까지 가기 위한 예열이라고 생각하면 부담이 훨씬 줄어듭니다.
