
비전공자로 개발자 취업을 준비할 때 저는 정보가 부족해서가 아니라 정보가 너무 많아서 더 막막했습니다. 처음에는 Python 강의를 결제하고, 곧 JavaScript와 Java까지 동시에 건드렸지만 어느 하나도 제대로 쌓이지 않았습니다. 직접 채용 공고를 읽어보니 문제는 노력 부족이 아니라 방향 설정의 부재였습니다. 프런트엔드와 백엔드처럼 직무가 달라지면 필요한 언어, 프로젝트, 포트폴리오 기준도 완전히 달라집니다. 저는 이 경험을 통해 개발자 준비는 인기 강의 선택이 아니라 목표 직무를 정하고, 기초를 이해하며, 작은 프로젝트를 만들고 기록하는 흐름으로 가야 한다고 생각하게 됐습니다. 막연한 공부보다 직무 기준을 먼저 세우는 것이 시행착오를 줄이는 현실적인 시작입니다.
비전공자 개발자 취업 준비 시 방향설정 없이 공부부터 시작하면 생기는 일
비전공자로 개발자 취업을 준비할 때 저는 방향을 정하지 않은 채 공부부터 시작했습니다. Python이 좋다는 말에 강의를 듣고, 곧 JavaScript와 Java까지 함께 건드렸지만 시간이 지날수록 무엇을 쌓고 있는지 알기 어려웠습니다. 결국 문제는 노력 부족이 아니라 직무 설정 없이 기술부터 고른 순서에 있었습니다. 프런트엔드와 백엔드는 필요한 언어, 프로젝트, 포트폴리오 기준이 다릅니다. 저는 채용 공고를 읽고 나서야 목표 직무를 먼저 정해야 공부가 실력으로 쌓인다는 것을 깨달았습니다. 이 글에서는 그 시행착오를 바탕으로 비전공자가 방향 없이 공부할 때 생기는 문제와 현실적인 시작 기준을 제 경험과 생각을 더해 정리해 보겠습니다. 막연한 강의 수강보다 먼저 볼 것은 직무입니다. 결국 세 가지를 동시에 건드리다가 셋 다 어중간하게 됐습니다. 직접 겪어보니, 언어를 먼저 고르는 것보다 직무를 먼저 정하는 게 훨씬 중요했습니다. 직무란 개발자 안에서도 내가 어떤 역할을 맡을 것인지를 의미합니다. 크게는 프런트엔드(Front-end)와 백엔드(Back-end)로 나뉘는데, 프런트엔드는 사용자가 직접 보는 화면을 만드는 역할이고, 백엔드는 서버와 데이터베이스를 다루며 서비스 내부 구조를 설계하는 역할입니다. 저는 채용 공고를 직접 검색해보고 난 후 방향이 잡혔습니다. 원티드와 사람인에서 신입 개발자 공고를 10개 이상 열어보니, 프런트엔드 공고에는 HTML, CSS, JavaScript, React가 반복적으로 등장했고, 백엔드 공고에는 Java, Spring, SQL, REST API라는 단어가 자주 보였습니다. 여기서 REST API란 서버와 클라이언트가 데이터를 주고받는 방식의 규칙을 말하는데, 백엔드 개발자라면 반드시 이해해야 하는 개념입니다. 채용 공고를 보고 난 후 아, 이걸 기준으로 준비해야겠다는 감이 처음으로 왔습니다.
기초학습, 속도보다 이해도가 먼저입니다
방향이 정해지면 그다음은 기초 개념과 언어 학습입니다. 그런데 이 단계에서도 흔히 하는 실수가 있습니다. 문법을 빠르게 외우는 데만 집중하는 겁니다. 제 경험상 이건 좀 다릅니다. 문법보다 웹이 어떻게 동작하는지 구조를 먼저 이해했을 때 이후 공부가 훨씬 수월했습니다. 예를 들어 웹 개발을 배울 때 클라이언트 서버 구조(Client-Server Architecture)를 먼저 이해하는 것이 중요합니다. 클라이언트 서버 구조란 사용자의 브라우저(클라이언트)가 서버에 요청을 보내고, 서버가 데이터를 응답으로 돌려주는 방식으로 웹이 동작하는 기본 원리를 말합니다. 이걸 모르고 HTML만 치다 보면 내가 지금 뭘 만드는지 감이 없어집니다.
기초 단계에서 챙겨야 할 핵심 개념을 정리하면 다음과 같습니다.
- 변수, 조건문, 반복문, 함수 등 프로그래밍의 기본 구조
- 웹이 동작하는 방식과 클라이언트-서버 구조의 개념
- 자료구조(Data Structure) : 데이터를 효율적으로 저장하고 다루는 방법으로, 배열·리스트·딕셔너리 같은 형태가 대표적입니다
- 데이터베이스(DB) 기초와 SQL 쿼리 작성법 (백엔드 지망이라면 필수)
솔직히 이 단계는 눈에 보이는 결과물이 없어서 지루하게 느껴지기 쉽습니다. 저도 몇 번 포기하고 싶었습니다. 그런데 기본기를 탄탄하게 다져둔 사람과 그렇지 않은 사람의 차이는 프로젝트 단계에서 명확하게 드러납니다. 오류가 생겼을 때 원인을 추적하는 능력 자체가 달라집니다.
프로젝트 경험이 비전공자의 경쟁력을 만든다
이론 공부를 어느 정도 했다 싶으면 프로젝트를 시작해야 합니다. 그런데 많은 분들 중 아직 실력이 부족한데라며 미루는 경우가 많습니다. 제가 직접 써봤는데, 실력이 충분해진 다음에 프로젝트를 시작하려고 기다리다 보면 그 타이밍은 영원히 오지 않습니다. 처음에는 작은 것부터 만들면 됩니다. 프런트엔드라면 자기소개 페이지나 할 일 관리 앱처럼 단순한 것도 충분합니다. 백엔드라면 회원가입, 로그인, 게시판 기능이 포함된 기본 CRUD 애플리케이션부터 시작하는 게 좋습니다. 여기서 CRUD란 Create(생성), Read(조회), Update(수정), Delete(삭제)의 앞 글자를 딴 것으로, 데이터를 다루는 가장 기본적인 네 가지 기능을 말합니다. 직접 겪어보니, 프로젝트에서 실력이 늘어나는 구간은 기능을 구현할 때가 아니라 오류를 해결할 때였습니다. 에러 메시지를 구글에 검색하고, 스택 오버플로(Stack Overflow)에서 비슷한 사례를 찾고, 직접 코드를 수정해 보는 그 과정에서 이해도가 확실히 달라졌습니다. 국내 개발자 커뮤니티인 생활코딩이나 OKKY에서도 비슷한 사례를 많이 볼 수 있어서 참고가 됐습니다. 또 한 가지 중요한 건, 프로젝트를 진행하면서 깃허브(GitHub)에 코드를 올려두는 습관입니다. 깃허브란 코드를 버전별로 관리하고 외부에 공개할 수 있는 플랫폼으로, 취업 시 포트폴리오의 핵심 창구가 됩니다. 면접관들이 깃허브 링크를 먼저 확인하는 경우가 많기 때문에, 프로젝트마다 커밋(commit) 기록을 쌓아두는 것이 실력 증명에도 도움이 됩니다.
포트폴리오는 꾸미는 게 아니라 정리하는 겁니다
포트폴리오를 마지막에 한꺼번에 만들려고 했다가 낭패를 본 적이 있습니다. 프로젝트를 진행하면서 어떤 문제를 겪었는지, 왜 이 기술을 선택했는지 기억이 흐릿해지거든요. 그때부터 프로젝트를 할 때마다 노션에 간단히라도 기록해 두는 방식을 썼더니 나중에 정리가 훨씬 쉬웠습니다. 포트폴리오에서 중요한 건 디자인이 아닙니다. 내가 어떤 직무를 준비하는지, 어떤 기술 스택(Tech Stack)을 사용했는지, 그 과정에서 어떤 문제를 어떻게 해결했는지가 명확하게 보여야 합니다. 기술 스택이란 프로젝트를 구현하는 데 사용된 언어, 프레임워크, 라이브러리, 데이터베이스 등 기술의 조합을 의미합니다. 면접관 입장에서는 이 사람이 실제로 무언가를 만들어봤는가 를 가장 먼저 확인하기 때문에, 결과물보다 과정 서술이 더 설득력 있는 경우가 많습니다. 채용 공고 분석도 이 단계에서 꼭 병행해야 합니다. 고용노동부가 발표한 자료에 따르면, IT 직종 구인 수요는 꾸준히 증가 추세에 있으며 특히 소프트웨어 개발 직종의 채용 규모가 지속적으로 확대되고 있습니다. 시장 수요가 있다는 건 좋은 소식이지만, 그렇다고 아무 기술이나 배워서 통하는 건 아닙니다. 실제 공고에서 반복적으로 요구하는 기술을 파악하고, 그 기준에 맞게 포트폴리오를 다듬는 작업이 필요합니다.(출처: 고용노동부). 일반적으로 로드맵대로만 따라가면 된다는 식으로 말하는 경우도 많은데, 저는 그 말을 그대로 믿지 않습니다. 이해 속도도 다르고, 흥미를 느끼는 분야도 다르기 때문에, 같은 방법이 모두에게 맞을 수는 없습니다.
한국직업능력연구원의 조사에서도 비전공자 직업 전환 성공 요인 중 하나로 자기 속도에 맞는 학습 전략 수립이 언급된 바 있습니다. 결국 로드맵은 참고하되, 자신의 상황에 맞게 조정하는 것이 더 현실적인 접근입니다.(출처: 한국직업능력연구원). 지금 돌아보면, 비전공자에게 필요한 건 완벽한 준비가 아니었습니다. 방향을 정하고, 기초를 다지고, 작은 것부터 만들어보고, 그것을 정리하는 흐름을 꾸준히 이어가는 것. 그게 전부였습니다. 막막하게 느껴질 때일수록 지금 당장 할 수 있는 한 가지만 생각하면 됩니다. 채용 공고 하나를 열어보는 것도 충분한 시작입니다.