내가 느낀 비전공자 신입의 문제점

개발 인력이 없다는 명목 아래 수많은 학원이 생겨나고 있고 난 그런 학원의 광고를 볼 때마다 기분이 좋진 않다. 광고들을 보면 누구나 개발자로 전향할 수 있다는 식의 홍보문구들이 있는데 이 부분이 굉장히 불편하다. 세상의 어느 전문직종이 겨우 3개월에서 6개월을 집중훈련을 받아 전문가로 일을 할 수 있다니 정말 의심스럽다. 물론 나도 국비 지원이라는 것을 통해서 개발자로 처음 입문하였지만 여기서 학원에서 교육받는 내용만으로는 채워지지 않는 부분에 대해서 얘기하고자 한다.


기본 지식의 부재로 인한 어려움

학원을 막상 수료하면 과연 개발자로 일할 수 있을까? 라는 고민을 하게 된다. 하지만 취업을 한다고 그 고민이 해소되거나 줄어들지는 않는다. 오히려 좀 더 확장되어 나를 괴롭히는 족쇄로 작용한다. 그 이유에는 학원에서 배운 내용만으로는 업무를 진행하기 어렵다. 만약 나처럼 벤처나 스타트업으로 취업한다면 더 괴로워질 수 있다. 난 학원 수업내용조차 다 소화를 못 했고, 기본지식인 스택과 큐도 모르는 상태에서 친구의 빽으로 회사에 취업했다. 이런 상황이다 보니 회사는 나에게 시킬 수 있는 업무가 자체가 없었다. 업무를 설명할 시간에 작업을 하는 것이 더 빠를지도 모르는 것들이 많았다. 그러다보니 자연스럽게 나의 첫 업무들은 업무지원, 서버 OS 설치, 정부 과제 문서정리 같은 개발과 관련된 지원 업무였다. 그 당시 회사에서 제일 힘든게 회의 내용을 이해하는 것이었고, 나는 학원에서 배운 것이라도 이해하기위해서 노력했고 이를 바탕으로 하나하나 채워나갔다. 이렇게 나는 업무를 시작했고 다행히 회사는 나를 가르쳐 써먹기 위해 많은 시도를 했고 다행히 개발 업무까지 할 수 있었다.

개발을 시작했다고 하더라도 문제가 해결되지는 않는다. 기술 지식의 부재는 내 주장을 펼쳐나가는 것에도 많은 영향을 끼친다. 일하면서 “웹 클라이언트에서 js파일을 보지 못하게 바꿨으면 좋겠다.”라는 말을 들었다. 이 문제를 해결할 수 없다는 것을 알고 있었으나 기술적으로 설명할 수 없어 멍때리고 있었던 기억이 있다. 이런 사소한 문제들이 쌓여 나를 괴롭혔다.


학습한 기술 스택이 너무 힙하거나 너무 오래된 문제

학원에서 배우는 것들이 반드시 회사에서 사용하는 기술은 아니다. 같은 기술 스택이더라도 메인 버전이 다르다면 개발 방법은 많이 달라진다. 하지만 학원에서 배우는 기술 스택의 기준은 철저하게 강사에게 의존할 수 밖에 없다. 문제는 기술스택이 너무 힙하거나 너무 오래되었다는 것에 문제가 온다. 이 문제는 회사에 들어가서 개발을 진행하다 보면 문제가 된다. 나와 같은 학원 수료생이라면 학원 강사님의 프로젝트 구조가 전부인 상태이다. 나는 학원에서 Java, Spring을 학습해서 취업했는데 하필 그 타이밍에 Spring이 maven/gradle로만 배포를 하게 되었고 학원에서 package manager를 배우지 못했던 나는 다운을 받을 수 없다는 헛소리를 회사에 했던 기억이 있다.

그나마 나처럼 같은 기술 스택인 회사에 취업하면 그나마 다행이지만 다른 기술 스택으로 개발을 해야되는 회사라면 문제는 더 깊어진다. 새로운 프레임워크를 학습하는 수준이 아닌 새로운 언어까지 학습해야 되는 수준이라면 생각만해도 아찔하다. 실재로 같이 스터디를 했던 아는 형님은 자바 교육과정을 거쳐 php/laravel을 사용하는 회사로 취업을 해 새로 공부하면서 개발자 커리어를 시작한 케이스도 있다. 나였다면 아마 불가능했을거라 생각하고 있기 때문에 그 형님이 대단하다고 생각한다. 그 당시 혼자 학습하는 습관이 생기지 않아 사용하던 언어를 제외한 다른 언어를 습득하는 것 자체가 불가능한 상태였기 때문이다. 다양한 경험의 부재로 오는 상태인 이 문제는 공부밖에 답이 없다.


개발 말고도 공부할 것이 많은 회사생활

대부분 회사는 서비스업을 주업으로 하는 회사이다. 그럼 개발지식을 제외한 서비스 만의 지식을 배워야 업무를 이해할 수 있다. 이를 도메인 지식이라고 하는데 이것들은 회사에서 개발하는 소스에 많은 부분이 녹아들어 있다. 결론은 업무를 모르면 개발을 할 수 없다는 소리가 된다. 나는 신입으로 회사에 들어가는 분께 이런 조언을 한다. 회사에서 사람들이 주로 말하는 용어 및 회사의 업종과 관련된 지식을 먼저 학습하라고 한다. 이는 개발지식보다 선행되어야 된다. 왜냐하면 도메인 지식을 모르면 회사에서 하는 모든 회의 및 대화를 이해하기 어렵기 때문이다. 이렇게 되면 내가 무슨 개발을 해야 되는지 멘붕에 빠지는 사태를 유발하기 때문에 이 부분에 대한 학습은 선택이 아닌 필수가 된다.


나는 위의 문제를 하나하나 접해가면서 개발자로 커리어 전환을 하였다. 하지만 개발자는 학원의 자극적인 광고만 보고 접근하기엔 위험이 많이 따른다. 그럴 수 밖에 없는게 평생 공부하고 개선하는 과정들을 개발자를 그만두는 그 순간까지 반복해야만하기 때문이다. 나는 첫 회사를 다니면서 2년 동안 개인적인 시간이 거의 없었다. 집에 11시에 들어가면 어머니께서 오늘은 일찍 들어왔다고 말씀하실 정도였다. 일을 위해서 많은 것들을 포기했고 이런 과정들을 지나온 나로서는 학원의 자극적인 광고가 정말 와닿지 않는다. 하루가 멀다하고 학원에서 쏟아져나오는 사람들은 대체로 3년을 버티기가 쉽지않다. 위에서 내가 언급한 문제뿐만 아니라 업무강도도 타 직업군에 비해서 더하면 더했지 덜하지 않기 때문이다. 이는 미디어에서 노출되는 것처럼 행복한 것들만 존재하지 않는다는 것이다. 물론 좋은 점도 많이 있지만 개발을 하는 행위 자체가 취미가 될 수 있는 사람에게나 가능한 장점이 더 많다.

만약 개발자로 커리어를 전환하고자 하는 사람들이 있다면 왜 개발자여야만 되는지에 대한 이유와 왜 개발자가 되고 싶은 이유를 꼭 생각하고 선택을 했으면 좋겠다. 자신이 지금까지 쌓아 올린 것은 충분한 이유가 있고 나름에 결과이다. 나도 동생을 개발자로 만들려고 시도했었지만, 동생은 자신과 맞지 않는다는 것을 공부하면서 느꼈고 미련 없이 자신의 일상으로 돌아갔다. 이처럼 개발자는 직업의 한 종류일 뿐이지 모든 것을 해결하는 만능은 아니기 때문이다.