프로그래밍이 좋아서 전공을 포기하겠다고?

SHARE

Last updated on 1월 25th, 2021 at 05:31 오후

필자가 최근에 기고한 “소프트웨어 개발자 되기까지”를 읽고 많은 취업 준비생들이 메일을 보내왔다. 대부분 프로그래밍 공부를 하고 있는 학생들이었고, 앞으로의 진로에 대해서 많은 고민을 하고 있었다. 그 중에 기억에 남는 메일이 하나 있다. 아마 비슷한 고민을 하고 있는 친구들이 많을 것이고, 필자가 보낸 답 메일이 그 분들에게 도움이 되지 않을까 하는 마음에 글을 쓰기 시작하였다.

편지를 보내온 분은 현재 통계학과 3학년이라고 자신을 소개하면서, 작년부터 컴퓨터 공학을 복수 전공하고 있다고 하였다. 그런데, 우연히 필자가 브런치에 올린 글들을 보다가 본인의 진로가 너무 막막하게 느껴져서 답답한 마음에 메일을 보냈다고 한다.

이 학생이 컴퓨터 공학을 복수 전공한 이유는 이것저것 자료를 분석하고 다루는 것에 흥미를 느끼는 찰나에 ‘빅 데이터’라는 말을 접했기 때문이라고 하였다. 통계적인 지식만으로는 ‘빅 데이터’ 관련 직업을 구하기 어렵기에 프로그래밍을 배우고자 했던 것이다. 또한, 학교 통계학 전공 수업이 유독 이론적인 내용에 치우쳐져 있어서 R이나 파이썬과 같은 프로그래밍 언어는 다뤄보지 않았고, 다른 학교 통계학과 보다 취업률이 낮다는 것을 알게된 이후에 생긴 취업에 대한 두려움도 복수전공을 결정하는 데 한 몫 했다고 한다. 실제로 다수의 인원이 대학원에 진학하거나 공무원 시험을 본다고 한다.

그런데 복수 전공을 시작하고 나서 겪는 어려움도 상당히 많은 걸로 보였다. 다룰줄 아는 프로그래밍 언어도 적고 한 학기동안 겨우 C 언어의 기본적인 부분만을 익힌 정도인데, 주위 학생들은 다들 대형 프로젝트에서 CSS, HTML, JavaScript, JSP, PHP.. 등 본인은 한번도 들어보지 못한것도 다루고 있으니 더욱 답답하다고 하였다. 특히 개발쪽은 프로젝트나 공모전 경험이 있어야 하는데, 이미 대학교 3학년이고 한창 무언가 경험을 하고 있어야 하는 시점인데도 불구하고 무엇부터 배워야할지 모르고 있으니 남들보다 많이 늦은것 같다며 불안해하고 있었다. 그리고 프로그래밍으로 무언가를 만드는 과정은 재미있는 듯 하면서도 본인이 만든 결과물에 대해서는 자신이 없다 보니 소프트웨어 개발을 정말 직업으로 삼을 수 있을지도 잘 모르겠다고 하소연 하였다.

programming-developer-fastcampus

하지만 필자 입장에서 가장 안타까웠던 부분은 이 학생이 전공인 “통계”를 프로그래밍을 배우는데 있어서 전혀 쓸모가 없는 학문으로 생각하는 모습이었다. 필자가 보기에 이 학생은 통계에도 깊은 관심을 가지고 있었고 재미도 느끼고 있었지만, 더 관심을 갖게 된 프로그래밍을 위해 통계에 대한 부분은 배제해버리고 있었다. 이렇게 배제하게 된 이유에는 학생의 본인의 학교에서 통계를 공부해서는 취업이 어렵겠다는 생각도 있었다. 프로그래밍에 흥미를 느끼게 되어 그것을 좇는 것은 참 좋은 일이지만, 그렇다고 지금까지 공부해온 것들을 포기해야 한다니, 참으로 야속한 일이 아닐 수 없다.

하지만 그런 생각은 틀렸다. 특히  “빅 데이터”라고 말하는 영역은 일반적으로 우리가 접하는 소프트웨어를 개발하기 위해서 배우는 프로그래밍 기술과는 조금 떨어져 있으며, 흔히들 말하는 “데이터 분석”의 다른 말이라고 볼 수 있다. 프로그래밍 지식도 필요하긴 하지만 데이터에서 유의미한 의미를 끄집어내기 위해서 “통계” 지식이 반드시 필요하다. 실제로 “데이터 분석”을 하는 사람들을 뽑는 채용공고를 보면 “통계학” 전공이나 “산업공학” 전공들도 채용을 하는 경우가 많다. 하지만, 이 친구는 그러한 사실을 전혀 모르고 있었고, “데이터 분석”과는 무관한 웹 개발 기술(CSS, HTML, JavaScript 등) 을 배워야 하는 것이 아닌지, 취업 시장에서 가장 많이 찾는 Java라는 언어를 배워야 할지를 묻고 있었다. 실은, “데이터 분석” 영역에서는 Java 를 꼭 알 필요가 없는데도 말이다.

여기서 한 가지 짚고 넘어가보자.

“통계학”을 전공한 사람이 “프로그래밍”을 배우는 것이 쉬울까? 아니면 “프로그래밍”을 전공한 사람이 “통계학”을 배우는 것이 더 쉬울까? “프로그래밍”의 깊이에 따라서 달라지겠지만,  “통계”를 더 잘하기 위해서 “프로그래밍”이라는 도구를 사용하는 것이 더 쉽다고 본다. 즉, 전자가 더 쉽다는 것이다. 실제로 필자가 입사하였던 국내 최대 규모의 S사도 비전공자의 비율이 50%를 넘었다. 필자가 신입사원일때 일을 가르쳐 주시던 선배는 “철학과” 출신이었다. 소프트웨어 개발을 하는데 컴퓨터 전공이 아닌 사람들이 많이 필요한 이유는 무엇일까?

소프트웨어는 그 자체만으로는 사람에게 가치를 주기 힘들기 때문이다. 소프트웨어는 새로운 가치를 만들기위한 일종의 도구인 셈이다. “통계”를 예를 들어보자. 혹시 서울의 “올빼미 버스”를 들어보았는가? 몇 해 전에 만들어진 서울의 심야 버스를 일명 “올빼미 버스”라고 한다. 이 버스의 노선을 정할때 어떻게 정할수 있었을까? 효율적인 운영을 위해서는 일반 버스가 끊긴 시간에 사람이 가장 많이 모여있는 곳은 어딘지, 그렇지 않은 곳은 어딘지를 알아야 했다. 이때, 통신사 자료기반의 “통계 자료”가 유용하게 쓰였다. 내용은 간단하다. 심야 스마트폰의 위치 정보를 모아서, 주인의 집 근처에 있지 않은 스마트폰의 개수를 지역별로 통계치를 뽑았던 것이다. 만약, 이 작업을 소프트웨어 없이 한다면 어떻게 할 수 있을까? 머릿속에 떠오르는 방법이 몇 가지 있지만, 생각하기 싫을 정도로 비효율적인 방법들일 것이다. 하지만, 데이터와 소프트웨어의 멋진 조합, 그리고 통계 지식을 기반으로 확률적으로 사람들이 많이 사용할 수 있는 장소 위주로 노선을 만들수가 있었다. 만약, 이 작업을 프로그래밍만 할 수 있는 사람이 했다면, 좋은 결과가 나올수 있었을까?

seoul-midnight-bus

이미지 출처: 환경일보

소프트웨어는 “사람”이 만드는 것이다. 사람이 사람을 이해하여 가치있는 제품을 만들어가는 과정이다. 그렇기 때문에 제대로 된 제품을 만들기 위해서 반드시 필요한 것은 “사람에 대한 이해”이며, 이 역량을 키우기 위해서는 “인문학적 소양”이 꼭 필요하다. “철학과” 출신의 선배가 프로그래밍 자체를 누구보다 잘하지는 못했던 것 같다. 하지만, 누구보다도 상대방의 이야기를 잘 듣고, 상대방의 문제점을 분명하게 파악한 뒤 훌륭한 해결책을 제공하였다. 이해 관계 당사자들이 많은 큰 규모의 프로젝트일수록, 이러한 능력은 빛을 발하게 마련이다. 그리고 이러한 분들이 없으면, 프로젝트가 제대로 진행될 수가 없다.

이런 생각을 기반으로 이 분께 답 메일을 보냈고, 핵심적인 내용만 발췌한다.

——————————————-

(중략)

일단 통계학을 전공하시고 있고, 통계 자체에 대해서도 관심이 많아 보이시네요. 제가 보기에 ‘데이터 분석가’ 쪽으로 방향을 잡으시면 좋겠습니다.

근래에 빅데이터, 데이터 과학자 이런 용어를 자주 접하는데요. 주니어 데이터 과학자 혹은 데이터 분석가는 통계학 지식을 바탕으로 널려 있는 데이터에서 의미있는 통찰을 끌어내는 사람들입니다. 이 분들에게는 컴퓨터 공학에 대한 이해를 바라지 않습니다. 오히려 통계학적 지식을 더 요구 하죠. 그리고 필드에 통계학 지식으로 무장한 데이터 분석가는 그리 많지 않습니다.

하지만, 데이터 분석 및 시각화를 위한 도구 활용 성숙도도 질문자분을 판단하는 큰 지표가 될 수 있습니다. 엑셀은 기본이고요, 여기에 R 과 파이썬이 붙으면 천하무적입니다.

여기에 데이터 분석 역량을 증명할 수 있는 자료가 있으면 금상첨화죠. 무슨 대회 경력이면 좋겠지만, 스스로 해본 데이터 분석 결과를 블로그에 올려서 대중들에게 공개하는 것도 방법이 될 수 있습니다

데이터 분석을 통해 얻은 대표적인 성과로 “올빼미 버스” 사례가 있습니다. 아래 링크 보시면 감을 잡으실수 있을듯해요.

https://zeronova.kr/2013/08/07/seoul-bus-route-optimization/amp/

작년에 보니 울산과기대에서 데이터 분석 경연대회를 했네요. 아래 링크 참고하세요.

http://sme.unist.ac.kr/bigdata-idea-factorybigtory-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EA%B2%BD%EC%97%B0%EB%8C%80%ED%9A%8C/

그리고 개인이 데이터 분석 결과를 올린것도 찾아보세요. 링크 하니 공유드립니다. 글 쓰신 분도 ‘주니어 데이터 분석가’ 이시네요.

https://brunch.co.kr/@cloud09/129

R과 파이썬 중에서도 고민이 되실텐데요. 보통 데이터 분석을 하여 결과 공유정도 하면 R로도 충분하지만,  분석 기능을 탑재한 소프트웨어를 만들거면 파이썬이 더 좋구요. 클라우드를 활용한 데이터 분석은 대부분 파이썬으로 사용이 가능하기 때문에 파이썬이 활용처는 더 넓어 보입니다. 하지만, 둘 다 훌륭한 도구입니다. R은 태생 자체가 데이터 분석을 위한 녀석이고, 파이썬은 범용적입니다.

그리고 학벌에 대해서는 조언드리기 쉽지 않아 보이는데요. 취업을 위한 석사보다는 본인이 정말 연구해보고 싶은 분야가 있으면 석사로 진학하시면 좋겠습니다. 석/박사라고해서 취업이 잘 되는 시절은 점점 사라지고 있습니다. 실력이 중요하죠.

조금 더 나가보면 패턴인식이나 인공지능 쪽에 관심을 가지시면 좋겠습니다. 컴퓨터 공학 전공에 있을거에요. 특히 머신러닝/딥러닝이 근래에 화두에요. 구글 텐서플로우 같은 도구를 사용할 줄 알면 아마도 굉징히 매력적일겁니다.

그리고, 이런 공부를 혼자서 하면 너무 외롭고 힘듭니다. 국내 커뮤니티 활동 해보세요. 대부분 페이스북 그룹에 있어요.

(중략)

——————————————-

위 메일 내용을 정리하자면 다음과 같다.

  1. ‘통계학 전공 출신 데이터 분석가’에 대한 수요가 많다.
  2. 프로그래밍 언어는 R과 파이썬에 초점을 맞춰보자. (C, Java, HTML, JavaScript, CSS, 등의 웹 어플리케이션 개발 언어들은 지금 신경쓸 필요가 없다.)
  3. 데이터 분석을 직접 해보고, 결과를 공유해보자.
  4. 더 나아가 패턴인식, 인공지능에도 관심을 가져보자. 특히 머신러닝/딥러닝이 대세다. (구글 텐서플로우가 끝판왕, 컴공 복수전공을 이쪽으로 활용하자.)
  5. 국내 커뮤니티에 가입하여 관심사가 같은 사람들과 함께 공부하자.

본 글이 다소 “통계학”에 치우쳐 있지만, 실은 대부분의 비전공자들의 전공과 바꿔도 말이 되는 글이다. 가령, “마케팅”, “경영학”, “생물학”, “산업공학”, “기계공학” 등등. 데이터를 분석하여 새로운 가치를 만들고자 하는 곳에서는 다 적용된다. 필자의 직장에서도 전기를 만드는 발전소의 주기기 데이터를 수집하여, 사고를 미연에 방지하려는 활동들을 하고 있다. 여러분이 웹 서핑을 하다보면 본인이 의도하지 않았는데도 불구하고 매력적인 배너 광고를 보는 경우도 많다. 이는 이미 여러분의 성별이나 연령대, 관심사를 해당 웹 사이트에서 알고 흥미로운 광고를 선별하여 추천하고 있기 때문이다. 디지털 마케팅이라는 영역이다.

물론, “프로그래밍”을 정말 잘해야 되는 일도 많다. 여러분이 지금 이 글을 읽고 있는 화면을 개발하는 것은 얼핏 생각하기에 쉬운 일이라고 생각할 수 있지만, 전혀 그렇지 않다. 수많은 사람들이 접속하는 이 화면을 버퍼링 없이 화면을 띄우려면, 굉장히 많은 기술들이 필요하다. 특히, 웹 브라우저를 만들거나, 웹 브라우저안에 화면을 그리기 위한 엔진을 만들거나, 대량을 접속하는 사용자들에게 동일한 응답속도로 화면을 보여주는 기술들은 웬만한 프로그래밍 능력을 가지고 있지 않은 이상 구현하기 힘들다. 다시 말해서, “프로그래밍”이 사용되는 영역에 따라 수준이 천차만별이라는 것이다. 그리고 비전공자 입장에서 무리하게 수준 높은 프로그래밍을 꼭 할 필요는 없다는 것이다.

fastcampus-thumbnail-developer-programming

오해가 있을수 있겠다. 필자는 “비전공자들은 수준 깊은 프로그래밍을 하지 못한다.”라고 말하는 것이 아니다. 오히려 주위를 둘러보면, 비전공자 출신이지만 엄청난 내공을 가진 분들을 쉽게 만날 수 있다. 그리고 대부분 본인은 비전공자라 남들보다 더 노력해야 한다면서 겸손하게 끊임없이 새로운 것에 도전하고 본인이 얻은 지식을 나눠주시는 분들도 많다. 무림의 고수들은 전공이나 학벌과는 아무 상관이 없다. 단지 본인의 노력과 열정, 그리고 실력이 중요할 뿐이다.

만약, 프로그래밍과 관련된 일을 해보고 싶은데 비전공자라 망설여진다면, 조금 더 시각을 넓혀서 주위를 둘러보면 좋겠다. 굉장히 많은 곳에서 프로그래밍 기술을 접목하여 새로운 비즈니스를 하는 곳을 쉽게 찾아 볼 수 있다. 특히, 근래에 생태계가 견고해지고 있는 스타트업의 세계에 가보면, 상상하지 못하는 것들도 많다. 요리, 관광, 운동, 배달, 세차, 교통 수단 등등.. 아마 대부분의 비전공 분야에 IT 기술이 융합되어 멋진 서비스를 제공하고 있을 확률이 높다. 이런 일들은 프로그래밍 기술도 분명 필요하지만, 비즈니스 도메인 영역의 지식이 오히려 훨씬 중요하다는 것을 명심하였으면 좋겠다.

프로그래밍에 관심이 있고 관련 직업을 찾고 싶다면, 일단 프로그래밍을 배워보자. 프로그래밍을 배울 수 있는 방법은 많다. 하지만, 프로그래밍을 공부해 감에 있어 본인이 가지고 있는 도메인 지식을 최대한 활용하려 해보자. 그저 프로그래밍만을 배우는 것보다, 도메인 지식을 바탕으로 자신에게 맞는 개발을 배워나갈 ‘방향성’을 찾는 것이 가장 중요한 것이다.


패스트캠퍼스에서 내게 맞는 프로그래밍 강의 둘러보기

*본 글은 패스트캠퍼스의 객원 필진으로 참여하여 작성한 글입니다.

Facebook Comments