[펌] 비전공자분들께 말씀드리는 제 경험과 조언



최근 OKKY 에서 비전공자분들을 위한 좋은 글이 나와

내 블로그로 퍼왔다.

OKKY에서 많은 좋아요를 받아 Weekly Best에 올라갔다.


비전공으로 개발입문을 하고자 한다면 꼭 읽어보자


원글 주소 : (https://okky.kr/article/680617)


=======================================


Okky라는 국내 최대의 개발자 커뮤니티를 꽤 오랜기간

눈팅하면서 때로는 자신감도 얻었고,

때로는 자괴감도 얻었습니다.


'와 저렇게까지 공부하고 노력하는 사람도 있구나... 대체 난 뭐하는 놈이지?'


사실 자신감보다는 자괴감을 더 많이 얻었습니다.

(그 자괴감이 채찍이 돼서 겨우 여기까지 오게 된 것 같습니다.)


그렇습니다. 저는 그렇고 그런, 비전공 학원출신 개발자입니다.

정말 힘들었습니다. 두 번의 우울증 치료를 받았고,

제가 처한 환경과 맞물려 한 때 극단적인 생각을 하기도 했었어요.


그래서 저 같은 비전공 학원출신 개발자가 여기까지 오게 된 사연과, 

제가 온 길을 힘들게 걷고계신 분들께 현실을 좀 이야기해보려고 합니다.


이 글은 신세한탄이면서 조언이기도 하고,

제 과거이기도 하면서 여러분 앞에 펼쳐질 미래이기도 합니다.

비전공자이시거나 혹은 학원 등록을 준비하시는 분들이 이 글을 읽고 

공감, 혹은 무언가 하나 깨닫고 가신다면 더 할 나위 없이 좋겠습니다.

그리고 개발자의 길을 걷고자 하시는 모든 비전공자 분들을 응원합니다.



1. 개발을 시작해보고 싶어요!


비전공자가 개발을 시작하게 되는 계기는 별거 없을 겁니다. 저도 그랬습니다.


(1) 지금 내가 가진 전공으로는 번듯한 직장에 취업하기 힘들다는 소문 혹은 사실 때문에

(2) IT 직종이 비교적 단기간에 쉽게 직장을 구할 수 있다는 소문 때문에

(3) 그렇게 구한 직장이, 다른 직종에 비해 연봉이 꽤 된다는 소문 때문에


솔직히 그렇지 않나요? 가끔 몇몇 분들은 이렇게 이야기하기도 합니다.


'아무것도 아닌 것 처럼 보이는 코드에서 무언가 아웃풋이 나올때 희열을 느꼈다'

'코딩이라는 과정이 하나의 퍼즐을 푸는 과정과도 같았다. 해보니 너무 재밌었다' 등등..


이와 같은 말이 진심인 분도 물론 계실겁니다. 일반화 하는건 결코 아닙니다. 

하지만 대다수는 그렇지 않습니다. 이제 솔직해집시다.


지금 이 글을 읽고 계시는 비전공자분께서는 '개발'이 좋으신 겁니까?

아니면 그냥 '컴퓨터'가 좋으신 겁니까?


이 말은 같은 것 같으면서도 절대 같지 않습니다.

이 길을 준비하시는 비전공자 분들은 반드시 가슴 깊이 생각해 보셔야합니다. 

혹시 컴퓨터로 즐기는 온라인 게임이 너무 좋아서

게임 개발을 해보자! 라는 생각을 하고 계시지는 않습니까?


'나는 웹서핑, 온라인 게임 등이 즐겁다' → '컴퓨터로 하는 일들이 좋다' → '개발이 좋다'

나 혹시 컴퓨터랑 잘 맞는거 아냐?


학원에 가시게 되더라도, 만족감을 얻지 못하고

육체, 정신적으로 매우 힘들 가능성이 높습니다.

그게 취업까지 이어지더라도, IT 특유의 기업문화때문에

금방 질려버리거나 환멸할 가능성 역시 높습니다.


'컴퓨터' 와 '개발' 이 둘의 차이를 반드시 깨닫도록 하셔야 합니다.

그 차이를 깨달았을때, 그래도 개발자가 되고 싶다면 도전하시면 됩니다.


둘의 차이를 깨닫는 방법은 어렵지 않습니다. 

서점에 가셔서 C언어든, Python이든, Java든

언어에 상관없이 가장 느낌이 오는 개론서를 하나 구매하세요.

아니면 평소 많이 들어보았던 언어라도 괜찮습니다.

오늘날의 개론서들은 대부분 도서를 구매할 시 인터넷 강의를 제공합니다.

해당 강의를 진득하게, 일주일 정도만 들어보세요.

내가 좋아했던 '컴퓨터' 와, '개발'의 차이가 조금은 감이 오실겁니다.



2. 학원을 너무 믿지 마세요.


오랜 심사숙고끝에 학원에 등록하신 분들. 정말 고생많으셨습니다.

치밀하게 짜여진 커리큘럼. 짱짱한 커리어의 강사진을 자랑하는 학원!

이 곳에서 내 위대한 첫 걸음이 시작될 거라는 마음에 가득 부푼 당신.

혹시 취업이 급해서, 아니면 선택지가 없다는 이유로 단순한 사실 하나를

잊어버리고 계시지는 않습니까?


무슨 사실이냐구요? 그것은 '학원은 절대 자기 안좋을 이야기는 하지 않는다.' 입니다.

저는 한 번의 오프라인 멘토링 교육과 두 번의 학원 교육을 거쳤습니다. 

세 번의 교육 기회에서 제가 얻은 결론은 유감스럽지만 바로 저겁니다.

오히려 두 번째 교육 기회에서는 정해진 커리큘럼대로 수업이 흘러가지도 않더군요.

그야말로 허송세월을 했습니다.


학원에서 교육받은 대로만 하면 취업 할 수 있을 것이라는 생각은 버리시는게 좋습니다.


국비교육 한 두번으로 위 1번에서 이야기했던 좋은 조건의

회사에 취업할 수 있을 것 같으면 대체 누가 개발자를 하지 않으려 하겠습니까?


학원에서 교육하는 내용을 그 시간 내에 100% 머릿속에 흡수하고,

그와는 별도로 코피터지게 공부해야 합니다.

만만치 않습니다. 힘들고, 고독하며, 냉혹하고 가차없습니다. 

전공자는 4년에 걸쳐 배우지만, 우리같은 사람들은 짧게는 3개월,

길게는 8개월만에 다 헤쳐내야 합니다.

(학원에서 분명 이런 말을 합니다.)

그래야 학원 수료할 때 쯤에 겨우겨우 취업이 될까 말까 합니다.

그리고, 취업한 곳은 십중팔구 여러분이 생각했던 처우와 연봉과는 다릅니다.


제 첫번째 우울증이 이렇게 왔습니다. 

아마 저와 같은 비전공자 분들은 정도의 차이만 다를 뿐

이와 같은 아픔을 겪었거나, 겪고 계시거나 혹은 앞으로 겪을 겁니다.




3. 당신을 먼저 뽑아야 할 이유


저는 2018년 중후반부터, 2019년 중까지 1년 가까운 기간동안

이력서를 내고 면접을 봐 왔습니다. 대부분 탈락이었죠.

탈락 문자나 메일이 오면 염치불구하고 제가 부탁드렸습니다. 

탈락한 것은 내가 실력이 부족해서 그렇다는 것을 안다.

그렇다면 어떤 점이 부족했으며 앞으로 어떻게 하면 좋겠는지

솔직하게 조언 한마디만 해주셨으면 감사하겠다...


떨어뜨린게 미안해서였는지, 아니면 진심으로 저를 걱정해주셔서 그런지는 몰라도

몇몇 기업이 문자든 메일이든, 짧든 길든 답장을 해주셨습니다. 


내용은 각양각색이었지만 주제를 뽑으면 다음과 같습니다.


'당신의 포트폴리오와 이력서를 잘 보았다. 열정과 의지가 느껴진다. 

하지만 그 이상이 없다. 당신과 다른 지원자들의 포트폴리오들을 비교해 보았을때, 

그들보다 당신을 먼저 뽑아야 할 이유가 보이지 않는다.'


망치로 뒤통수 한 대 맞은 기분이었습니다.

그렇습니다. 당신이 가고 싶은 그 회사. 비전공자만 지원하는거 절대 아닙니다.

당신이 취업하기 위해 넘어서야 하는 사람들은 바로 여러분보다 학력도 높고, 자격증도 많고,

포트폴리오도 많고 퀄리티마저 높은 그 전공자들입니다.

학원에 있다보면 시야가 좁아집니다. 그리고 자연스럽게 이런 착각을 하게 됩니다.


세간에서 많은 분들이 하시는 말씀 중 하나입니다. 다음은 불행일까요? 다행일까요?

 

세상의 모든 전공자들이 모두 월등한 실력을 갖추고 있는 것은 아니다.

컴퓨터 공학과를 나왔지만 코딩이 마음에 들지 않아 다른 길로 가는 사람도 있다.


애석하지만 취업을 준비하는 비전공자 개발자 입장에서는 불행에 가깝습니다.

왜냐하면 저런 사람들이 떨어져나가고 남은 전공자들은 개발자가 되기 위해 

어떤 식으로든 우리보다 많은 노력을 기울였을 것이기 때문입니다.


포트폴리오도 여럿 만들었을 것이며,

누군가는 공모전 등에서 입상한 경력도 있을 수 있습니다.

개발자를 준비하시는 비전공자 여러분!

학원 한 번 수료한 상태로 이 분들과 경쟁할 수 있으시겠습니까?


그래서 이유가 필요합니다. 내가 적어도 이 사람보다는 이런 면에서 더 낫다는 이유.

이 회사에서 다른 지원자들 보다 내가 돋보이는 이유.

경영자가 나를 뽑을 수 밖에 없는 이유.

특히 다른 곳에 취업한 경력이 없는 신입분들에게는 꽤 중요합니다.


또 세간에서 많은 분들이 물어보시는 것입니다.

'신입이 이 정도만 할 줄 알면 되나요?', '신입에게 필요한 스킬에는 뭐가 있을까요?'


그 정도는 신입이 할줄 몰라도 괜찮다고 한다면,

그 부분은 공부하지 않으실건가요?

필요한 스킬 목록에 없으면, 그냥 무시하실건가요?

그 말에 그대로 따랐다가, 여러분이 면접보러 간 그 회사에

그 기술을 알고 있는 지원자가 있으면 어떡하실래요?

여러분이 경영자라면 누구를 뽑겠어요?


학원에 다니는 비전공자분이 하기 쉬운 실수는 학원에서

'이 정도만 하면돼~' 라는 기준에 매몰되기 쉽다는 겁니다.

천편일률적으로 가르치는 모델2, 알지도 못하고 사용하는 MVC...

회사에서 보고 뭐라고 생각할까요?

다 알고 있습니다. '이 친구는 그냥 학원에서 하라는대로만 한 친구구나...'

면접관 입장에서 다 보인다고 합니다.


학원에서 만들어주는 포트폴리오. 절대 그대로 내지 마세요.

좋은 곳에 취업할 수 있다면, 10달이 걸려도 늦지 않습니다.

그 프로젝트를 갖고 못해도 2달은 보강하고

살을 붙이고 더 풍성하게 만들 각오를 하세요.

학원 포트폴리오를 바탕으로 해서 자신이 공부하고 배운 내용을 덧붙이고,

여러가지를 시도하면서 증거를 남기세요.

그것만으로도 포트폴리오에 쓸 내용이 많아지고,

전체적으로 퀄리티 자체가 달라보입니다.


보통 학원에서 모델2 방식이나 Spring을 가르친다면

MVC 패턴으로 DB 연동해서 게시판 만들겁니다.

게시판을 통해 CRUD 학습하고, 결과물 눈으로 확인하기 좋죠.

대다수 학원이 게시판 만들어보라고 합니다.

그런데, 게시판이 쉬우려면 한없이 쉽고, 어려우려면 한없이 어려운 프로젝트에요.


그 게시판 프로젝트에 만약 사진 게시판을 따로 추가한다면?

다중 파일 첨부 기능을 추가한다면?

관리자 페이지를 추가한다면?

비밀글 기능을 추가한다면?

댓글을 비동기로 추가할 수 있게한다면?

에디터를 추가한다면?

각종 작업을 새 창에서 처리하도록 하게 만든다면?

진입시 팝업이 나오게 만든다면?

게시물에 좋아요 기능을 추가한다면?

게시물 통계 페이지를 구축한다면?


당장 생각나는것만 해도 우루루 나옵니다.

학원에서 준 포트폴리오 프로젝트의 DB를 수정해서

좀 더 많은 정보를 수집하게 만든다던지,

컬럼을 더 만들어서 이에 따른 기능을 늘리던지 하는 식으로

얼마든지 포트폴리오를 풍성하게 만들 수 있습니다.

CRUD만 딸랑 되는 게시판 포트폴리오보다 훨~씬 나아요.

기술면접에서 할 말도 많을 거구요.


저의 경우 '나를 뽑아야 할 이유'를 그렇게 잡았습니다.

여러 프로젝트에 참여해서 포트폴리오를 여러 개 남길 수 없고, 

아이디어가 흘러 넘쳐서 생각나는걸 족족 만들어 볼 수도 없었습니다.

그래서 학원에서 받은 포트폴리오라도 그 깊이를 다르게 하려고 했어요.

같은 학원 출신이지만 그들 보다는 좀 더 많이 공부했다는 사실과,

많은 걸 접해봤고 또 그러한 지적 욕구를 충족시키기 위해 노력하는 타입이라는 것을

어필할 수 있는 괜찮은 방법이라 생각했습니다.


다른 분들의 성공 후기만큼 거창하고 엄청난 노력을 했느냐? 아니에요.


제가 보통 평범한 분들과 다른 것은 학원에서 준 포트폴리오가

완성되고 난 이후에 추가하고 싶거나 실험해보고 싶은 것 두어 개 정도를

일주일 정도 시간을 두고 구글링 및 직접 코딩해보면서 적용시키고,

에러가 나면 해결하기 위해 삽질하고, 

해결이 되면 내가 무엇을 착각해서 잘 안되었던 건지

그 원인과 해결 과정을 블로그에 썼어요.

하루 두~세시간정도 고민할 시간이 있으면 일주일에

기능 한 개 내지 두 개 정도는 기능을 추가할 수 있더라구요.


그런식으로 한 달 반 ~ 두 달 정도 학원 포트폴리오를 업그레이드했습니다.

다중 게시판, 계층형 게시물 구조, Ajax를 통한 댓글 통신,

알림형 게시판, 비밀글 기능, 관리자 페이지, 통계 페이지, 팝업 기능 정도의 기능을 갖췄네요.

또한 기본 html 프레임이 좀 보기 싫어서 부트스트랩을 이용해 페이지를 꾸몄습니다.


또한 프로젝트 버전 관리를 위해 Git을 개인적으로 공부했습니다.

어느 선에서 무언가 다른 시도를 해보고 싶을때,

branch를 새롭게 따서 시도해보고, 영 안된다 싶으면

다시 엎고 새로 짜는 식으로 공부를 계속 했어요.


쉬운 기능은 직접 개발했지만, 텍스트 에디터나 모달 경고창 같은 것들은

시중에서 무료로 사용할 수 있는 예쁜 오픈소스 라이브러리를 사용했습니다.

물론 그것까지 제가 다 개발하면 좋지만 시간적, 금전적 요소를 고려했을 때

다른 사람이 만들어 둔 라이브러리를 잘 사용하는 것도

하나의 방법이라고 여겼기 때문입니다.


어라? 그냥 제가 했던 일을 서술했을 뿐인데

마치 기술 면접처럼 느껴지지 않으신가요?


이 정도면 면접에서 꿇리지는 않을 겁니다.

위의 사례는 제 이야기인데,

실제로 기술 면접 시에 3명이 들어가서 30분간 저만 이야기했습니다.

면접관분들께서도 꼬리에 꼬리를 물고 계속 물어봐주시더라구요.

마치 그냥 대화 나누듯 면접을 봤어요.


'오~ 해 본거 많으시네~ 웬만한 전공자보다 많이 공부했네요.'


이 때 합격을 예감했고, 예감은 실제가 되었습니다.

지속되던 우울증, 무기력감 증상이 2주 만에 사라지더라구요.


저는 지금 업력이 20년이 훨씬 넘고,

근무자가 80명쯤 되는 꽤 규모있는 SI 회사에 다니고 있습니다.

연봉이 엄청 높지는 않지만, 그래도 야근이 잦지 않고,

만약 하더라도 수당을 주지 않는 곳은 아닙니다.

오히려 제게는 과분한 회사지요.


저라서 가능했던 것 아닙니다. 여러분도 할 수 있습니다.

하지만 포기하면.. 거기서 끝입니다.



-마치며-


경험을 끄집어내서 쓰는 글이다 보니 중간중간 표현이 거칠거나

어쩌면 좀 언짢으실지도 모르겠다는 생각이 듭니다.

제가 무슨 경력이 몇 십년 쯤되는 신선도 아니고, 인생사에 달관한 달인도 아닙니다.

그렇기에 당연히 제 말은 진리가 아닙니다.


저는 오히려 취업하기 어려워서 도망치듯이 국비학원으로 들어간 축에 속합니다.

그 안에서 웃고, 때로는 펑펑 울기도 하고,

옥상 끝에 서보기도 하는 고단한 시간을 겪고 난 뒤에야 

이제 겨우 어디가서 개발자라고 말하고 다닐 정도가 되었습니다.


원래 새로운 세상으로 나아가려는 자는,

원래 살던 세상을 부숴버려야 한다는 말이 생각납니다.

자신이 안주하던 세상을 부수는 것은 분명 어렵고, 힘들고, 두려운 일이지만

겪어보니 못할 일은 아닙니다.


정말 강조하고 싶은 것 하나는, 

저라서 가능했던 것이 아니라 비전공자인 누구든

할 수 있다는 사실이 전해졌으면 좋겠습니다.

두서없는 글을 읽어주셔서 감사드리고,

다시 한번 개발자가 되고자 하는 비전공자 분들을 응원합니다.


댓글

Designed by JB FACTORY