brunch

You can make anything
by writing

C.S.Lewis

by 유지 Jan 11. 2023

27살, 개발자로 신분세탁

케냐 내 비영리기관에서 일하는 동안 IT 회사와 서비스들이 케냐사람들의 삶을 얼마나 변화시켰는지 옆에서 목격할 수 있었고, 파이썬으로 “hello, world”를 조금씩 따라치며 프로그래밍을 한글자씩 배워나갔다. 한국에 돌아온 뒤로는 국비지원학원에서 다른 친구들과 동고동락하며 6개월간 개발로만 인생을 꽉꽉 채우기도 했다. 오늘은 6개월간의 국비지원과정 그 이후, 내가 첫 직장을 얻고 그곳에서 1년을 보낼 때까지의 이야기를 해보려고 한다.




선택의 순간, 개발자 vs. 다른 길

6개월간 국비지원과정이 끝나고, 포트폴리오도 어느정도 갖추어졌다. 나는 선택에 기로에 놓였다. 개발자가 되기 위한 정말 최소한의 교육은 이수했고, 개발자로서 이대로 취업 준비를 할 것인지, 아니면 다른 교육기관에서 추가적으로 더 연습을 할 것인지, 그것도 아니면 아예 다른 길을 찾아 나설 것인지, 선택을 해야할 순간이 왔다.


친구들은 벌써 하나 둘씩 이력서를 준비하고 면접을 보고 있었고, 곳곳에서 “어느 곳에 면접을 봤다”, “어느 곳에 취직을 했다”하는 이야기들이 들려왔다. 다른 친구들의 경우, 개발직군이 아니라 다른 직군에도 계속 지원을 하고 있었다. 아무래도 비전공자였다보니, 보험의 성격으로 다른 직군도 계속 지원해보려는 것 같았다.


하지만 나는 달랐다. 나는 애초에 개발자 이외에 다른 직군으로의 취업은 생각도 한 적이 없었다. 6개월간 공부하면서 익숙하지 않은 개념들에 고생하긴 했지만, 그래도 정말 재미있었고, 이렇게 재미있는 일을 돈을 받으면서 할 수 있다니, 그 삶이 너무 행복할 것 같았다.


다른 교육기관에 가서 교육을 더 받는 것도 나의 선택지에는 없었다. 왜냐하면 이미 마르코님의 브런치 시리즈를 통해, 현업에서의 한 달이 교육기관에서의 3개월보다 훨씬 배우는 것이 많고 가치있다는 것을 익히 들어서 알고 있었기 때문이다. 그래서 죽이되든 밥이되든, 일단 개발자로서 입사하는 것을 가장 큰 목표로 삼고 본격적으로 취업 준비를 시작하게 되었다.




내가 가고 싶은 회사

취업 준비를 위해서 가장 먼저 해야할 것은 목표지점 설정이 아닐까 싶다. 나는 어떤 회사에서 일하고 싶은가, 어떤 기준으로 회사를 고를 것인가에 대해 명확한 기준을 잡지 않으면, 밖에서 불어오는 살랑바람에도 이리저리 흔들리고 제대로 된 결정을 못할 것이 분명하기 때문이다.


나는 꽤나 명확한 조건을 가지고 있었는데 대략 아래와 같았다.  

자체 서비스를 운영하고 있는 회사일 것

그 서비스가 사회적 가치를 창출하는 것을 목표로 할 것

면접관이 자신의 회사와 서비스에 대해 애정을 갖고 있을 것

보고 배울 수 있는 개발자 동료들이 있을 것


1. “자체 서비스”를 운영하고 있는 “스타트업”일 것

마르코님의 브런치 및 비전공자나 국비지원교육 출신 개발자 분들이 명심, 또 명심했던 것이 바로 SI 회사에 대한 경계였다. SI(System Integration) 회사의 경우, 자체 서비스를 가지고 있는 것이 아니라 주로 대기업의 프로젝트를 수주받아서 대신 개발해주고 돈을 버는 방식으로 운영된다. 아무래도 회사의 자체 서비스가 아니라 남의 서비스를 대신 만드는 일이다 보니, 프로젝트의 전체적인 아키텍처나 코드의 품질보다는, 타이트한 개발 기한에 맞춰 기능이 잘 동작되는 것이 훨씬 중요하게 여겨진다고 한다. 물론 요즘은 SI회사들도 이전보다는 많이 변화하고 있다고 하지만, 여전히 개발 실력을 향상시키기에는 자체 서비스를 가지고 있는 회사들보다 어렵다고 알고 있다.


더군다나 나는 무조건 스타트업을 위주로 지원을 했었는데, 동료들과 함께 머리를 맞대고 고민하고 토론하며 같이 서비스를 만들어가는 경험을 해보고 싶었기 때문이다. 내가 해볼 수 있는 업무의 범위가 좁은 대기업에서는 그런 경험을 하기 어려울 것 같았다. 그래서 나는 자체 서비스를 운영하고 있는 스타트업을 중심적으로 지원서를 작성하기 시작했다.


2. 그 서비스가 사회적 가치를 창출하는 것을 목표로 할 것

두번째로 중요한 조건은 바로 사회적 가치창출이었다. 자체 서비스를 운영하고 있지만, 그 서비스가 사회적으로 좋은 영향을 끼치는 서비스였으면 하는 바램이 있었다. 한때는 UN에서 일하며 세계평화를 위해 일하는 것을 꿈꿨던 사람으로써 내가 개발을 배우는 이유를 잊지 않고 싶었다. 나는 단순히 개발자가 연봉이 높아서, 다른 일들에 흥미가 없어서 개발공부를 시작한 것이 아니었다. 나는 IT 서비스를 통해 전 세계적인 기회의 불평등을 해소하는 사람이 되고 싶었고, 그것을 위해 개발공부를 시작했었다. 단순히 대기업에 취업하거나 높은 연봉을 받는 것은 나에게 중요한 것이 아니었다.


3. 면접관이 자신의 회사와 서비스에 대해 애정을 갖고 있을 것

동료들과 같이 머리를 맞대고 서비스에 대해 열정을 불태우고 싶었다. 그리고 그를 위해서는 나와 같은 재질의 사람들을 만날 필요가 있었다. 하나의 목표를 향해 삶을 불태울만큼 열정적인 동료들 말이다. 면접관으로 들어온 사람들이 회사와 서비스에 대해 설명하면서 짓는 표정들, 말투들, 언어들을 잘 기억하고 담아두었다. 그것들은 온통 나에게 그 사람들이 이 회사와 서비스에 대해 얼마나 열정이 있는지 확인하는 요소들이 되었다.


4. 보고 배울 수 있는 개발자 동료들이 있을 것

아무리 회사와 서비스가 좋다고 하더라도 내가 옆에서 보고 배울 수 있는 동료들이 없다면, 개발자로서의 나도 결코 발전할 수 없을 것이다. 그래서 내가 이 회사에서 일하게 되면 몇 명의 동료들과 어떤 일을 하게 되는지 자세하게 물었다. 팀의 개발 문화는 어떤지, 동료들은 어떤 사람인지도 간접적인 질문들을 통해 알아볼 수 있었다.




찾았다, 나의 첫 회사

그렇게 회사도 나도 서로 엄격한 심사의 과정을 거쳤고, 마침내 나는 나와 꼭 맞는 회사를 찾아냈다. 그 회사는 기존에 신용카드나 보험/통신비 납부 내역 등으로 측정되던 신용평가방식에 문제의식을 느끼고, 금융 데이터가 없는 사회초년생이나 은행 계좌조차도 없는 개발도상국의 사람들도 모바일 데이터를 이용하여 정당한 방식으로 신용평가를 받을 수 있도록 대안적인 방법의 신용평가 서비스를 제공하는 회사였다.


이 회사를 지원하고 면접관님이 회사와 서비스에 대해서 설명해주는 것을 가만히 듣자하니, 문득 케냐에 있을 때 사업 대상자를 선정하는 것이 얼마나 어려웠는지가 생각이 났다. 젖소를 대출받을 사람들을 정당한 방법으로 뽑아야 하는데, 사람들 대부분이 은행 계좌도 없고, 소득을 증명할 수 있는 명확한 데이터가 없었다. 결국 우리는 온 마을을 돌며 집집마다 나무집인지, 벽돌집인지, 가장은 누구인지, 어떤 일로 생계를 이어가고 있는지, 지병을 앓고 있거나 장애가 있어서 일을 할 수 없는 상황인지, 심지어는 텔레비전 등 고가의 가전제품이나 자동차가 있는지 등도 샅샅히 조사해야했다.


이 과정은 정말 많은 노동력과 시간이 소요되는데, 만약 이 분들이 사용하고 있는 휴대전화의 데이터를 분석하여 신용평가를 대안적으로 할 수 있는 방법이 있다면, 그분들도 금융권에서 대출을 받을 수 있고, NGO 등 비영리기구도 좀 더 객관적이고 명확한 데이터를 바탕으로 사업대상자를 선정할 수 있을 것 같다는 생각이 들었다.


회사의 서비스에 대해서 진심을 다해 설명해주시는 면접관님과, 서비스의 좋은 의도를 듣고나니, 나는 그냥 이 회사가 마음에 들어버렸다. 내가 가장 중요하게 생각했던 자체적 서비스도 가지고 있을 뿐더러 사회적으로도 좋은 가치를 창출하며, 대기업 출신에 경력이 많은 이사님들이 있어서 내가 보고 배울 수 있는 부분도 많을 것 같았다.


그렇게 면접을 마무리하고, 몇 일이 지나자 합격했으니, 3차 면접을 보러 오라는 소리를 들었다. 기쁜 마음으로 3차 면접을 보러갔는데, 거의 인성면접 느낌이어서 카페에서 대화하는 것처럼 이야기를 잘 끝내고 최종 합격발표를 받게 되었다. 드디어, 개발자로서의 첫 발자국을 뗀 셈이다.




유토피아는 없다

유토피아처럼 모든 조건을 충족하는 일하고 싶은 회사로의 출근을 앞두고, 나는 베트남으로 2주간 취뽀여행을 떠났다. 그동안 고생한 나에게 주는 선물이자, 앞으로 개발자로서 해쳐나갈 삶에 준비였다. 그렇게 신나게 2주동안 놀고 먹다가 드디어 회사로 출근을 한 첫날, 나의 유토피아는 완전히 깨져버렸다.


우선, 나는 백엔드 포지션으로 면접을 봤었는데, 회사에 입사한 첫날부터 갑자기 안드로이드 개발을 맡게 되었다. 내가 믿고 배울 수 있을 것 같았던 이사님들은 너무 바빠서 신입 나부랭이인 나를 신경쓰지 못했고, 열정적으로 서비스를 만들 수 있을 줄 알았던 회사 분위기는 대표님의 변덕에 자주 왔다갔다 하느라 다소 지친 느낌이 보였다.


물론 회사생활이 마냥 꿈만 같을 것이라고 생각했던 것은 아니지만, 첫날부터 폭탄을 맞게 되니 조금 혼란스러웠다. 입사 첫날부터 다양한 정보들을 빠르게 캐치할 수 있었던 나는 선택을 해야했다. 애초에 예상했던 것과 다른 일을 맡게 되었으므로, 바로 입사를 취소해도 문제는 되지 않을 것이었다. 그렇지만, 이미 합격했던 다른 곳들에는 일할 곳이 있다고 거절 의사를 밝힌 상태였고, 이대로라면 다시 처음부터 내 핏에 맞는 회사를 다시 구해야했다.


첫날 근무 후, 집가는 길에 곰곰히 생각을 해 보았다. 우선 자체 서비스를 운영하고 있었고, 스타트업임은 변함이 없었다. 그리고 그 서비스가 분명 사회적 가치를 창출하는 혁신적인 것임에는 틀림없었다. 나는 백엔드 포지션으로 일을 하고 싶었지만, 갑자기 안드로이드 개발을 맡게 되었다. 물론 이전에 공부했던 것들은 아니었지만, 전혀 싫은 것만은 아니었다. 회사의 메인 서비스가 안드로이드 앱서비스였기도 했고, 우선 금융에 대한 도메인 지식이나 서비스 개발에 대한 전반적인 흐름도 몰랐던 나에게 클라이언트로 개발 경력을 시작하는 것은 그리 나쁘지 않아보였다. 게다가 나는 나중에 나만의 서비스로 창업을 하고 싶다는 야무진 꿈도 꾸고 있으니, 이참에 안드로이드 개발을 배워보는 것도 나쁘지 않을 것 같았다. 클라이언트에 어느정도 적응을 한 뒤, 백엔드 포지션으로 옮기는 전략을 취해봐도 괜찮을 것 같았다. 결국, “배우면 다 쓸데가 있겠지”하는 마음으로 나는 회사에 계속 머무르기로 결정했다.




개발자로서 1인분 몫 해내기

그렇게 첫 회사 출근 첫날부터 뒤통수를 쎄게 얻어 맞은 나는 이제 본격 생존모드에 돌입하였다. 이왕 이렇게 된거, 멋지게 안드로이드 개발을 해내 회사도 도움이 되고, 나도 무럭무럭 성장해보기로 했다. 면접에서 나에게 포지션 사기(?)를 쳤던 CTO 님은 내가 워낙 안드로이드 백그라운드가 없던 것을 알았던지라, 나에게 미안해하며 3개월간의 안드로이드 수련기간을 주셨다. 물론 사수는 없으니, 혼자서 해쳐나가야했다.


그렇게 공식적으로 회사에서 공부를 할 수 있게 되자, 나는 유데미에서 전체적으로 최신 안드로이드 강의를 한번 듣고, 구글 안드로이드 문서를 틈틈히 참고하며 공부를 해 나갔다. 당시 회사의 안드로이드 프로젝트는 모두 코틀린으로 되어있었기 때문에, 새롭게 언어를 배워야하기도 했다. 그 와중에 회사 앱을 수정배포할 일이 생겨 플레이스토어에 앱도 배포해보았다. 3개월간 그 어느때보다도 빠른 속도로 공부를 하며, 어느정도 간단한 앱을 만들 수 있게 되었고, 틈틈히 회사 프로젝트 코드를 공부한 덕에 전체적으로 코드 구조나 아키텍처도 파악을 한 상태가 되었다.


그러자, 개발자로서 첫번째 프로젝트가 주어졌다. 회사 앱을 리뉴얼해야하는 작업이었는데, 전체적으로 메뉴 흐름도 조금씩 달라졌고, 디자인도 전반적으로 바뀌어 손볼 부분이 상당히 많았다. 처음 기획서를 받아봤을 때에는 잠깐 “내가 해낼 수 있을까”하는 의심이 들었다. 솔직히 말하자면, 자신이 없었다. 물어볼 수 있는 사수가 있는 것도 아니었고, 개발 과정에서 모든 고민과 결정은 오로지 나 스스로 해내야 했으며, 그 과정에서 경험할 수 많은 오류와 삽질들이 눈앞을 스쳐지나갔다.


하지만, 이 회사에서 이제 안드로이드를 할 수 있는 것은 나 뿐인걸. 홀로 클라이언트를 담당해내야했기에, 달리 선택지가 없었다. 무엇보다 여기서 자신이 없다고 돌아서면, 앞으로는 그 어떤 일도 제대로 해낼 수 없을 것 같다는 생각이 들었다. 잠시 들었던 의심을 거두고, “해내야지” 하는 생각으로 마음을 고쳐먹었다.


그날 이후 나는 본격 개발모드에 들어갔다. 회사에 가장 먼저 출근하여 가장 늦게 퇴근했고, 모르는 개념은 틈틈히 공부해가며, 마주하는 에러들도 하나씩 해쳐나가며 그렇게 한 달 정도를 보낸 것 같다. 당시에는 남자친구도 있었던 것 같은데, 주말에 데이트하는 중에도 카페에 가서 코딩을 했던 것 같다. (OMG 지금 생각하면 정말 최악의 연인이었구나) 비록 안드로이드 개발을 주력으로 하고 있던 것은 나 혼자였지만, CTO님과 다른 개발자 분들은 이미 10+년차를 달리고 계셔서 앱개발에 대한 기본적인 지식이나 아키텍쳐에 대한 지식들이 있어서 내가 풀리지 않는 문제를 공유하면 같이 고민하고 때로는 정말 기발한 해결책을 제안해주시기도 했다. 그렇게 혼자, 또 같이 고군분투하며 리뉴얼 작업을 마무리 해나갔다.


그렇게 대망의 첫 테스트 날이 되었다. 10년 이상 경력자였던 기획자님은 처음부터 나를 못믿어워하셨다. 그도 그럴 것이 안드로이드 개발을 해본적도 없는 애인데, 갑자기 들어와서는 개발자라고 하고 있으니, 얼마나 절망적이셨을까. 그 마음을 너무나도 이해했기에, 할 수 있는 최선을 다해 이번 작업을 잘 해내고 싶었다. 그 간절한 마음이 담긴 것일까, 테스트 용으로 빌드된 폰과 기획서를 이리저리 번갈아가며 보며 테스트를 하시던 기획자님은 꽤나 밝은 표정으로 개발팀으로 돌아오셨고, 결과물이 기대 이상으로 너무 좋다는 피드백을 주셨다.


개발자로 일을 시작하고 처음으로 동료로부터 인정받은 순간이었다. 비록 공유오피스를 쓰고 있어서 마음껏 티를 낼 수는 없었지만, 그때의 내가 얼마나 안도했는지, 얼마나 신났는지는 우리 팀 사람들에게 모두 전달되었을 것이다. 기획자님, 디자이너님, CTO님, 그리고 다른 동료들까지, 이 리뉴얼 작업 이후, 점차 나를 신뢰하고 있다는 것이 느껴졌다. 그렇게 나는 개발자가 되어가고 있었다.




첫직장에서의 1년을 돌아보며

비록 포지션 사기를 당하긴 했지만, 3년이 지난 지금, 다시봐도 그때의 그 결정에는 후회가 없다. 덕분에 나는 기획자, 디자이너, 백엔드 개발자와 긴밀하게 일하는 클라이언트 개발을 경험할 수 있었고, 사용자의 입장에서 서비스를 바라보는 눈을 키울 수 있었으며, 이후에 백엔드 개발을 할 때에도 클라이언트의 입장에서 생각할 수 있는 태도를 갖게 되었다.


1년차 말미부터는 회사의 시스템이 AWS 환경에서 다른 클라우드로 전부 이전을 해야했어서 덕분에 인프라 구축 업무를 맡게 되었고, 네트워크 전문가였던 이사님 옆에서 하나하나 자세히 배울 수 있었다. 결국에는 새롭게 인프라 시스템을 구축하고, 서버를 이전하는 일까지 진행해보는 경험할 수 있었다.


다만, 다시 그때로 돌아간다면, 나는 똑같이 그 회사에 입사를 했을까? 그럴 것 같지는 않다. 만약 다시 그때로 돌아가 선택할 수 있는 기회가 주어진다면, 나는 아래와 같은 결정을 하지 않았을까 싶다. (혹시 지금 국비교육을 듣고, 스타트업에 지원하려고 고민 중인 분이 있다면, 조금이나마 도움이 되었으면 좋겠다.)


1. 스타트업보다는 대기업에서 경력을 시작할 것이다.

당시에는 고연봉, 대기업과 같은 가치가 나에게 아무런 쓸모도 없었다. 나에게는 신념이 있었고, 스타트업에서 꼭 해보고 싶은 것이 있었다. 물론 지금도 고연봉, 대기업과 같은 타이틀은 나에게 별로 중요하지 않다. 그렇지만, 다시 돌아간다면, 첫 시작은 대기업에서 시작할 것 같다.


개발자로서 처음 일을 시작할 때에는 사실 연봉이나 복지가 중요한 것이 아니다. 내가 그 회사에서 얼마만큼 성장할 수 있느냐가 중요하다. 그것이 그 이후의 연봉이나 복지를 결정하기 때문이다. 대기업이나 큰 규모의 스타트업들은 이미 실력있는 개발자 동료들이 많고 기술을 같이 공부하고 고민하며 성장할 수 있는 좋은 환경이 갖추어져있다. 열정적인 동료들 사이에서 치열하게 개발하며 자신도 인지하지 못하는 사이에 어느새 성장해있다.


반면에 스타트업은 내가 할 수 있는 일의 범위는 넓어지고, 분명 대기업에서는 그 연차에 절대로 하지 못할 굵직 굵직한 경험들을 해볼 수 있지만, 그 일의 퀄리티에 대해서는 장담할 수 없다. 정말 스스로가 피나는 노력으로 퀄리티를 높이려는 노력이 필요하지만, 그것은 결코 혼자서 이룰 수 있는 것이 아니라고 생각한다. 혼자서 고민하는 시간이 많아지겠지만, 그 누구도 그 결정과 선택이 옳은지 그른지 이야기해줄 수 있는 사람이 없다. 스스로 부담감을 짊어져야한다. 내가 잘하고 있는지, 지금 성장하고 있는지 알 수 있는 방법이 많지 않다.


2. 컴퓨터 공학 기초를 다지는데 좀 더 많은 시간을 들였을 것이다.

컴퓨터 공학 기초 지식이 중요한 것은 알지만, 막상 개발을 배우다보면, 어느정도 언어와 프레임워크에 대한 간단한 지식만으로도 충분히 서비스를 만들어낼 수 있게 된다. 그러다보면, 애초에 “직장과 병행하며 컴공 기초를 쌓아가야지”했던 결심은 흐릿해지고, 회사일에만 몰두하게 된다.


하지만, 이왕이면 나는 개발을 배우는 그 시간에 언어와 프레임워크에 대한 지식 이외에 컴퓨터 공학 기초에 대한 지식도 어느정도 쌓고 회사일을 시작하는 것을 추천한다. 결국 우리가 하는 개발 자체가 전부 컴퓨터 위에서 이루어지는 것들이기 때문에, 개발에 대한 지식이 깊어질수록 반드시 컴퓨터 공학 지식에 대한 부족으로 길이 막히는 순간이 오게 된다. 그때 시작하기에는 범위도 많고 너무 일이 많아지므로, 개발을 처음 배우는 시기에, 그리고 초년차 시기에 컴퓨터 공학에 대한 지식은 웬만하면 탄탄하게 공부를 해두는 것이 좋다고 생각한다.


3. 회사에서 자아실현을 하려고 애쓰지 않는다.

나 같은 경우에는 확고한 신념이 있어서 회사의 개발팀 이외에 회사의 미션이나 서비스에도 큰 심혈을 기울여서 선택을 했다. 그런데 시간이 좀 지난 지금 생각해보니 사실 주니어에게 있어서 가장 중요한 것은 서비스 그 자체보다도 우선 개발자로서 멋지게 성장하는 것이 아닌가 싶다. 실력있는 개발자가 되면, 그 이후에는 내가 만들고 싶은 서비스를 만드는 회사에서 일할 수 있는 확률이 자연스럽게 올라가기 때문이다. 나는 너무 회사에서 나의 개인적인 자아실현까지 하려고 부단히 노력했다는 생각이 든다.


4. 내가 하고 싶은 포지션을 고집한다.

물론 제안받은 다른 포지션이 충분히 흥미롭고 본인이 하고 싶은 생각이 든다면, 모르겠지만, 만약에 하기 싫은데, 다시 취업준비하는 것이 귀찮아서 억지로 받아들이는 것이라면, 좀 더 고민해볼 필요가 있다. 물론 나는 안드로이드 개발에 관심이 있어서 개발 공부할 때에도 조금씩 해보긴 했지만, 명확하게 내가 관심있었던 것은 서버 개발이었다. 그래서 나는 회사일 이외에 남은 시간에는 백엔드 강의를 들으며 혼자서 틈틈히 개발을 해나갔는데, 어느 순간에는 내가 개인적으로 공부하는 것들이 회사 일에는 도움이 전혀 안된다는 생각이 들어서 현타가 오더라. 내가 개인시간에 공부하는 내용이 어느정도 회사일과 맞닿아있을 때, 그 공부는 의무가 아니라 재미가 된다. 해야하는 것이 아니라 그냥 이 공부를 통해 내가 일을 더 잘할 수 있게 되고, 팀에도 도움이 된다고 생각하면 꾸준히 공부할 힘이 생기게 된다. 그렇지 않은 경우에는 꾸준히 하기가 힘들어지는 것 같다.





무엇보다 시간은 생각보다 빠르게 흘러간다. 나중에 연차가 쌓이면 이동해야지, 생각하다가는 그냥 현실에 안주해버리기 쉽다. 이렇게 나는 개발자로 서서히 변해갔다. 그리고 이제는 내가 원래 하고 싶었던 그 개발을 하려는 여정을 서서히 준비하기 시작했다. 

매거진의 이전글 26살, 컴맹의 개발공부
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari