반응형

사실 29살때 있었던 일은

여지껏 누구에게도 잘 말하지 않았다. 

 

생각을 하는 것만으로도 

우울한 맛이 있었기 때문이다. 

 

이 글은 개발자로 취업하려는

비공대생들에게 많은 도움이 될 것이다. 

사람들이 쉬쉬하는 진실을 다루고 있기 때문이다. 

 

화려한 광고에서는 말하지 않는 이야기다. 

 

그럼 5년 전으로 돌아가보자. 

 

나는 학원을 마치고 

바로 취업를 시도하지는 않았다. 

 

아직 공부할 게 더 많이 남았다고 생각했기 때문이다. 

학원은 12월 초에 끝났다. 포트폴리오도 만들었지만 좀 더 공부하기로 결정했다. 

 

컴공 과목을 공부하면 좋다 생각해 

네트워크, 운영체제, 데이터 베이스 전공서적을 구해서 읽었다. 

 

그 외 이산수학이나 컴퓨터 구조, 디자인 패턴 책도 짬짬이 읽었다. 

 

이때 대략 10개 정도 컴공 과목을 공부했는데 

커리어적으로는 별로 좋은 선택은 아니었지만

개발 실력을 탄탄하게 하는 데 있어서는 좋은 선택이었다. 

 

학원에서 네트워크 프로그래밍을 하기는 했지만

주로 구현이 치중했고, 이론은 깊이 다루지 않았다. 

 

내가 네트워크를 따로 공부해두지 않았다면

나중에 블루투스 (BLE)를 개발할때 디버깅을 아예 못했을 것이다. 

 

운영체제를 공부하자 

학원에서 따라서 쳤던 스레드가 왜 필요하고 어떻게 쓰이는지 알았다. 

만약 내가 바로 일을 시작했다면, 메모리나 스레드 관리의 필요성을 몰랐을 수도 있다. 

 

사실 커리어적으로는 학원이 끝나자마자 바로

아무데나 취업하는 게 좋았다. 

 

일단 경력이 1이라도 있는 것과 

아예 없는 것을 사람들은 달리보기 마련이니깐. 

 

( tip - 오랫동안 개발을 하려면 컴공 과목을 배워보자 )

 

3월이 되자 

일반적인 기업을 위주로 지원을 했다. 

이 선택은 상당히 잘못된 것으로 드러나게 된다. 

 

지금이었으면은 절대 택하지 않을 방식이다. 

 

세상 사람들은 많은 편견이 있다. 

그 편견에 의해 때론 이득을 보기도 하고, 때론 손해를 보기도 한다. 

 

 

공식적인 경로로 취업을 하는 건 

내가 택할 수 있는 방법 중에서도 

가장 안 좋은 수였다. 

 

만약 지금이라면 

우회적인 방법을 택할 것이다. 

 

이미 자리를 잡은 개발자들을 만날 수 있는 모임이나 스터디를 나갈 것이고 

컨퍼런스 등에서 유명한 개발자들에게 다가가 질문을 할 것이다. 

그러며 조언을 구할 것이다. 

 

직접 만날 기회가 생기면 넌지시 일자리를 구하는 법이 있는지 물어볼 것이다. 

일자리 추천을 받을수도 있고, 적어도 유용한 조언을 들을 수 있다.

 

당장 일자리는 생기지 않더라도 나중에 제안을 받을 수도 있다. 

사람들은 한번이라도 만나본 사람을 완전한 타인보다 선호하기 마련이다. 

 

혹은 블로그나 책을 쓴 사람에게 

연락해서 질문을 해볼 수 도 있다. 

대게 그런 사람들에게는 제안이 많이 들어오기 마련이다. 

그 사람에게는 안 맞더라도 나에게는 꽤 괜찮은 제안일 수도 있다.  

 

아니면 잡코리아나 스타트업 채용 공고들을 뒤져서

내 기술 스펙이랑 비슷한 회사의 리스트를 뽑아보겠다. 

그래서 내 장점을 어필하는 메일을 가능한 많이 보내볼 것이다. 

 

하지만 나는 그러지 않았다.

 

당시에 나는 채용공고가 유일한 길인 줄 알았기에 

다른 방법을 찾지 않았다. 

 

3월이 되자 지원을 시작했다. 

이름난 기업부터 시작해 덜 유명한 기업도 모두 지원했다. 

이래저래 지원을 많이 했는데 연락이 오지 않았다. 

 

당당했던 자신감은 사라진지 오래였다. 

 

개발 공부는 계속하고 있었지만 

연이은 서류 탈락에 조금씩 회의감이 들었다. 

 

당시에는 주로 아침 9시 정도에 학교에 나가서 

밤 11시 정도에 학교를 떠났다. 

 

워낙 오래 학교에 있다보니 

회계사 시험 준비하던 친구와 자주 마주쳤다. 

서로 열심히 한다고 칭찬하고 위로를 해주었던 기억이 난다. 

 

서류 준비와 개발 공부를 하고 
남는 시간엔 컴퓨터 공학과 수업을 도강하기도 했다. 

'인공지능'이랑 '데이터 마이닝' 수업이었는데 

절반은 호기심에 절반은 컴퓨터 공학과에서 대체 무슨 수업을 하나 궁금해서 들었다. 

 

처음엔 약간 어려웠는데

수업에서 쓰는 교과서를 구해서 

미리 예습을 하니 들을만 했다. 

 

도강을 했지만 끝까지 걸리진 않았다.

공대생 비슷한 나의 얼굴이 한 몫 한 것 같다. 

 

 

거의 4개월 동안 아무 성과없이 6월말이 되었다. 

 

나의 실력은 좋아지고 있었지만

자존감이 정말 많이 떨어졌다. 

 

지금 같으면 작은 기업 위주로 찾아보거나, 

제 3의 길을 찾아서 취업을 했겠지만 

그때는 내 노력이나 실력이 부족했다고 생각했다. 

그래서 지금도 나는 무작정 노력 하라는 말을 별로 좋아하지 않는다. 

나에게 필요한 건, 올바른 방법과 조언이었다. 

 

7월 즈음되자 회의감이 많이 들었다. 

나는 왜 이런 사서 고생을 했는가. 

혼자 도서관에 앉아 있는데 괜히 서러움에 눈물이 나오곤 했다. 

 

개발을 더 해야될지 말지 고민이 되었다. 

때론 2014년이었고, 코딩을 하는 것 자체가 어리석은 것으로 비춰지던 떄였다. 

 

나는 단호한 마음으로 시작했지만

주변의 모든 신호들이 아니라고 했다.

 

사실 나도 2달 정도 개발을 놓고 지냈다. 

 

뭘할지 모르는 상황이라 아무거나 흥미 가는 걸 공부했다. 

그때 내가 공부한 건 '기초 물리학'이었다. 

 

당시 공대쪽은 적성검사에서 '과학' 지식을 물어보는 경우가 흔했고 

나는 시험 통과를 위해 과학 공부를 약간했다. 

 

고1 이후로는 과학책을 본 적이 없었으니 12년만에 한 것이었다. 

 

바로 공대생들이 보는 책을 보기는 어려워 

'수학 없는 물리' 라는 책을 보았는데 비유와 그림이 많아 

재밌게 읽었다. 

 

물리에 대해 좋은 기억이 있어 

2달 동안은 기초 물리를 공부하면서 지냈다. 

대학물리책도 보고, 전자 기학 책도 살짝 보았다. 

 

지금 생각해도 뜬금없는 결정인데 

시간을 마냥 보내기보다는 아무거라도 하는 게 낫다고 생각했다. 

 

공부할때는 몰랐는데 기초 물리를 배워둔 게 

나중에 가상현실 게임을 만들어볼때 큰 도움이 되었다. 

 

요즘은 게임 개발을 다 엔진으로 하지만

게임을 제대로 만드려면 기본 로직은 이해해야한다. 

 

로직들은 다 물리를 기반으로 만들어졌다. 

 

약간은 물리를 알아야

3D 물체의 이동, 각도 계산, 쿼터니언, 그래픽스 이론 등을

이해할 수 있다.

 

잠시나마 게임 개발에 도전해볼 수 있었던 건 

이때 물리를 배워둔 덕분이었다.

 

하지만 그때 당시 나는 게임을 만들 생각이 1도 없었다. 

난 물리책을 현실 도피용으로 읽었다. 

 

누군가 이 일이 먼 훗날 도움이 될거라는 이야기를 해도 

막상 어려움에 처해있는 당사자는 전혀 공감이 안 된다. 

 

현재의 고통이 너무나도 크기 때문이다. 

하지만 정말로 쓸데없을 것만 같았던 경험도 

당시에 최선을 다했다면 도움이 되는 순간이 분명히 온다. 

 

나는 그 사실을 분명히 말할 수 있다. 

때로는 불운이 행운이고, 행운이 불운이다. 

8월말이 되어 새로운 취업 시즌이 되었다. 

난 계속 개발을 할지 말지 고민을 했다. 

 

그러다 우연히 "싱가폴에서 개발자 모집. 알고리즘 시험 통과하면 연봉 6천만원"이란 공고를 보게 된다. 

 

나는 이 공고를 보고 눈이 멀었다. 

고백하겠다. 

 

내가 개발자를 다시 하겠다고 마음 먹은 것은 

6천만원이 탐이 나서였다..... 

 

이 회사의 알고리즘 시험을 준비하면서 

오랜만에 코딩을 했다. 

 

문제를 풀어가는 과정도 흥미로웠고 

코딩에 몰입하는 순간이 좋았다.

 

외부적인 요인때문에 개발을 잠시 놓았지만

아직도 개발에 대한 관심과 애정이 남이 있었다.

 

아쉽게도 알고리즘 시험은 떨어졌다. 

 

내가 2달간 코딩을 손에서 놓지 않았다면

충분히 통과했을 거란 확신이 있었다. 

 

이 일을 계기로 전략을 바꿨다. 

전공 지식을 테스트하는 곳만 지원하기로.. 

 

개발자의 세상은 실력 위주라 들었고 

 

난 공고를 보고 채용과정에 

'필기테스트'와 '기술면접'이 포함되어 있으면 지원을 했다. 

 

나의 예상은 반은 맞았고, 반은 틀렸다. 

 

난 대부분 기술면접까지는 통과를 했다. 

 

문제는 최종면접이었다. 

 

내게 들어온 질문들은 비슷했다. 

 

"경영학과인데 잘 할 수 있나요?"

 

"경영학과인데 사업을 하러 갈 것 아닌가요?"

 

"알고리즘이 무엇인지 아나요?"

 

나는 더 공부를 많이했다는 이야기를 했고 

자신이 있다는 어필을 했지만 소용없었다.

 

마치 나는 '친환경 세제'와 같았다. 

똑같은 세제라고 해도 친환경이라고 하면

거품도 덜나고, 잘 안 씻길듯한 이미지가 있다. 

 

돌이켜보면 나는 2가지 중 하나를 택해야했다. 

실력을 압도적으로 키우거나 

실력에 대한 의문을 부드럽게 해소하거나. 

 

근데 나는 둘 다 못했다. 

 

신입 개발자에게 필요한 실력이 1이라면

난 1.2 ~ 1.5 정도의 실력은 있었다. 

 

문과생에 대한 선입견을 생각할 떄 

3~4정도는 실력이 있어야했다. 

난 그 사실을 몰랐다. 

 

아니면 좀 더 부드럽게 면접관을 설득할 방법을 고민했어야했다. 

 

지금은 웬만하면 개발 이야기를 많이 하거나 

개발 지식을 어필한 뒤에 

전공 이야기를 한다. 

 

일단 개발 잘할듯한 이미지가 생기고 나면

전공을 말해도 상관없다. 오히려 플러스가 된다. 

 

하지만 반대로 말하면

의심 가득한 표정을 보게 된다. 

 

같은 내용이어도 순서에 따라 

다른 결과가 나온다. 

 

( tip - 사람들은 비논리적이고 개발자들도 예외는 아니다 )

 

어쨌든 다시 취업 과정으로 돌아가보자. 

 

월화수목 최종면접을 보고 

다 떨어지는 상황이 계속되니 

멘탈이 완전히 너덜너덜 되었다. 

 

 

원래 정신이 약한 사람은 아닌데 

이때는 정신이 꽤나 약해졌었다. 

 

12월말이 되었다. 

마지막으로 기대했던 곳에서 

탈락 통보를 받았을 때의 기분이란.. 

 

세상에 대한 원망이 없었다면

거짓말일 것이다. 

 

내가 악플러가 아니라 개발자가 된 건  

어느 순간 생긴 자각 덕분이었다. 

 

어떠한 일을 계속해서 하게 되면 

작은 변화가 생겨난다. 

나는 이것을 '정체성'이라고 부른다. 

 

내 스스로는 인식하지 못했지만

나 자신을 '개발자'로 보고 있었다. 

 

근 1년여간 개발을 공부하는 과정에서 

개발 자체가 하나의 일상이 되었고 

포기할 수 없는 한 부분이 되었다. 

 

자신을 농부로 인식한 사람은 

비가 와도 농사를 짓고, 가뭄이 와도 농사를 짓는다. 

 

자신을 화가로 생각하는 사람은

붓이 망가져도, 새로 붓을 사든, 붓을 만들어서든 그림을 그린다. 

 

어떤 어려움이 왔을 때 

관두지 않는 건 '정체성'때문이다.

 

나중에 내가 코딩을 가르치면서 알게 된 건데 

현재 실력이랑 상관없이 계속 하는 사람도 있고 

금방 포기하는 사람도 있다. 

 

난 처음에는 끈기의 차이라고 생각했다.

 

아니었다. 

 

포기 하지 않는 사람들은 '진지하게 개발이 필요하다'고 생각하는 사람이었고 

쉽게 포기하는 사람들은 '개발 공부가 유행하니 배워보자'는 사람이 대부분이었다. 

 

한쪽은 절반정도 '개발자'의 정체성을 가지고 시작하는 반면

다른 한쪽은 아니었다. 

 

작은 마인드 차이지만 결과는 많이 달랐다. 

 

내가 이걸 깨달은 건 한참후이다. 

 

12월말 결과가 나온 뒤 생각을 바꿨다. 

 

일단 나는 아무곳이라도 가서 

일을 해보자고 마음 먹었다. 

 

1년전에 했으면 좋았을 결정이었다. 

 

당시 학교에서는 스타트업이나 중소기업과 인턴 연계 프로그램을 진행하고 있엇다. 

 

그 중 SNS 앱을 만드는 회사에 지원을 했다. 

다운로드 10만정도가 있는 곳이었다. 

학교에서 일부 금액을 지원해주고, 회사에서는 20만원을 주는 조건이었다. 

 

12월 말에 면접을 보고, 12월 30일 경에 출근을 했다. 

 

직책은 안드로이드 개발 인턴이었다.

 

회사 인원은 10여명 정도였고 

개발자는 나까지 3명이었다. 

 

안드로이드와 서버를 담당하는 CTO겸 공동창업자가 있었고

아이폰 ( ios) 를 담당하는 사람이 한명 있었다.

 

 

실제로 출시된 앱의 코드를 보는 건 처음이었다. 

 

첫 임무는 간단한 편이었다. 

앱의 UI를 일부 고치는 것이었다. 

 

두번째 임무는 지금생각해도 살짝 난감한 것이었다. 

SNS에 영상 업로드 기능을 추가하려고 하는데, 

영상 길이에 제한을 두고 싶다고 했다. 

 

10초 까지만 영상을 올릴 수 있게 

영상 편집 기능을 넣어달라고 했다. 

 

아이폰은 금방 했다고 했다. 

 

이전에 산업협력으로 인턴들이 다 만들어 두었으니 

그 소스를 고치기만 한다고 하였다. 

 

하지만 실제 소스를 열어보니 동작하지 않았고 

깃허브에서 적당히 가져다 붙인 것이었다. 

 

처음에는 안드로이드에서 mp4를 자를 수 있는 라이브러리를 써서 했었다.

약간의 어려움은 있었지만 잘 돌아가는 걸 확인했다. 

 

하지만 mp4 만 지원해서는 안 된다는 이야기를 들었고 

다른 확장자도 자를 수 있어야 한다고 했다. 

 

하지만 자바 라이브러리 중에 영상을 자를 수 있는 라이브러리가 없었다. 

C 라이브러리를 써야만 했다. 

 

결국 NDK를 써야했다.

 

NDK는 안드로이드에서 C나 C++를 쓸 수 있게 해준다. 

 

내 작업환경은 윈도우였기에 NDK를 바로 쓸 수 없었다. 시그윈을 써서 작업을 했다. 

시그윈은 윈도우에서 리눅스 터미널을 쓸 수 있게 해주는데 실제 리눅스와는 미묘하게 다르다. 

 

맥이나 리눅스에서 했으면 좀 더 쉬웠을 수도 있다. 

내가 겪은 에러의 상당수는 시그윈 때문이었다. 

 

CTO겸 공동창업자도 NDK나 FFMpeg은 다뤄본 적이 없었기에 

혼자서 끙끙대면서 작업을 했다. 

 

CTO에게 질문을 해도 피상적인 답변만 들었다. 

 

나는 인턴을 뽑게 되면 

최대한 세부적으로 알려줘야겠다는 생각을 했다. 

 

이 다짐을 1번은 지켰고, 1번은 지키지 못했다.

 

인턴일은 작업량이 상당했다. 

안드로이드도 해야하고, C도 만지고, NDK도 만져야되서 상당히 스트레스를 받았다. 

 

썼던 C 라이브러리는 FFmpeg 이었는데 역시나 처음 보는 것이었다. 

 

9시에 나와서 10시나 10시 반까지 작업을 했다.

할일이 너무 많아 주말에도 거의 일을 했다. 

 

포기를 하려고 몇번이나 생각했는데 

이상하게 관두려할때 즈음 조금씩 진전이 있었다. 

 

한달 좀 넘게 지나서 기능 구현을 했다. 

 

안될 것 같았는데 어떻게든 한 것이다. 

 

기능 구현을 다 끝내고 고민을 많이 했다. 

물어봐도 답이 없는 상황에 지쳐 있었다. 

 

약속된 2달을 채워야하는 게 아닌가 

고민을 했다. 

 

그래서 CTO와 면담을 했다. 

주 내용은 회사에서 주는 돈은 20만원인데 

업무 내용이 너무 과한것 아니냐

야근도 지나치게 많다는 이야기였다. 

 

내가 들은 답변은 이랬다. 

 

"IT 회사는 원래 이래요"

 

나는 조용히 짐을 쌌다. 

 

약 5주간의 인턴 생활을 마치고 고민을 했다. 

당당히 나오긴 했지만 미래에 대한 확신이 하나도 없었다. 

 

그때가 2월 초였다. 

 

나는 바람을 쐴 겸 강남쪽을 갔다. 

 

여기저기 정처없이 돌아다니다가 

삼성전자 스토어에 들어가게 된다. 

 

스토어에선 '갤럭시 VR'을 전면에 놓고 홍보하고 있었다. 

 

나는 가상현실에 대해서 들어보기는 했지만 

실제 접한 건 처음이었다. 

 

VR을 처음 써보고 놀라움을 금치 못했다. 

이런 신세계가 있었다니.

 

집에 돌아와서도 VR 생각이 머리를 떠나지 않았다. 

내가 직접 만들어보면 어떨까?

 

'유니티'를 쓰면 VR 개발을 할 수 있단 걸 알게 되었고 

유니티 책을 찾아서 읽었다. 

 

전에 잠깐 도서관에서 유니티 책을 빌려본 적이 있었는데 

이해가 안 되어, 읽다가 반납을 했다. 

 

하지만 이번에는 결심도 달랐고 다른 책을 골랐다. 

 

전의 책은 유니티의 기능을 설명만 했는데 

다른 책은 처음부터 따라하면 3D 총싸움 게임(FPS)이 만들어지는 구성이었다. 

앞의 100쪽은 미니 2D 게임 하나, 중간의 100쪽은 3D 게임 하나, 나머지 300쪽에선 3D 총싸움 게임을 만든다. 

 

프로젝트 형식으로 된 책을 따라하니 

만드는 재미가 있었다. 

 

기능만 설명하는 책을 보면 

이걸 어떻게 합쳐야할지 감이 안온다. 

 

프로젝트 형태였기에 

아주 아주 작게나마 게임을 만드는 경험을 할 수 있었다. 

 

( tip - 초보라면 기능보다는 프로젝트 위주의 책을 고르자 )

 

책을 보고나서 간단히 게임을 만들기 시작했다. 

책만으로 배운 것이기에 진도가 잘 나가지는 않았다. 

 

그러다 우연히 오큘러스 잼이란 공모전을 알게 된다. 

페이스북이 오큘러스를 인수한 후 VR 게임을 늘리기 위해 

대회를 연 것이다. 

 

팀원을 모집해야되나 고민하고 있을 무렵 

네이버 까페에 올라온 글을 보게 된다. 

 

3D 모델링 디자이너인데 

같이 할 팀원을 구한다는 내용이었다. 

 

게임의 컨셉은 비행기 VR 슈팅 게임이었다. 

작은 비행기가 바다를 돌아다니면서 

적 비행기를 잡고, 마지막에는 보스(배)를 처리하는 게임이었다. 

 

공모전에는 스테이지 1개까지만 만들고 제출하고 

상황에 따라 더 만들 계획이라고 했다. 

 

디자이너 분을 만나서 대화를 나눈 뒤 같이 하기로 했다. 

 

VR개발은 어려운 점도 있었지만 

즐거운 점이 훨씬 더 많았다. 

 

약간의 기술적 어려움은 있었지만 결국 다 돌파해냈다. 

 

VR 개발의 가장 큰 문제점은 

신기술이란 것이다. 

 

신기술이었기에 

딱히 검색해도 답이 안 나왔다. 

 

페이스북이 적어놓은 공식 문서를 참고해서 개발을 했다. 

사실 나는 이전까지는 책을 많이 활용했다. 

 

이때 처음으로 책에 의지하지 않고 개발을 하는 법을 알게 되었다. 

 

내가 구현한 기능들은 사실 기본적인 것들이었다. 

 

비행기의 이동, 미사일 쏘고 맞았을때 처리하기,

아주 간단한 적 비행기 인공지능, 

VR 멀미 줄이기, VR로 포팅하기 등등을 만들었다. 

 

중간에 머리에 쓴 VR 기기가 미세하게 

잘못 동작하는 문제가 있었다. 

 

이틀 동안 끙끙거렸는데 답이 안 나왔다. 

 

그러다 아주 작은 계산 실수가 있다는 걸 알고 

고쳤더니 자연스럽게 돌아갔다. 

 

그때의 희열이란..

무엇과도 바꿀 수 없었다.

 

가상현실 게임 개발을 하며 

계속해서 개발을 하겠다는 강한 결심을 했다. 

 

개발을 계속해야 되나 말아야 되나 

고민을 하던 나에게 '빛'이 된 순간이었다. 

 

 

루쉰이 쓴 소설 '고향'에는 이런 이야기가 나온다. 

 

"원래 숲에는 길이 없었다. 

사람들이 다니다 보니 길이 된 것이다. 

희망도 같은 게 아닐까?"

 

나도 조금씩 길을 만들어 가고 있었다.

반응형

+ Recent posts