
취업 준비를 시작하면서 처음 든 생각은 일단 프로젝트를 많이 만들어야 한다는 것이었습니다. 저도 그랬습니다. 게시판, 쇼핑몰, 날씨 앱. 결과물부터 쌓으면 뭔가 채워지는 기분이 들었거든요. 그런데 막상 공부를 이어가다 보니, 프로젝트 개수가 아니라 기본기가 취업 준비 전체를 받쳐주는 진짜 토대라는 걸 깨달았습니다.
신입 개발자 취업, 프로젝트만 쌓다 보면 결국 막히는 순간이 온다
신입 개발자 취업 준비에서 프로젝트가 중요하다는 말은 맞습니다. 그런데 프로젝트보다 프로젝트를 설명할 수 있는 힘이 더 중요하다는 말은 잘 안 들립니다. 제가 직접 겪어봤는데, 강의를 따라 게시판을 만들고 나서 이 로그인 기능이 어떻게 작동하나요?라는 질문을 스스로에게 던졌을 때 제대로 답을 못 했습니다. HTTP 요청과 응답 구조를 몰랐기 때문입니다. HTTP란 클라이언트와 서버가 데이터를 주고받을 때 사용하는 통신 규약입니다. 쉽게 말해 브라우저가 서버에게 이 데이터 줘라고 요청하고, 서버가 여기 있어라고 응답하는 약속된 방식입니다. 이 구조를 모르면 로그인 기능을 만들었다고 해도 면접에서 흐름을 설명하기가 어렵습니다. API를 썼습니다 라는 한 마디로 끝나버리는 거죠. 여기서 API(Application Programming Interface)란 클라이언트와 서버가 데이터를 주고받기 위해 미리 정해놓은 통로이자 규칙입니다. 프런트엔드에서 버튼을 누르면 이 API를 통해 서버로 요청이 전달되고, 서버가 결과를 돌려보내는 구조입니다. 프로젝트를 많이 하는 것이 중요하다고 보는 분들도 있는데, 저는 기본 구조를 이해하지 못한 상태에서 결과물만 늘리는 건 오히려 면접에서 약점이 드러날 수 있다고 생각합니다. 실제로 저는 기본 개념을 다시 정리하고 나서야 스스로 코드를 읽는 속도가 눈에 띄게 달라졌습니다.
기본기가 탄탄해야 프로젝트가 경험이 된다
그렇다면 신입 개발자가 먼저 다져야 할 기본기는 무엇일까요. 제 경험상 아래 항목들이 취업 준비의 실질적인 기반이 됩니다.
- 프로그래밍 언어의 변수, 조건문, 반복문, 함수 개념
- 클라이언트-서버 구조와 HTTP 요청/응답 흐름
- API를 통한 데이터 송수신 구조
- 데이터베이스의 CRUD 기본 개념 (SELECT, INSERT, UPDATE, DELETE)
- Git과 GitHub를 활용한 버전 관리
- 오류 메시지를 읽고 원인을 추적하는 디버깅 습관
여기서 CRUD란 데이터를 생성(Create), 조회(Read), 수정(Update), 삭제(Delete)하는 네 가지 기본 작업을 묶어 부르는 말입니다. 어떤 서비스든 회원 정보, 게시글, 댓글 같은 데이터를 다루는 방식은 이 네 가지를 벗어나지 않습니다. 또 Git이란 코드의 변경 이력을 관리하는 분산 버전 관리 시스템입니다. 쉽게 말해 언제, 무엇을, 왜 바꿨는지를 기록해 두는 도구입니다. GitHub는 그 기록을 온라인에 저장하고 다른 사람과 공유할 수 있게 해주는 플랫폼입니다. 신입 개발자는 협업 경험이 적기 때문에, GitHub를 통해 학습 과정과 문제 해결 태도를 보여주는 것이 포트폴리오의 설득력을 높여줍니다. 소프트웨어 개발 분야의 역량 기준을 연구해 온 자료들을 보면, 기술적 역량보다 문제를 구조적으로 파악하고 해결하는 능력이 실무 적응력과 더 강하게 연결된다는 분석이 반복됩니다(출처: 한국직업능력연구원(https://www.krivet.re.kr/). 프로젝트 결과물이 아니라 그 과정에서 무엇을 이해했는지를 본다는 뜻입니다. 솔직히 이건 예상 밖이었습니다. 처음엔 기술 스택을 많이 아는 게 경쟁력이라고 생각했거든요. 그런데 실제로 기본기를 다지고 나서야 오히려 기술 스택을 빠르게 익히는 속도가 붙었습니다. 기반이 있으니 새로운 개념을 연결하기가 쉬워진 겁니다.
작은 프로젝트라도 설명할 수 있어야 진짜 포트폴리오다
포트폴리오를 어떻게 구성해야 하는지를 두고 의견이 갈립니다. 큰 프로젝트 하나가 낫다는 분들도 있고, 작더라도 여러 개가 낫다는 분들도 있습니다. 저는 개수보다 깊이라는 쪽에 더 동의합니다. 제가 GitHub에 코드를 정리하면서 가장 크게 느낀 건, README를 쓰는 과정이 사실상 내가 이 프로젝트를 얼마나 이해하고 있는지를 확인하는 시간이라는 점이었습니다. 여기서 README란 프로젝트의 목적, 사용 기술, 실행 방법, 해결한 문제 등을 정리한 설명 문서입니다. GitHub 저장소에 들어갔을 때 가장 먼저 보이는 페이지로, 면접관이 코드를 보기 전에 먼저 확인하는 부분입니다. 막상 README를 쓰려고 하면 이 기능이 왜 이렇게 작동하는지를 제대로 설명하기 어려운 순간이 있습니다. 그 어려움 자체가 아직 기본기가 더 필요하다는 신호였습니다. 국내 IT 기업의 채용 방식을 분석한 자료에 따르면, 코딩 테스트와 기술 면접에서 알고리즘과 자료구조 기초 역량을 공통적으로 검증하는 비중이 높다고 나타나 있습니다(출처: 고용노동부 워크넷(https://www.moel.go.kr/). 이는 기업이 신입에게 완성된 결과물보다 성장 가능성을 확인하려 한다는 점과도 맞닿아 있습니다. 오류가 생겼을 때 원인을 찾고 해결한 경험, 그 과정을 글로 정리하는 습관이 단순한 결과물보다 훨씬 큰 무게를 가집니다. 제 경험상 이건 좀 다릅니다. 오류 로그를 처음 읽을 때는 낯설고 당황스럽지만, 해결하고 나서 그 흐름을 기록해 두면 그게 쌓여서 실제 실력이 됩니다. 프로젝트를 많이 만드는 것보다, 작은 프로젝트라도 직접 이해하고 설명할 수 있는지가 더 중요하다고 봅니다. 기본기가 있어야 프로젝트도 진짜 경험이 된다는 걸 저는 직접 체감하고 있습니다.
결국 신입 개발자 취업 준비는 결과물 경쟁이 아닙니다. 내가 만든 기능이 어떻게 작동하는지 설명할 수 있는가, 오류를 만났을 때 방향을 잡을 수 있는가, 이 두 가지가 면접장에서 진짜 차이를 만들어냅니다. 기본기부터 탄탄하게 쌓는 것, 그게 가장 확실한 취업 준비의 첫걸음입니다.