brunch

You can make anything
by writing

C.S.Lewis

by 주영재 Oct 28. 2018

IT취업 성공한 ‘문송’들 “생각보다 어렵지 않아요”

수학보다 논리적 사고가 더 중요, 노력한 만큼 결과 나와 만족스러워

 ‘문과생이라서 송구합니다’는 뜻의 ‘문송’. 취업의 문턱에서 좌절하는 문과생들의 자조 섞인 신조어다. 좁아진 취업 문 앞에서 문과생들이 마냥 넋 놓고 있지는 않다. 옛 전공을 발판 삼거나, 버리고 4차산업혁명의 시대가 요구하는 새로운 IT 능력을 키우는 사람들이 늘고 있다. 

 기업들은 인공지능(AI)과 데이터 과학, 블록체인 분야에서 인재 구하기 어렵다고 아우성이다. 카카오와 같은 기업들은 AI 개발자를 채용 인원이나 기한에 제한을 두지 않고 상시 모집하고 있다. ‘스펙’보다 실무 기술을 갖춘 인재를 선호하면서 블라인드 채용도 확대되고 있다. 

 IT 분야에서 전공을 가리지 않는 채용이 확산되면서 문과 출신 구직자들에게도 기회의 문이 넓어졌다. 그렇다면 비전공자들이 IT 기업에 취업하기 위해 무엇을 해야 할까. 경향신문은 프로그래머로 취업에 성공한 비전공자 4명을 인터뷰해 가상의 대담 형식으로 정리했다. 이들은 모두 IT 분야에서 재미와 적성을 발견해 적극적으로 작은 것부터 만들어가면서 실전 경험을 쌓은 이들이다.

 중견 게임업체 게임빌에서 모바일 게임 프로그래머로 일하는 이영민씨(27)는 경영학과 출신으로 컴퓨터 공학을 복수 전공했다. 블록체인 스타트업 블로코xyz에서 프런트엔드 개발을 맡은 이근환씨(28)는 실용음악 전공이다. 류성두(27)·김희진씨(26)는 각각 철학과 한문교육·중어중문을 전공했다. 두 사람은 현재 번역 플랫폼 ‘플리토’에서 개발자로 일하고 있다. 

 이들은 모두 간단한 프로그램이라도 직접 만들어보는 것을 권했다. 적성을 파악하고, 실력을 키우는데 큰 도움이 된다는 것이다. 공부한 과정을 블로그나 유튜브 등에 기록으로 남기는 것도 좋다고 했다. 그 자체로 공부가 되지만 취업 과정에서 자신의 열정과 역량을 보여줄 수 있는 자료가 되기 때문이다. 


-원래 전공 대신 개발자로 일하게 된 계기가 있다면?

이영민=게임을 만드는 것에 어릴 때부터 관심이 있어 재미로 플래시 게임을 독학으로 만들기도 했다. 그러다 우연한 기회에 컴퓨터공학 전공인 친구의 과제를 도와줬더니 그 친구가 ‘너 이쪽에 적성이 맞는 거 같다’고 이야기했다. 그 얘길 듣고 대학 3학년 때부터 컴퓨터공학을 복수전공했다. 학점이 모자라 계절학기도 들어야 해 몸은 힘들었지만 즐거웠다. 너무 재밌어서 먹는 시간, 자는 시간 빼고 공부라는 자각도 하지 못하고 파고들었다. 고민할 필요가 없었다. 게임도 좋아하지만 프로그래밍 자체를 좋아한다.

이근환=보컬을 하다가 성대 결절이 걸린 적이 있었다. 목이 악기라 아무것도 못하고 있을 때 개발자인 동생이 코딩 공부를 권했다. 유망하다고 하는데 해보니 음악보다 재밌었다. 음악을 공부해 이해하는 것보다 코딩 공부해 개발하는 게 더 빨랐던 거 같다. 나에게 재능이 있나 생각하고 공부하다 보니 점점 맞는 거 같다는 확신이 들었다. 컨디션에 따라 좌우되는 게 아니라 노력에 따라 결과가 나온다는 점이 마음에 들었다.

류성두=대학 2학년 때부터 프로그래밍을 공부했다. 철학과를 다니면서 원래는 학자를 하려 했지만 철학으로 돈을 벌 수 있는 길이 없으니까 기술을 배워야겠다고 생각했다. 프로그래밍은 철학과 입장에서 제로에서의 시작은 아니다. 프로그래밍의 많은 개념이 철학에 기반하고 있다. 모두 기호 논리학이라 논리학을 어느 정도 공부하면 굉장히 익숙한 개념이 많다. 프로그래밍은 추상화의 기술이고 추상적 용어 자체가 많다. 예를 들어 ‘객체’(object)나 ‘모나드’(Monad) 같은 단어들을 컴공과 친구들은 ‘이걸 왜 객체라고 부르지’ ‘모나드가 뭐야’라며 어려워한다. 이런 배경지식이 있어서 쉽게 이해할 수 있었고, 그나마 제로부터 시작하지 않는 기술이란 차원에서 프로그래밍을 해야겠다고 생각했다. 

김희진=한문교육 전공이라 4학년 때 교생을 나갔다. 한문을 야사로 접하면서 재밌게 배운 기억이 있는데 요즘 한문 수업은 그렇지 않다. 학생들이 지루해하고 자는 과목이 된 것이 너무 안타까웠다. 한문 수업도 이야기로 풀어낼 수 있는 콘텐츠 플랫폼이 있으면 거부감을 낮출 수 있지 않을까 생각해서 개발을 처음 생각하게 됐다. 게임을 좋아해 게임 프로그래머에 대한 선망도 있었다. 그래도 처음엔 한문·중국어를 전공했으니 무역 쪽으로 취업을 준비했다. 적성에 안 맞았다. 서류 통과도 힘들었는데 무엇보다 인턴을 하는 과정에서 보수적이고 비효율적인 기업 문화에 실망했다. 어차피 이쪽 분야로 취업하려 해도 여러 자격증을 따야 하고 어렵다면 제가 좋아하는 걸로 힘들어보자는 생각으로 아예 진로를 바꾸게 됐다.


-비전공자라 배우기 어려운 점은 없었나?

이영민=본래 컴퓨터 전공으로 들어온 사람도 적성이 맞지 않아 힘들어하는 걸 봤다. 이과여도 적성에 안 맞을 수 있다. 같은 (게임빌 와플) 스튜디오의 제 사수도 문과 출신이다. 은근히 문과 출신이 많고 잘 하고 있다. 그런 분들 보면 문·이과 상관없이 적성이 중요하다고 본다.

이근환=처음에는 무슨 말인지 몰랐다. 자바스크립트 책을 보고 무작정 따라 해 봤다. 이건 나의 길이 아니라는 생각도 들었다. 그럼에도 불구하고 꾸준히 하니 어느샌가 자고 일어나면 이해 안 된 게 이해되고 그랬다. 재밌다고 생각했고 그때부터 잘 안 돼도 책을 덮기보다 더 들여다보려 했다. 낯선 걸 볼 때 뇌가 낯설어하는 과정에서 포기하면 그만두게 된다.


-어떻게 공부했나?

이영민=요즘은 인터넷이 잘 되어 있어서 IT 쪽은 구글링으로 검색하면 웬만한 강의는 다 나온다. 파이선도 (무료 온라인 사이트인) 생활코딩에서 배울 수 있다. 시험 삼아해 보는 정도면 인터넷에서 검색해 배우고 좀 더 본격적인 지식이 필요하다고 하면 그때 책을 사고 기본적인 언어 지식은 굳이 책을 살 필요는 없다고 본다. 좀 더 심화된 건 필요하지만

이근환=처음에는 생활코딩에서 HTML, CSS, 자바스크립트를 배웠고 제이쿼리(jQuery), 프레임워크 등을 배웠다. 3~4개월 독학을 하고 좀 더 깊이 공부하고 싶어서 학원도 다녔다. 취업이 안 되는데 도전해볼까 해서 바로 학원에 가면 따라가기 어렵고 흥미를 잃기 쉽다. 

류성두=대학 다닐 때는 독학을 했다. 그 당시부터 코세라, 유다시티에 여러 강좌가 있어서 프로그래밍 입문에 어려움이 없었다. 프로그래밍에 입문하는 길은 간단한 걸 만들며 입문하는 방법과 컴퓨터공학과처럼 이론부터 시작하는 두 가지다. 처음에는 이론은 얕지만 금방 뭔가 만들 수 있는 식으로 공부했다. 제대 후 본격적으로 개발자를 할 거라면 지금부턴 컴공과 학생들이 듣는 기초소양을 알아야겠다고 생각해 그쪽으로 책을 보며 독학했다. 

정보처리기사 자격증도 많은 사람들이 아무짝에 쓸모없다고 하지만 비전공자 입장에서 뭘 공부해야 하는지, 어떤 게 중요한 지식인지 알기 어려울 때 가이드라인 역할을 한다. 자격증만 따려는 공부는 아무것도 남지 않지만 1년 정도 열심히 공부하면 정말 아주 중요한 지식들이 담겨 있다. 

김희진=처음에는 국비 교육을 받았는데 한국 IT 회사의 부정적 측면만 봤다. 알게 모르게 성차별도 당해 좋지 않은 기억도 많았다. 그때 실망하고 좌절할 뻔했는데 그때 패스트캠퍼스를 추천받아 마지막이라는 생각을 하고 들었다. 스타트업을 알게 되고 개발에 대한 인식이 바뀌게 된 계기였다. 옛날 기술이 아니라 요즘 현업에서 쓰는 기술 위주로 가르쳐 취업에 유리했다. 학원에서 공부한 기간은 3개월 반 도였다. 단기 과정이라 다른 비전공자들이 적응을 못하고 나가는 사람들도 많았지만 독학을 어느 정도 한 상태라 상대적으로 수월했다. 

개발자들은 커뮤니티 활동이 활발한 편이라 장고걸스 커뮤니티나 파이선 커뮤니티에서 하는 스터디에도 열심히 참여했다. 다른 회사 스터디에도 참여했다. 적극적이지 않으면 힘들다. 원래 그런 스타일이 아니었는데 궁지에 몰리니 그렇게 되더라. 꾸준히 프로젝트를 진행했는데 이것도 혼자 하기보다 다른 사람과 공유하면서 하는 게 더 많이 배울 수 있다. 


-학습 과정을 기록으로 남기는 게 왜 중요한가

류성두=프로그래밍은 내가 잘 이해했는지 확인하기 위해 직접 코드를 짜면 되지만 CPU의 동작원리와 같은 이론은 책을 읽는 것만으로 내 지식이 되었다고 확신할 수 없다. 어떻게 배운 걸 확신할까 고민 끝에 내가 배운 걸 유튜브 강의로 만들었다. 반응이 좋았다. 컴퓨터공학과 학생들이 많이 들었는데 시험기간에 조회수가 쭉 올라갔다가 내려가는 식이었다. 

블로그든 유튜브든 내가 이런 걸 알고 있다 확신을 줄 수 있는 매체가 필요하다. 면접만으로는 확신을 줄 수 없다. 블로그나 유튜브 링크를 주면 이 사람들이 한 시간 대화한 것보다 나에 대해 더 많이 알 수 있고, 이 사람이 어디까지 공부했는지 확실히 알 수 있어서 내가 배운 것을 기록으로 남기는 게 중요하다. 실제로 많이 추천하는 학습 방법이 오늘 배운 걸 그날그날 일기처럼 적어놓고 블로그에 올리는 것이다. 특히 깃허브(Github)에 많이 올리는데 코드는 물론 문서도 공유할 수 있다. 내가 배운 걸 매일 올리면 그래프가 그려진다. 꾸준함을 홍보할 수 있고, 최소한 이것들은 안다, 정말 중요한 건 안다고 보여줄 수 있다.

김희진=이 분야에 내가 얼마나 관심이 있고 얼마나 잘 활용할 수 있는지 적극적으로 보여줘야 한다. 그래서 기술 블로그를 만들어 공부한 내용을 정리해 놓았다. 사람들 모아서 스터디를 할 때도 그 내용을 정리해서 올렸다. 그런 부분들을 면접관들이 좋게 봤다. 


-적성이 맞는지 어떻게 알 수 있나?

이영민=이건 해봐야 한다. 처음 어느 정도 해보면 이게 재밌구나 적성에 맞는구나 보인다. 간단한 거라도 직접 만들어 보는 게 중요하다. 이게 안 돼도 올 순 있지만 내가 괴로울 것이다. 오래 할 일이면 내가 하고 싶은 걸 해야 한다. 

잘 안된다의 문제보다 해보면 계속해보고 싶고 안 되면 왜 안되지 파고들고, 적어도 그런 생각이 들어야 한다. 잘한다 못한다를 떠나 즐겁냐 아니냐를 따져야 한다. ‘짠 대로 굴러가는데 너무 좋더라’라는 걸 이해 못하는 사람은 다른 쪽을 알아봐야 한다.

이근환=독학으로 간단한 거 하나라도 구현해보면서 재밌는지 먼저 파악하고 발을 디디면 좋을 거 같다. 만들어보는 과정에서 추가적으로 학습해야 하는 상황이 분명히 발생한다. 이때 결과물이 좋지 않아도 끝까지 만들고, 문제를 해결하려는 자세가 중요하다. IT 업계에서 일할 때도 마찬가지다.

김희진=처음에 어렵다고 생각해도 흥미를 느끼는 게 중요하다. 흥미를 느끼려면 직접 작은 단위의 프로젝트를 만드는 게 중요하다. 그래야 욕심도 생기고 개발이 적성에 맞는지 알 수 있다. 


-프로그래밍 언어로 뭘 만들었나?

이근환=그래픽 디자이너인 여자 친구가 프로필 페이지가 있으면 좋겠다고 해서 부트스트랩을 이용해 만들었다. 웹호스팅을 처음 해서 다른 사람이 볼 수 있게 띄웠을 때 아 이렇게 만들면 되겠구나 했다. 그다음에는 블로그를 만들었다. 감정을 기록하는 일기장으로 썼는데 전보다 실력이 조금씩 늘어나는구나라고 느꼈다. 간단하고 별 것 아니지만 뭔가를 만들면서 묘한 쾌감과 더 대단한 걸 만들어보자는 자신감을 얻었다. 학원을 다닐 때 개인 프로젝트로 쇼핑몰 사이트를 만들었다. 결제 기능까진 넣지 못했지만 쇼핑몰에서 필요로 하는 기본적 기능을 구현했다. 음악을 하던 애가 빨리 성장한다고 관심을 가져주니 거기 부응하려고 더 열심히 했다.

류성두=이론적 깊이 없이 실용적으로 이것저것 만들었다. 철학과 도서관의 무인 대출 시스템도 만들었다. 당시는 아주 널리 쓰이고 있던 리눅스, 아파치, MySQL, PHP 등 네 가지 도구를 갖고 데이터를 쓰고 저장하고 읽을 수 있도록 했다. 같은 프로그램을 다른 언어로 만들어 보기도 했다. 만들다 보면 문제도 생기고 나중에 이론을 공부하면 내가 바보 같았다고 발견할 수도 있다. 하지만 오히려 처음의 바보 같은 실수들을 많이 해보는 게 좋았다. 이게 왜 나쁜지, 어떻게 최악으로 갈 수 있는지를 알 수 있고 좋은 습관들을 더 와 닿게 받아들일 수 있다.

김희진=학원 수업이 끝난 후 한 달 정도 더 개인 프로젝트를 한 후 취업했다. 당시 배운 프레임워크와 언어를 최대한 써서 만들 수 있는 게 뭘까 고민하다 중고서점 플랫폼을 만들었다. 구매까지는 아니지만 검색하고 댓글을 달고, 댓글이 달리면 알람이 오는 부가적 기능들을 넣었다. 배우긴 했지만 자세히 들여다보지 않은 개념들을 되짚어보자는 취지였다. 능동적으로 코드를 짜는 과정이 보람차고 재밌었다.


-어떤 프로그래밍 언어를 배우면 좋을까?

이영민=파이썬을 추천한다. 프로그래밍 자체를 빠르게 경험할 수 있는 게 중요한데 파이선은 그 자체가 꽤 세기도 하지만 배우기 쉽다. 보통 학교 전공은 C++로 하는데 이건 가볍게 하기엔 힘들어서 접근성이 낮다. 파이썬은 외국에서도 교육용으로 쓸 정도라 맞보기로 할 수 있다. 그걸 해보고 적성이 맞으면 본격적으로 산업에서 많이 쓰는 언어로 공부해보면 좋다. 그 시점에서 어느 정도 학습 방향을 알려주는 학원을 다니는 것도 좋다.

류성두=C냐 파이썬이냐 하는데, 프로그래머가 배워야 할 단 하나의 언어가 있다면 영어다. 영어만 있다면 두렵지 않고 영어가 안된다면 아무것도 할 수 없다. 일선에서 개발자로 취업하면 한국어로 된 자료가 절대적으로 부족하다. 애플의 모바일 운영체제 최신 버전 iOS12가 나왔는데 애플이 설명을 한국어로 알려주지 않는다. 전 iOS 개발자라 애플에 심사를 의뢰하면 애플이 이런저런 가이드라인에 위배됐다며 거절한다. 이런 과정이 영어로 진행된다. iOS 프로그래밍 언어로 스위트프를 쓰는데 스위프트의 가이드라인에는 “스위프트를 쓸 때 문법적으로 완벽한 영어 문장이어야 한다”는 내용이 있다. 영어의 구조, 문맥, 단어들에 대한 이해가 프로그래밍에 실질적으로 중요해 영어에 자신이 없는 분들이 프로그래머로 전환하는 것은 굉장히 위험하다. 거꾸로 말해 영어에 자신 있다면 문이 굉장히 많이 열려있다. 배울 수 있는 자료가 많다. 프로그래머들은 다 공감한다.

정작 프로그래밍 언어들 간의 차이는 한국식 영어냐 미국식 영어냐 정도의 사소한 차이다. 다만 초보 입문자들에게는 파이썬이나 자바스크립트를 추천한다. 개발환경 설정이 쉽기 때문이다. 프로그래밍 코드를 쳐보지도 못하고 포기하면 안 되니까. 자바스크립트는 심지어 아무것도 설치할 필요가 없고 웹브라우저만 키면 된다.


-현재 하고 있는 일은?

이영민=‘엘룬’이라는 신규 수집형 알피지 모바일 게임 프로젝트에서 클라이언트 프로그래머를 맡고 있다. 

이근환=퍼블리싱과 클라이언트 쪽을 개발하고 있다. 웹에서 접하는 화면이 클라이언트 사이드인데 로그인할 때 아이디와 패스워드 값을 입력할 수 있는 입력창과 같은 사용자 인터페이스(UI)를 개발한다. 

류성두=인공지능 번역은 대응되는 언어 간에 말뭉치가 있어야 기계학습을 시킬 수 있다. 번역 수준이 급격히 안 올라가는 이유 중 하나가 데이터를 구하기 어렵기 때문이다. 예를 들어 한국어-영어 말뭉치는 많지만 한국어-베트남어 같은 소외된 언어 쌍은 데이터 구하기 자체가 어렵다. 우리 회사는 그런 데이트를 구하고 파는 플랫폼 역할을 하고 있다. 이런 플랫폼을 아이폰에서 쓸 수 있도록 앱을 개발하는 게 내 역할이다.

김희진=플리토 번역 플랫폼의 데이터베이스나 서버 인프라를 다루는 일을 하고 있다. 회사 내부의 관리자 시스템과 자동화 시스템을 중점적으로 다루고 있다.


-커리어 전환에 얼마나 걸렸나?

이근환=9~10개월 걸렸다. 생각보다 길게 공부하는 분들이 있는데 운이 좋았다. 모든 걸 준비하고 도전하려고 오래 공부할 필요는 없다. 사실 부족해도 회사는 가능성을 보고 뽑는 경우도 있어서 모든 걸 완벽하게 갖추기보다 기본을 갖추는 게 중요하다. 방향성을 잡으려면 혼자 공부하는 것보다 많은 사람들에게 물어보는 게 중요하다. 주변에 IT 개발하는 분들이 있다면 잘 활용해야 한다.


-IT 교육기관들의 광고가 요즘 자주 보인다. 학원을 다닐 필요가 있을까?

류성두=나의 경우 다른 누군가와 눈을 마주치며 배우고, 사람으로부터 검사받기 위해 학원을 수료했다. 근데 학원들이 마치 몇 개월 강의를 들으면 훌륭한 개발자가 될 수 있다고 하는데 그렇지 않다. 정말 좋은 선생님을 만나서 정말 열심히 수강하면 그럴 수 있지만 변수가 많다. 특히 iOS나 안드로이드 시장은 빨리 변하기 때문에 학원에서 가르친 내용만으로는 위험부담이 많고 최소한 6개월~1년은 기초소양 공부를 하는 게 좋다. 

한편 이 업계가 굉장히 빨리 돌아가고 매일 새 기술이 나오고 새롭게 바뀌는 거 같지만 실무에 적용되는 컴퓨터의 원리 자체는 1940년대 이후로 바뀐 게 없다. 그래서 기초 소양이 튼튼하면 오히려 이 업계야 말로 가장 변하지 않는 업계라고 할 수 있다. 피상적인 빙산의 일각만 보면 굉장히 빨리 변하는 거 같지만 그 밑의 원리는 전혀 변하지 않아서 기초 소양이 튼실하면 오브젝트 C든, 스위프트든 클라이언트나 서버든 무엇이든 쉽게 받아들일 수 있다.


-채용까지의 과정이 궁금하다. 코딩 테스트는 어땠나?

이영민=세 군데에 지원했다. 서류를 통과하면 코딩 테스트와 면접을 봤다. 코딩 테스트에서는 기본적인 수학 지식이 필요했다. 시계가 몇 시 몇 분 일 때의 시침과 분침의 각도를 구하는 프로그램을 짜라. 이건 삼각함수를 알아야 한다. 게임 속 몬스터와 나의 방향벡터가 주어지고 몬스터를 때렸을 때 대미지가 두배가 되도록 만들려면 벡터 연산이 필요하다. 

코딩 테스트의 경우 진짜 베이스를 물어본다. 그러니 최신 트렌드를 굳이 쫓아갈 필요는 없다. <알고리즘 문제 해결 전략>(구종만·인사이트) 같은 유명한 책들은 연식이 오래됐지만 그만큼 기초가 보장된 거니 그런 책으로 준비를 하면 좋다고 생각한다. 

류성두=시험문제는 무한히 스크롤할 수 있는 앱을 24시간 안에 만드는 것이었다. 트위터처럼 복잡하진 않지만 어떤 앱에서도 쓰이는 간단한 구조였다. 다른 회사는 아주 어려운 알고리즘을 묻는 회사도 있었고 아예 코딩 테스트 없어 컴퓨터공학 지식만 물어보는 회사도 있었다. 중요한 알고리즘 문제는 최소한 한 번씩은 풀어야 하지만 수학 문제 풀듯 할 필요는 없다고 생각한다. 


-비전공자의 지원을 면접관들은 어떻게 봤나?

이근환=선택한 길이 맞는 거 같고 잘할 수 있다고, 있는 그대로 대답했다. 1~2년 뒤 제 모습은 다를 것이다. 오늘보다 내일은 다른 모습을 보일 수 있을 것이라고 답했다.

류성두=사실 지금 회사에 취업하기까지 걱정이 많았다. 면접관들은 당신이 능력 있어 보이고 답변도 잘 했는데 확신이 안 선다고 했다. 굉장히 특이한 경력이라 우리와 잘 어울릴 수 있을지 확신이 안 선다는 말을 몇 번 들었다. 그런 회사들에는 불합격했다. 처음 좌절을 했다. 그래서 기초 이론 수업을 열심히 배워 동영상을 찍었다. “난 비록 문과생이지만 컴퓨터공학도들이 아는걸 다 알고 있다”라고 알렸다.

 

-문과·이과 출신 개발자의 차이점이 있다면?

이명민=문과 출신이면 실력이 떨어지지 않을까 생각하는 분들이 있는데 프로그래머로서의 능력은 취직으로 검증됐고 그 시점에서는 문·이과를 나누는 것이 의미가 없다고 생각한다. 문·이과의 차이보다는 개인차로 봐야 한다. 다만 팀 프로젝트를 많이 하는데 경영학과에서 발표를 많이 한 것이 장점으로 작용하고 있다. 

이근환=생각하는 건 크게 다르지 않다. 오히려 다 똑같은 거 같다. 다만 그 사람들이 좀 더 정형화되고 효율적인 방법을 많이 안다는 정도다. 비전공자라 많이 공부하고 따르려고 한다.

류성두=개발자는 기획을 하던가 기획을 읽고 이해해야 하고 소통하고 디자이너와 협업해야 한다. 그래야 제대로 된 앱을 만들 수 있고 그렇기 때문에 컴퓨터공학만 전공한 사람에 비해 문과 출신이 커뮤니케이션 능력에선 장점을 가질 수 있다고 생각한다. 채용 때도 그랬고, 많은 개발자 선배들이 이구동성으로 제일 중요하다고 말하는 게 커뮤니케이션 능력이다. 프로그래밍 자체도 그 본질은 문서작업이다. 다른 프로그래머가 볼 때 술술 읽혀야 하고, 기획자가 워드로 친 내용이 그대로 들어가야 한다.


-수학을 공부해야 하나?

이영민=전 수학을 안 좋아한다. 논리적 사고가 중요하지 수학이 많이 필요한 것은 아니다. 필요하다곤 해도 엄청 어려운 수학이 필요하진 않다. 확실히 기계공학보다 수학이 안 들어간다. 문과 중에서도 경영·경제는 컴퓨터공학보다 수학을 많이 쓴다. 그런 쪽에 있는 분들이라면 수학이 아예 낯설지 않으니 이 분야를 생각해도 나쁘지 않을 것 같다. 

그러나 벡터 연산과 행렬 연산 등 진짜 베이스는 갖출 필요가 있다. 처음엔 안 쓰여도 나중에 심화되면 쓰기 때문이다. 특히 인공지능이나 빅데이터, 요즘 인기 있는 딥러닝 쪽은 수학을 잘해야 한다. 수학이 싫어 문과에 왔다면 이 분야는 크게 추천하지 않는다.

김희진=나도 수포자인데 수포자도 가능하다. 게임 개발자나 데이터 사이언스 같은 고차원이 아니라면. 다만 다들 코딩 테스트를 보기 때문에 알고리즘 관련 공부가 필요하다. ‘프로그래머스’라는 플랫폼에서 알고리즘 문제를 풀고 다른 사람들이 어떻게 푸는지 보면서 공부했다.


-회사 생활은 어떤지?

이영민=야근이 심한 편은 아니다. 물론 게임사 특성상 업데이트를 하거나 (소스 코드를 실행 가능한 소프트웨어로 만드는) 빌드하는 날에는 늦게까지 있을 수 있다. 그런 날에도 밤 12시까지 집에 못 갔다면 오전에 쉬게 한다. 전체적으로 게임회사의 분위기는 프리 하다. 커트라인까지 일만 끝내면 간섭하지 않고 퇴근해서도 진짜 급한 일 아니면 개인 생활을 침해 안 한다.

이근환=입사만 하면 개발을 손쉽게 뚝딱뚝딱할 줄 알았는데 시행착오를 거치면서 성장하는 건 예전과 같다. 개발자가 돼도 한결같은 자세로 항상 공부해야 한다.

류성두=지금 7개월 정도 지났다. 생각보다 훨씬 만족하고 재밌게 다니고 있다. 다만 책임감이 더 크게 느껴지는 부분이 있다. 아이폰 개발자는 버그가 들어간 앱을 배포해 이를 알고 수정하기까지 승인과정 때문에 시간이 며칠 정도로 오래 걸린다. 웹프로그래머는 본인이 고치면 바로 반영된다. 근데 한편으로 우린 바로 고칠 수 없으니 일단 퇴근한다. 심지어 인간관계에서 오는 스트레스도 적다. 그건 놀랐다. 팀원들끼리 거의 말을 안 한다. 회의를 아침마다 10분씩 하는데 그걸 제외하면 굳이 말할 경우가 없다. 간혹 질문을 할 때가 있지만 거의 대화하지 않는다. 그래선지 사람과 부딪히는 일도 적다. 야근은 지금까지 딱 한 번 했다.

김희진=야근은 필요하다고 생각하면 스스로 남아서 하는데 일에 대한 압박은 심하지 않은 편이다. 상하의 수직적 관계가 없고 성차별을 받은 적도 없다. 


-요즘 공부하는 분야가 있다면?

이영민=IT 업계 특히 게임 쪽은 계속 공부해야 한다. 요즘 퇴근을 일찍 하면 집에서 클라이언트나 서버, 백엔드, TCP/IP(인터넷 통신 프로토콜) 공부를 한다.

류성두=아이폰 개발을 하고 있지만 사실 굉장히 위험한 경력이라고 생각한다. 애플이 망하면 끝나기 때문이다. 애플이 망하겠냐 생각하는 사람도 있지만 기업은 언제든 망할 수 있고, 애플이 망했을 때도 경력을 있어갈 수 있도록 단순히 아이폰 개발자가 아니라 모바일 개발자가 되어야겠다고 생각하고 모바일 웹 개발을 공부하고 있다. 

김희진=현업을 위한 공부를 하고 취업한 상태라 좀 더 어려운 기술에 접근할 때 진입장벽을 느끼고 있다. 그래서 요즘 기초를 다지는 공부를 하고 있다. 


-비전공자로 IT 업계 취업을 희망하는 사람들에게 전할 말은?

이근환=꿈이 있다면 도전해보는 것도 좋다. 근데 무모한 도전이 되지 않으려면 충분히 알아보고 간단히 학습해보고 도전해보는 게 좋다.

김희진=대기업을 바라는 눈높이라면 잘 모르겠지만 개발자는 취업이 잘 된다. 스타트업에서 나쁘지 않은 연봉과 복지 혜택을 받고 만족하면서 계속 자기 발전을 해 더 나은 회사로 이직하고 싶은 사람에게 추천한다.




5주 코스 끝나면 입문자, 온라인 교육부터 도전을

데이터 사이언스 기초 수업 들어보니


 “5주간 공부하면 머신러닝(기계학습) 공부의 출발점에 설 수 있습니다. 그냥 서는 게 아니라 다리 근육이 튼튼해지고, 단단하게 출발할 수 있는 상태에서 입니다.”

 지난달 29일 서울 강남역 인근의 정보기술(IT) 교육기관 패스트캠퍼스에서 ‘머신러닝 왕초보를 위한 수학 기초’ 강의의 첫 수업을 들었다. 강사 조준우씨는 “머신러닝에 필요한 수학 강의를 대학 이외의 공간에서 하는 것은 최근의 일”이라며 앞으로 5주 간 들을 수업의 대강을 설명했다.

 수업은 머신러닝을 이해하기 위한 수학 기초와 파이썬 기초문법을 함께 다룬다. 파이썬은 카카오톡이나 PC게임 문명4, 페인트샵프로 등 여러 소프트웨어 개발에 사용된 프로그래밍 언어로 웹 개발, 데이터 분석, 머신러닝 등 쓰임새가 많아 사용자 층이 빠르게 확산되고 있다.

 강사는 “머신러닝은 넓은 의미로는 컴퓨터를 이용해 문제를 해결할 때 지식기반, 규칙 기반 방법이 아닌 데이터와 범용 알고리즘으로 퍼포먼스를 개선하는 방법”이라며 “좁게는 주어진 데이터를 가장 잘 표현하는 함수를 찾는 것”이라고 설명했다. 

 머신러닝의 한 유형인 지도 학습을 이해하는데 필요한 선형 회귀에 대한 설명이 이어졌다. 선형 회귀란 X와 Y축의 2차원 평면 상에 여러 점(데이터)이 있을 때 그 점들 사이의 관계를 가장 잘 표현하는 직선을 찾는 것이다. 

 컴퓨터에서 이 직선을 찾는 문제를 해결하는 파이썬 코드는 아래와 같은 단 3줄이다. 

 for i in range(num_iters) : 

    #           이 부분에 미분과 선형대수의 개념이 있음

    c = (1/n) * np.dot(X.T, np.dot(X,w) - y)

    # 이 부분에 최적화의 개념이 있음

    w -= alpha * c

 강의 자료에 있는 이 암호 같은 글자들과 수식을 이해하는 것이 수업의 목표 중 하나다. 그림을 그리거나 작곡을 하는 등 어마어마한 일을 하는 인공지능의 코드도 길어야 100~300줄 사이라고 했다.

 머신러닝을 배우기 위해서는 미분과 적분, 확률과 통계, 선형대수 같은 수학 지식이 필요하다고 한다. 조씨는 “유료 오프라인 강의에서 차별화된 내용을 전달하기 위해 고민을 많이 했다”며 “3주 차 미분을 컴퓨터에서 구현하는 것과 4주 차 최적화(경사 하강법)는 꼭 이해할 내용”이라고 말했다.

 강의실엔 16명 정도 되는 인원들이 모였다. 몇 명이 살짝 늦긴 했으나 결석한 사람은 없는 듯했다. 수업은 원래 매주 토요일 오후 2시~5시 동안 진행되는데 첫날은 4시간 강의라고 했다. 전체 수업의 4분의 3까지는 그다지 어렵지 않았는데 행렬의 덧셈을 파이썬 코드로 바꾸는 부분에서부터 갑자기 이해불가의 영역으로 접어들었다. 이해가 안 되는 것과 비례하게 졸음의 강도가 커졌다. 하지만 주변을 둘러보니 졸려하는 사람은 나뿐인 듯했다. 

 기초 강의인데 다들 어느 정도 알고 온 사람들은 아냐? 수학이 싫어 문과를 택한 나 같은 처지의 사람은 없는 건가? 수업을 따라가지 못한 열패감을 합리화했지만, 애초에 기사를 쓰기 위해 참관한 사람과 취업을 위해 혹은 경력 전환을 위해 비싼 수업료를 내고 온 사람들과는 준비 정도나 자세가 다를 수밖에 없었다. 

 이들 중에는 나처럼 수학이나 컴퓨터 공학과 관련한 지식이 얕은 문과생들도 있을 것이다. 하지만 모두 ‘문송’을 탈출하기 위한 필사의 노력을 하고 있음에 틀림없다. 강사는 수강생들 전공을 다 알아보진 않았지만 아마 절반 이상은 될 거라고 짐작했다. 하지만 수강생 사이에는 문·이과라는 구별을 넘는 다양성이 있다. 조 씨는 “수강생 계층은 다양해 나이 지긋하신 사장님도 계시고, 웹 개발자분들도 있다”며 “깜짝 놀란 건 나이가 꽤 있으신데 굉장히 열심히 하시는 분들이 기수마다 두세 분씩 있다는 것”이라고 말했다.

 서류 통과하기 조차 어렵고, 힘들게 들어가도 AI가 지배하는 미래에 소멸 위기에 처한 사무직군보다 장래성 있는 IT 개발자는 매력적인 직업이다. IT 스타트업들의 자유로운 업무 환경도 구직자들이 경력 전환을 꿈꾸는 이유다.

 패스트캠퍼스와 같은 IT 교육기관들은 ‘문송’을 비롯해 직업 전환을 원하는 이들이 몰리면서 성업하고 있다. 패스트캠퍼스의 매출은 설립 첫해 10억 원에서 지난해 120억 원으로, 연간 수강생은 같은 기간 1344명에서 1만 6500명으로 증가했다. 취업률은 89.0% 정도로 좋은 편이다. 

 그러나 현업 개발자·강사는 IT 분야 취업을 위해 무조건 오프라인 학원 강의를 찾기보다는 우선 온라인 교육 사이트를 이용할 것을 권장했다. 해외의 대표적인 온라인 강좌 교육 플랫폼(MOOC·Massive Online Open Course)으로 코세라(coursera)와 유다시티(udacity), 유데미(udemy) 등이 있다. 국내에선 네이버와 커넥트 재단이 제공하는 에드위드(edwith)를 비롯해 생활코딩, K-MOOC 등이 있다. 유튜브에도 외국 대학교와 온라인 실력자들이 많은 콘텐츠를 올리고 있어 영어가 되면 적극 이용하면 좋다. 

 다만 독학을 할 경우의 문제는 지식 습득 순서나 범위를 파악하기 힘들다는 점이다. 조씨는 “외부 전공자들이 타전공 또는 타 분야로 진입할 때 전문 지식의 습득 자체보다 그 분야의 전반적인 히스토리와 업계 전문가가 알고 있는 지식의 수준 등을 가늠하는 것이 더 어렵다”며 “무엇부터 공부해야 할지 어디까지 알면 되는지를 알지 못하는 것이 제일 큰 문제인데 이런 부분을 오프라인 사설 학원에서 해결해 나가는 것이 한 방법”이라고 말했다. 수요자 중심으로 교육을 진행해 고전적인 정규 교육 기관보다는 교육과정이 실용적인 것도 장점이라고 덧붙였다.

매거진의 이전글 삭제 불가능한 블록체인, 개인정보 보호할 수 있을까
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari