초보 개발자가 성장하려면 이렇게 시작하면 됩니다

얼마 전 카페에서 노트북을 펴고 코딩 강의를 듣는 분을 봤는데, 화면 한쪽에는 영상이 켜져 있고 다른 쪽에는 오류 메시지가 잔뜩 떠 있더라고요. 괜히 반가웠습니다. 개발자 공부를 시작하면 누구나 비슷한 장면을 지나가거든요. 처음에는 코드보다 에러가 더 많이 보이고, 내가 제대로 가고 있는지 헷갈리는 시간이 꽤 깁니다.
그런데 개발자는 특별한 사람만 되는 직업이라기보다, 작은 문제를 꾸준히 풀어내는 습관을 가진 사람에게 잘 맞는 일에 가깝습니다. 하루에 10시간씩 몰아치는 것보다, 1시간이라도 직접 만들고 고치는 시간이 쌓일 때 실력이 훨씬 안정적으로 올라갑니다. 특히 초보 단계에서는 방향을 잘못 잡으면 몇 달을 공부해도 손에 남는 게 적을 수 있어서, 시작 순서가 생각보다 중요합니다.
개발자 공부는 언어보다 목표를 먼저 잡는 게 편합니다
처음 시작할 때 가장 많이 듣는 질문이 있습니다. 파이썬부터 해야 할지, 자바스크립트부터 해야 할지, 자바가 취업에 좋은지 같은 고민입니다. 물론 언어 선택도 중요합니다. 다만 처음부터 언어만 붙잡고 있으면 금방 지칩니다. 문법은 외웠는데 뭘 만들 수 있는지 감이 안 오기 때문입니다.
먼저 내가 어떤 개발자가 되고 싶은지 아주 거칠게라도 잡아두면 공부가 쉬워집니다. 웹사이트를 만들고 싶다면 HTML, CSS, 자바스크립트가 자연스러운 출발점입니다. 데이터 분석이나 자동화에 관심이 있다면 파이썬이 편합니다. 앱 개발을 해보고 싶다면 모바일 환경에 맞는 언어와 프레임워크를 선택하면 됩니다.
- 웹 개발: 화면, 버튼, 로그인, 게시판 같은 서비스를 만들고 싶은 사람에게 적합
- 백엔드 개발: 데이터 저장, 서버, API, 회원 기능에 관심 있는 사람에게 적합
- 데이터 분야: 엑셀보다 큰 데이터를 다루거나 분석 결과를 만들고 싶은 사람에게 적합
- 앱 개발: 스마트폰에서 직접 실행되는 서비스를 만들고 싶은 사람에게 적합
처음부터 완벽하게 고를 필요는 없습니다. 2~3개월 해보면 내 성향이 조금 보입니다. 화면이 바로 바뀌는 게 재미있는 사람도 있고, 보이지 않는 서버 로직을 짜는 게 더 편한 사람도 있습니다. 중요한 건 막연히 “개발자 될래”에서 멈추지 않고, 내가 만들고 싶은 결과물을 하나 정하는 것입니다.
강의만 듣는 시간은 줄이고 직접 치는 시간을 늘려야 합니다
개발 공부에서 가장 흔한 함정은 강의를 많이 들었는데 실력이 늘지 않는 느낌입니다. 사실 자연스러운 일입니다. 요리 영상을 100개 봐도 칼질이 바로 늘지 않는 것처럼, 코딩도 손으로 직접 쳐보고 망가뜨려봐야 익숙해집니다.
예를 들어 자바스크립트 기초 강의를 듣는다면, 영상 속 예제를 그대로 따라 치는 데서 끝내지 않는 게 좋습니다. 버튼 색을 바꾸고, 문구를 바꾸고, 클릭 횟수를 세게 만들고, 일부러 코드를 지워서 어떤 오류가 나는지도 봐야 합니다. 처음에는 사소해 보여도 이런 변화가 진짜 이해를 만듭니다.
하루 공부 시간이 2시간이라면 강의 시청은 40분 정도로 줄이고, 나머지는 직접 작성하는 식이 현실적입니다. 7일 동안 문법만 보는 것보다, 3일은 문법을 보고 4일은 작은 기능을 만드는 쪽이 훨씬 오래 기억에 남습니다. 개발자는 아는 사람보다 고칠 줄 아는 사람이 현장에서 더 빨리 적응합니다.
포트폴리오는 거창한 서비스보다 완성된 작은 결과물이 좋습니다
초보 개발자 포트폴리오를 보면 너무 큰 프로젝트를 잡았다가 중간에 멈춘 경우가 많습니다. 쇼핑몰, 커뮤니티, 예약 시스템처럼 기능이 많은 서비스를 처음부터 만들려고 하면 로그인, 데이터베이스, 디자인, 배포에서 계속 막힙니다. 그러다 보니 파일은 많은데 설명하기 어려운 프로젝트가 되기 쉽습니다.
처음에는 작아도 끝까지 완성하는 편이 낫습니다. 할 일 목록, 개인 가계부, 영화 검색 화면, 날씨 기록장, 독서 메모장 같은 프로젝트도 충분히 좋습니다. 대신 기능이 실제로 돌아가야 합니다. 입력하고, 저장하고, 수정하고, 삭제하는 흐름이 있으면 면접에서도 설명할 이야기가 생깁니다.
- 기능 3~5개 정도로 범위를 작게 잡기
- 왜 이 프로젝트를 만들었는지 한 문단으로 설명하기
- 막혔던 오류와 해결 과정을 기록하기
- 처음 버전과 개선한 버전을 비교할 수 있게 남기기
솔직히 회사 입장에서는 초보자가 엄청난 서비스를 만들었다고 기대하지 않습니다. 오히려 작은 프로젝트라도 구조를 이해하고, 왜 그렇게 만들었는지 말할 수 있는지를 봅니다. “강의를 따라 했습니다”보다 “저는 이 부분이 불편해서 이렇게 바꿨습니다”가 훨씬 좋은 인상을 줍니다.
개발자에게 검색과 기록은 실력의 일부입니다
개발자는 모든 문법을 외우는 직업이 아닙니다. 현업 개발자도 하루에 여러 번 검색하고 공식 문서를 확인합니다. 처음에는 검색하는 자신을 보고 실력이 부족하다고 느낄 수 있는데, 사실 검색을 잘하는 것도 중요한 능력입니다.
오류 메시지가 나오면 전체를 복사하기 전에 먼저 읽어보는 습관이 필요합니다. 어떤 파일의 몇 번째 줄에서 문제가 생겼는지, 변수 이름이 틀렸는지, 설치가 빠졌는지 정도는 메시지 안에 들어 있는 경우가 많습니다. 영어가 부담스럽다면 핵심 단어만 봐도 됩니다. undefined, null, syntax, permission 같은 단어는 자주 나오니 익숙해지면 속도가 빨라집니다.
기록도 꼭 필요합니다. 블로그나 노션, 메모 앱 어디든 괜찮습니다. 오늘 해결한 오류, 새로 배운 명령어, 이해 안 됐던 개념을 짧게 남겨두면 한 달 뒤에 큰 차이가 납니다. 특히 같은 오류를 두 번째 만났을 때 예전 기록을 보고 5분 만에 해결하면, 그때 공부가 쌓이고 있다는 느낌이 확 옵니다.
취업 준비는 기술과 설명 연습을 같이 해야 합니다
개발자 취업을 준비할 때 기술 스택만 늘리는 분들이 많습니다. 리액트, 스프링, 도커, 클라우드처럼 이름이 멋진 도구를 많이 적고 싶어집니다. 그런데 이력서에 적은 기술을 실제로 설명하지 못하면 오히려 부담이 됩니다. 하나를 적더라도 직접 써본 경험과 이유가 있어야 합니다.
면접에서는 생각보다 기본 질문이 자주 나옵니다. API가 무엇인지, 프론트엔드와 백엔드는 어떻게 데이터를 주고받는지, 데이터베이스에서 왜 중복을 줄여야 하는지 같은 내용입니다. 이런 질문은 어려운 이론을 외우라는 뜻이 아니라, 내가 만든 프로젝트를 제대로 이해했는지 확인하는 과정에 가깝습니다.
준비할 때는 프로젝트 하나를 기준으로 설명 연습을 해두면 좋습니다. 어떤 문제를 풀려고 했는지, 어떤 기술을 썼는지, 가장 오래 걸린 부분은 무엇이었는지, 다시 만든다면 무엇을 바꿀지 말할 수 있어야 합니다. 이 네 가지를 자연스럽게 설명할 수 있으면 초보 개발자라도 훨씬 탄탄해 보입니다.
개발자 공부는 빠르게 결과가 보이는 날도 있고, 하루 종일 오류 하나만 붙잡는 날도 있습니다. 근데 그런 날이 쌓여야 진짜 내 실력이 됩니다. 처음부터 대단한 개발자가 되려고 하기보다, 작은 기능을 만들고 고치고 설명하는 경험을 꾸준히 늘리는 쪽이 오래 갑니다. 결국 현장에서 필요한 사람은 완벽한 사람이 아니라, 문제를 만나도 포기하지 않고 다음 단계를 찾아가는 사람에 가깝다고 생각합니다.
