초보자가 프로그래밍을 시작하는 방법, 막막할 때 이렇게 해보면 덜 헤맵니다

처음엔 언어보다 작은 목표가 먼저입니다
얼마 전 지인이 프로그래밍을 배우고 싶다며 책을 세 권이나 샀는데, 막상 첫 장을 넘기고 나서 더 막막해졌다고 하더라고요. 사실 처음부터 파이썬이 좋다, 자바스크립트가 좋다, 자바가 안정적이다 같은 이야기를 들으면 선택지만 많아지고 손은 잘 안 움직입니다.
프로그래밍은 언어 이름을 외우는 공부라기보다, 컴퓨터에게 일을 시키는 순서를 만드는 연습에 가깝습니다. 그래서 시작할 때는 “앱을 만들겠다”처럼 큰 목표보다 “매일 쓰는 지출 합계를 자동으로 계산하겠다”처럼 작고 눈에 보이는 목표가 훨씬 좋습니다.
예를 들어 초보자라면 첫 2주 동안은 계산기, 할 일 목록, 간단한 메모 저장 같은 수준이면 충분합니다. 화면이 화려하지 않아도 괜찮습니다. 버튼을 누르면 숫자가 바뀌고, 입력한 글자가 저장되고, 조건에 따라 다른 문장이 출력되는 경험이 쌓이면 프로그래밍이 조금씩 현실적인 도구처럼 느껴집니다.
언어 선택은 목적에 맞추면 편합니다
프로그래밍을 처음 시작할 때 가장 많이 받는 질문이 “무슨 언어부터 해야 해요?”입니다. 제 주변 기준으로 보면 여기서 며칠씩 고민하다가 시작 자체가 늦어지는 경우가 꽤 많았습니다. 근데 언어는 평생 하나만 쓰는 게 아니라 필요에 따라 바뀝니다. 처음부터 완벽한 선택을 하려고 힘을 너무 쓰지 않아도 됩니다.
- 데이터 분석이나 자동화가 궁금하다면 파이썬이 편합니다.
- 웹사이트 화면을 만들고 싶다면 HTML, CSS, 자바스크립트 흐름이 자연스럽습니다.
- 앱 개발이 목표라면 자바스크립트 기반 프레임워크나 코틀린, 스위프트 쪽을 나중에 이어갈 수 있습니다.
- 컴퓨터 구조나 알고리즘을 깊게 파고 싶다면 C나 C++도 의미가 있습니다.
초보 단계에서는 파이썬이나 자바스크립트가 진입 장벽이 낮은 편입니다. 파이썬은 문법이 비교적 읽기 쉽고, 자바스크립트는 브라우저만 있어도 바로 결과를 확인하기 좋습니다. 둘 중 하나를 고르라면 “내가 만들고 싶은 결과물이 어디에서 움직이면 좋을까?”를 기준으로 잡으면 됩니다. 엑셀 파일을 다루고 싶으면 파이썬, 웹 화면에서 바로 보고 싶으면 자바스크립트가 더 가깝습니다.
공부 시간은 길게보다 자주가 낫습니다
프로그래밍은 몰아서 6시간 앉아 있는 것보다 하루 30분씩 자주 만지는 쪽이 오래 갑니다. 처음에는 개념이 머리에 남는 속도보다 까먹는 속도가 더 빠르게 느껴질 수 있습니다. 변수, 조건문, 반복문을 배웠는데 다음 날 다시 보면 낯설어 보이는 식이죠. 이건 재능 문제가 아니라 아주 흔한 과정입니다.
현실적인 루틴을 잡는다면 4주 정도를 작은 단위로 나누는 게 좋습니다. 1주 차에는 변수와 자료형, 2주 차에는 조건문과 반복문, 3주 차에는 함수, 4주 차에는 작은 프로그램 하나 만들기 정도면 충분합니다. 하루에 새 개념을 많이 넣기보다 예제를 직접 바꿔보는 시간이 더 중요합니다.
예제를 바꾸는 습관이 실력을 만듭니다
강의에서 “나이 입력받고 성인 여부 출력하기” 예제가 나왔다면 그대로 한 번 치고 끝내기보다 조건을 바꿔보는 게 좋습니다. 19세 이상, 65세 이상, 학생 여부, 쿠폰 적용 여부처럼 기준을 바꾸다 보면 조건문이 진짜 내 것이 됩니다. 반복문도 마찬가지입니다. 1부터 10까지 출력하는 예제를 1부터 100까지, 짝수만, 3의 배수만 출력하도록 고쳐보면 손에 남는 느낌이 다릅니다.
솔직히 초보 단계에서 강의를 완강했는지보다 더 중요한 건 “내가 코드를 조금이라도 바꿔봤는지”입니다. 완성된 코드를 눈으로만 보면 이해한 것 같지만, 직접 바꾸는 순간 에러가 나고 그때부터 진짜 학습이 시작됩니다.
에러 메시지를 피하지 않으면 속도가 붙습니다
프로그래밍을 배우다 보면 빨간 글씨를 자주 봅니다. 처음엔 괜히 내가 뭘 크게 잘못한 것 같고, 화면에 영어가 길게 나오면 바로 닫고 싶어집니다. 그런데 에러 메시지는 혼내는 문장이 아니라 어디가 막혔는지 알려주는 안내문에 가깝습니다.
초보자가 자주 만나는 문제는 대체로 비슷합니다. 괄호를 하나 빼먹었거나, 따옴표를 닫지 않았거나, 변수 이름을 다르게 썼거나, 들여쓰기가 맞지 않는 경우가 많습니다. 파이썬에서는 들여쓰기 하나로 실행이 멈추기도 하고, 자바스크립트에서는 대소문자가 달라서 값이 없다고 나올 때도 있습니다.
- 에러가 난 줄 번호를 먼저 확인합니다.
- 바로 그 줄만 보지 말고 위아래 3줄도 같이 봅니다.
- 최근에 고친 부분을 되돌아보며 원인을 좁힙니다.
- 에러 문장을 전부 외우려 하지 말고 반복해서 나오는 표현만 익힙니다.
이 방식으로 접근하면 에러가 조금 덜 무섭습니다. 특히 같은 실수를 세 번쯤 겪고 나면 다음에는 훨씬 빨리 알아차립니다. 프로그래밍 실력은 멋진 코드를 한 번에 쓰는 능력보다, 안 되는 코드를 차분히 고치는 능력에서 많이 갈립니다.
작은 결과물을 남기면 계속 이어가기 쉽습니다
공부한 내용을 파일로 남기는 것도 꽤 중요합니다. “언젠가 큰 프로젝트를 만들면 올려야지”라고 생각하면 계속 미뤄집니다. 차라리 아주 작은 코드라도 날짜별로 저장하는 편이 낫습니다. 예를 들어 8월 첫째 주에는 계산기, 둘째 주에는 랜덤 메뉴 추천기, 셋째 주에는 간단한 가계부처럼 결과물이 쌓이면 내가 어디까지 왔는지 보입니다.
처음 만든 프로그램은 당연히 어설픕니다. 이름도 제각각이고, 코드도 길고, 중복도 많을 수 있습니다. 하지만 한 달 뒤에 다시 보면 “아, 이 부분은 함수로 빼면 되겠네” 하는 생각이 듭니다. 그 순간이 꽤 중요합니다. 예전 코드가 어색해 보인다는 건 보는 눈이 생겼다는 뜻이니까요.
프로그래밍은 시작 전에는 거창한 기술처럼 보이지만, 막상 해보면 작은 자동화와 반복 개선의 연속입니다. 하루에 30분이라도 직접 입력하고, 에러를 읽고, 작은 결과물을 남기면 어느 순간 컴퓨터가 내 일을 조금씩 대신하게 됩니다. 처음부터 잘하려고 힘주기보다 생활 속 불편한 일을 하나 골라 코드로 줄여보는 쪽이 훨씬 오래 갑니다.